]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - Makefile
Update Makefile
[github/wallabag/wallabag.git] / Makefile
index 0abd5c5d505971c030c356b5cccb270961e793c9..a4a06e3fa42c8a4af5484433b9234d849853114a 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -5,43 +5,57 @@ SSH_USER=framasoft_bag
 SSH_HOST=78.46.248.87
 SSH_PATH=/var/www/framabag.org/web
 
-help:
-       @echo 'Makefile for wallabag                                                      '
-       @echo '                                                                           '
-       @echo 'Usage:                                                                     '
-       @echo '   make install                install latest stable wallabag version      '
-       @echo '   make update                 update to the latest stable wallabag version'
-       @echo '   make build                  run grunt                                   '
-       @echo '   make test                   execute wallabag testsuite                  '
-       @echo '   make release                produce a wallabag release                  '
-       @echo '   make travis                 make things for travis                      '
-       @echo '                                                                           '
-
-install:
+ENV=prod
+
+help: ## Display this help menu
+       @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+
+clean: ## Clear the application cache
+       @rm -rf var/cache/*
+
+install: ## Install wallabag with the latest version
+       TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
+       @git checkout $(TAG)
+       @SYMFONY_ENV=$(ENV) composer install --no-dev -o --prefer-dist
+       @php bin/console wallabag:install --env=$(ENV)
+
+update: ## Update the wallabag installation to the latest version
+       @rm -rf var/cache/*
+       @git fetch origin
+       @git fetch --tags
        TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
        @git checkout $(TAG)
-       SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
-       php bin/console wallabag:install --env=prod
+       @SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
+       @php bin/console cache:clear --env=prod
 
-update:
+run: ## Run the wallabag server
+       php bin/console server:run --env=$(ENV)
 
-build:
-       grunt
+build: ## Run grunt
+       @grunt
 
-test:
-       ant prepare && phpunit -v
+test: ## Launch wallabag testsuite
+       @ant prepare && phpunit -v
 
-release:
+release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
+ifndef VERSION
+       $(error VERSION is not set)
+endif
        version=$(VERSION)
-       rm -rf $(TMP_FOLDER)/$(RELEASE_FOLDER)
-       mkdir $(TMP_FOLDER)/$(RELEASE_FOLDER)
+       @rm -rf $(TMP_FOLDER)/$(RELEASE_FOLDER)
+       @mkdir $(TMP_FOLDER)/$(RELEASE_FOLDER)
        @git clone git@github.com:wallabag/wallabag.git -b $(VERSION) $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION)
-       cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && SYMFONY_ENV=prod composer up -n --no-dev
-       cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && php bin/console wallabag:install --env=prod
-       cd $(TMP_FOLDER)/$(RELEASE_FOLDER) && tar czf wallabag-$(VERSION).tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $(VERSION)
+       @cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && SYMFONY_ENV=$(ENV) composer up -n --no-dev
+       @cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && php bin/console wallabag:install --env=$(ENV)
+       @cd $(TMP_FOLDER)/$(RELEASE_FOLDER) && tar czf wallabag-$(VERSION).tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $(VERSION)
        @echo "MD5 checksum of the package for wallabag $(VERSION)"
        @md5 $(TMP_FOLDER)/$(RELEASE_FOLDER)/wallabag-$(VERSION).tar.gz
-       scp $(TMP_FOLDER)/$(RELEASE_FOLDER)/wallabag-$(VERSION).tar.gz $(SSH_USER)@$(SSH_HOST):$(SSH_PATH)
-       rm -rf $(TMP_FOLDER)/$(RELEASE_FOLDER)
+       @scp $(TMP_FOLDER)/$(RELEASE_FOLDER)/wallabag-$(VERSION).tar.gz $(SSH_USER)@$(SSH_HOST):$(SSH_PATH)
+       @rm -rf $(TMP_FOLDER)/$(RELEASE_FOLDER)
+
+travis: ## Make some stuff for Travis-CI
+
+deploy: ## Deploy wallabag
+       @bundle exec cap staging deploy
 
-travis:
+.PHONY: help clean install update build test release travis deploy