X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=Makefile;h=22be0d96c36875614958ccd481f1f00bc20bd8fa;hb=7fde6de1212323418401c15efba06026c704ca87;hp=75c54f2875d012539e1ff3be563cabacdbf77041;hpb=893338f0d407a0989454d5e3c0e43c97f7eface5;p=github%2Fshaarli%2FShaarli.git diff --git a/Makefile b/Makefile index 75c54f28..22be0d96 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -# Shaarli, the personal, minimalist, super-fast, no-database delicious clone. -# Makefile for PHP code analysis & testing +# The personal, minimalist, super-fast, database free, bookmarking service. +# Makefile for PHP code analysis & testing, documentation and release generation # Prerequisites: # - install Composer, either: @@ -127,6 +127,34 @@ test: @mkdir -p sandbox @$(BIN)/phpunit tests +## +# Custom release archive generation +# +# For each tagged revision, GitHub provides tar and zip archives that correspond +# to the output of git-archive +# +# These targets produce similar archives, featuring 3rd-party dependencies +# to ease deployment on shared hosting. +## +ARCHIVE_VERSION := shaarli-$$(git describe)-full + +release_archive: release_tar release_zip + +### download 3rd-party PHP libraries +composer_dependencies: clean + composer update --no-dev + find vendor/ -name ".git" -type d -exec rm -rf {} + + +### generate a release tarball and include 3rd-party dependencies +release_tar: composer_dependencies + git archive -o $(ARCHIVE_VERSION).tar HEAD + tar rvf $(ARCHIVE_VERSION).tar vendor/ + +### generate a release zip and include 3rd-party dependencies +release_zip: composer_dependencies + git archive -o $(ARCHIVE_VERSION).zip -9 HEAD + zip -r $(ARCHIVE_VERSION).zip vendor/ + ## # Targets for repository and documentation maintenance ##