Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reference netscape-bookmark-parser & allow generating custom release archives #608

Merged
merged 2 commits into from
Jul 26, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Ignore data/, tmp/, cache/ and pagecache/
# Shaarli runtime resources
data
tmp
cache
Expand All @@ -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 changes: 29 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -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:
Expand Down Expand Up @@ -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
##
Expand Down
9 changes: 8 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we reference the fork?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By adding our fork as a VCS repository (just above), kafene/netscape-bookmark-parser resolves to our GitHub fork; it's not the more elegant solution, but is suitable since the upstream version has no recent tag

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I didn't know that. Cool feature.

},
"require-dev": {
"phpmd/phpmd" : "@stable",
Expand Down