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
|
||||
tmp
|
||||
cache
|
||||
|
@ -9,18 +9,22 @@ pagecache
|
|||
.buildpath
|
||||
.project
|
||||
|
||||
# Ignore raintpl generated pages
|
||||
# Raintpl generated pages
|
||||
*.rtpl.php
|
||||
|
||||
# Ignore test dependencies
|
||||
# 3rd-party dependencies
|
||||
composer.lock
|
||||
/vendor/
|
||||
vendor/
|
||||
|
||||
# Ignore development and test resources
|
||||
# Release archives
|
||||
*.tar
|
||||
*.zip
|
||||
|
||||
# Development and test resources
|
||||
coverage
|
||||
doxygen
|
||||
sandbox
|
||||
phpmd.html
|
||||
|
||||
# Ignore user plugin configuration
|
||||
# User plugin configuration
|
||||
plugins/*/config.php
|
||||
|
|
30
Makefile
30
Makefile
|
@ -1,5 +1,5 @@
|
|||
# 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:
|
||||
# - 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
|
||||
##
|
||||
|
|
Loading…
Reference in a new issue