From 2ed2bc9f2ef986b150159c2245c908adfd81f606 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Tue, 22 Oct 2019 13:17:10 +0200 Subject: first add of Makefile --- .gitignore | 1 + Makefile | 44 ++++++++++++++++++++++++++++++++++++++++++++ webpack.config.js | 2 +- 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index 0eb7349..aab868c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ database/* fonts/* media/* render/ +dist/ vendor/* node_modules/* config.json diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8978954 --- /dev/null +++ b/Makefile @@ -0,0 +1,44 @@ +GIT_VERSION := $(shell git --no-pager describe --always --tags) + +js_sources := $(wildcard src/*.js) +js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js) +zip_release := $(GIT_VERSION:%=dist/wcms-%.zip) + +release: clean $(zip_release) + +dist/wcms-%.zip: php_dependencies $(js_bundles) + @echo "Building Zip release..." + mkdir -p $(dir $@) + zip -r $@ \ + app \ + assets \ + vendor \ + .htaccess \ + index.php \ + LICENSE.md \ + README.md \ + -x "*test*" \ + -x "*docs*" + +assets/js/%.bundle.js: src/%.js js_dependencies + @echo "Building JS Bundles..." + mkdir -p $(dir $@) + npm run build + +php_dependencies: + @echo "Installing PHP dependencies..." + composer install --no-dev --prefer-dist + +php_clean: + @echo "Cleaning PHP..." + rm -rf vendor + +js_dependencies: + @echo "Installing JS dependencies..." + npm install + +js_clean: + @echo "Cleaning JS..." + rm -rf node_modules + +clean: php_clean js_clean diff --git a/webpack.config.js b/webpack.config.js index e18b201..c952669 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -27,4 +27,4 @@ module.exports = (env) => { ], }, } -}; \ No newline at end of file +}; -- cgit v1.2.3 From 6066bc7dec3ff45be83c646be31b7eff9f7a54eb Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Tue, 22 Oct 2019 16:48:55 +0200 Subject: finish Makefile and update README --- Makefile | 14 +++++++++----- README.md | 4 ++++ webpack.config.js | 1 + 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 8978954..c0840b1 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,15 @@ +PATH := vendor/bin:node_modules/.bin:$(PATH) GIT_VERSION := $(shell git --no-pager describe --always --tags) js_sources := $(wildcard src/*.js) -js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js) -zip_release := $(GIT_VERSION:%=dist/wcms-%.zip) +js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js) +zip_release := $(GIT_VERSION:%=dist/w_cms_%.zip) -release: clean $(zip_release) +build: clean $(zip_release) -dist/wcms-%.zip: php_dependencies $(js_bundles) +install: php_dependencies $(js_bundles) + +dist/w_cms_%.zip: install @echo "Building Zip release..." mkdir -p $(dir $@) zip -r $@ \ @@ -23,7 +26,7 @@ dist/wcms-%.zip: php_dependencies $(js_bundles) assets/js/%.bundle.js: src/%.js js_dependencies @echo "Building JS Bundles..." mkdir -p $(dir $@) - npm run build + webpack --env prod php_dependencies: @echo "Installing PHP dependencies..." @@ -42,3 +45,4 @@ js_clean: rm -rf node_modules clean: php_clean js_clean + rm -rf dist diff --git a/README.md b/README.md index ff1315f..bc22fa1 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,10 @@ While developing the JS sources it is useful to run webpack in watch mode so tha npm run watch +## Release zip + +To build the release zip, make sure you are on `master` and executed `git pull` then run `make`. This will create a zip file in `dist/`. + To Do ===== diff --git a/webpack.config.js b/webpack.config.js index c952669..734b3cd 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,6 +5,7 @@ module.exports = (env) => { // Environment dependent mode: env == 'dev' ? 'development' : 'production', devtool: env == 'dev' ? 'inline-source-map' : 'none', + stats: env == 'dev' ? {} : { warnings: false }, // Constant entry: { -- cgit v1.2.3 From 01cb82b514ef9dcb1cb9e63492ebab621961babd Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Wed, 23 Oct 2019 00:24:43 +0200 Subject: use GNU Standard Makefile Targets --- Makefile | 9 ++++++--- README.md | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index c0840b1..fd30261 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,11 @@ js_sources := $(wildcard src/*.js) js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js) zip_release := $(GIT_VERSION:%=dist/w_cms_%.zip) -build: clean $(zip_release) +all: php_dependencies $(js_bundles) -install: php_dependencies $(js_bundles) +dist: distclean $(zip_release) -dist/w_cms_%.zip: install +dist/w_cms_%.zip: all @echo "Building Zip release..." mkdir -p $(dir $@) zip -r $@ \ @@ -43,6 +43,9 @@ js_dependencies: js_clean: @echo "Cleaning JS..." rm -rf node_modules + rm -rf $(js_bundles) clean: php_clean js_clean + +distclean: rm -rf dist diff --git a/README.md b/README.md index bc22fa1..37a74e4 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ While developing the JS sources it is useful to run webpack in watch mode so tha ## Release zip -To build the release zip, make sure you are on `master` and executed `git pull` then run `make`. This will create a zip file in `dist/`. +To build the release zip, make sure you are on `master` and executed `git pull` then run `make dist`. This will create a zip file in `dist/`. To Do -- cgit v1.2.3 From aeb582d8b66d256a4c9c989589daab79b535e484 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Wed, 23 Oct 2019 01:04:30 +0200 Subject: better dist zip target using git archive the removing useless files and adding generated files --- .gitignore | 2 +- Makefile | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index aab868c..7bd5838 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ media/* render/ dist/ vendor/* -node_modules/* +node_modules/ config.json error_log !README.md diff --git a/Makefile b/Makefile index fd30261..bef37ef 100644 --- a/Makefile +++ b/Makefile @@ -12,14 +12,17 @@ dist: distclean $(zip_release) dist/w_cms_%.zip: all @echo "Building Zip release..." mkdir -p $(dir $@) + git archive --format=zip HEAD -o $@ + zip -d $@ \ + "src*" \ + .gitignore \ + composer.lock \ + Makefile \ + "package*" \ + webpack.config.js zip -r $@ \ - app \ - assets \ + assets/js \ vendor \ - .htaccess \ - index.php \ - LICENSE.md \ - README.md \ -x "*test*" \ -x "*docs*" -- cgit v1.2.3