Makefile: generate release archives including 3rd-party libraries
Relates to #607 Archive creation process (tar, zip): - let Composer resolve functional (no-dev) dependencies - call git-archive to generate a release archive - include 3rd-party dependencies to the generated archive Signed-off-by: VirtualTam <virtualtam@flibidi.net>
This commit is contained in:
parent
7f5ab8c0a4
commit
559315ba0a
2 changed files with 39 additions and 7 deletions
16
.gitignore
vendored
16
.gitignore
vendored
|
@ -1,4 +1,4 @@
|
||||||
# Ignore data/, tmp/, cache/ and pagecache/
|
# Shaarli runtime resources
|
||||||
data
|
data
|
||||||
tmp
|
tmp
|
||||||
cache
|
cache
|
||||||
|
@ -9,18 +9,22 @@ pagecache
|
||||||
.buildpath
|
.buildpath
|
||||||
.project
|
.project
|
||||||
|
|
||||||
# Ignore raintpl generated pages
|
# Raintpl generated pages
|
||||||
*.rtpl.php
|
*.rtpl.php
|
||||||
|
|
||||||
# Ignore test dependencies
|
# 3rd-party dependencies
|
||||||
composer.lock
|
composer.lock
|
||||||
/vendor/
|
vendor/
|
||||||
|
|
||||||
# Ignore development and test resources
|
# Release archives
|
||||||
|
*.tar
|
||||||
|
*.zip
|
||||||
|
|
||||||
|
# Development and test resources
|
||||||
coverage
|
coverage
|
||||||
doxygen
|
doxygen
|
||||||
sandbox
|
sandbox
|
||||||
phpmd.html
|
phpmd.html
|
||||||
|
|
||||||
# Ignore user plugin configuration
|
# User plugin configuration
|
||||||
plugins/*/config.php
|
plugins/*/config.php
|
||||||
|
|
30
Makefile
30
Makefile
|
@ -1,5 +1,5 @@
|
||||||
# The personal, minimalist, super-fast, database free, bookmarking service.
|
# The personal, minimalist, super-fast, database free, bookmarking service.
|
||||||
# Makefile for PHP code analysis & testing
|
# Makefile for PHP code analysis & testing, documentation and release generation
|
||||||
|
|
||||||
# Prerequisites:
|
# Prerequisites:
|
||||||
# - install Composer, either:
|
# - install Composer, either:
|
||||||
|
@ -127,6 +127,34 @@ test:
|
||||||
@mkdir -p sandbox
|
@mkdir -p sandbox
|
||||||
@$(BIN)/phpunit tests
|
@$(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
|
# Targets for repository and documentation maintenance
|
||||||
##
|
##
|
||||||
|
|
Loading…
Reference in a new issue