From 7f5ab8c0a40ebc7f10c2b92f05a475f8c6902948 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Fri, 17 Jun 2016 00:19:44 +0200 Subject: [PATCH 1/2] Composer: add shaarli/netscape-bookmark-parser Relates to https://github.com/shaarli/Shaarli/issues/607 Relates to https://github.com/kafene/netscape-bookmark-parser/issues/6 The Shaarli-forked version is checked out as a VCS repository. Signed-off-by: VirtualTam --- composer.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index e419dc11..dc1b509e 100644 --- a/composer.json +++ b/composer.json @@ -9,8 +9,15 @@ "wiki": "https://github.com/shaarli/Shaarli/wiki" }, "keywords": ["bookmark", "link", "share", "web"], + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/shaarli/netscape-bookmark-parser" + } + ], "require": { - "php": ">=5.3.4" + "php": ">=5.3.4", + "kafene/netscape-bookmark-parser": "dev-shaarli-stable" }, "require-dev": { "phpmd/phpmd" : "@stable", From 559315ba0a89e306bc46d0a540f1536193860580 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Sat, 23 Jul 2016 19:26:05 +0200 Subject: [PATCH 2/2] 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 --- .gitignore | 16 ++++++++++------ Makefile | 30 +++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 75cd3a6b..095aaded 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Makefile b/Makefile index 52d20090..22be0d96 100644 --- a/Makefile +++ b/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 ##