From 90a5fc20be22b4278a01bc58acba0cb732da0140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Bergstr=C3=B6m?= Date: Mon, 14 Mar 2016 10:08:11 +1100 Subject: [PATCH] build: remove lint/dotfiles from release tarball This removes the ability to run linting from the source tarball, rationale being that developers should use a git clone instead. Also, fix the path of removing artifacts from the openssl dependency since it now lives in `deps/openssl/openssl/`. Tarballs shrink with ~10%. PR-URL: https://github.com/nodejs/node/pull/5695 Fixes: https://github.com/nodejs/node/issues/5618 Reviewed-By: Rod Vagg Reviewed-By: thefourtheye Reviewed-By: James Snell --- Makefile | 26 ++++++++++++++++++++++---- vcbuild.bat | 6 ++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 5e9d0835992f14..c417f1ae886dda 100644 --- a/Makefile +++ b/Makefile @@ -211,6 +211,8 @@ test-timers: test-timers-clean: $(MAKE) --directory=tools clean + +ifneq ("","$(wildcard deps/v8/tools/run-tests.py)") test-v8: # note: performs full test unless QUICKCHECK is specified deps/v8/tools/run-tests.py --arch=$(V8_ARCH) \ @@ -234,6 +236,12 @@ test-v8-benchmarks: test-v8-all: test-v8 test-v8-intl test-v8-benchmarks # runs all v8 tests +else +test-v8 test-v8-intl test-v8-benchmarks test-v8-all: + @echo "Testing v8 is not available through the source tarball." + @echo "Use the git repo instead:" \ + "$ git clone https://github.com/nodejs/node.git" +endif apidoc_sources = $(wildcard doc/api/*.markdown) apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \ @@ -427,12 +435,15 @@ $(TARBALL): release-only $(NODE_EXE) doc mkdir -p $(TARNAME)/doc/api cp doc/node.1 $(TARNAME)/doc/node.1 cp -r out/doc/api/* $(TARNAME)/doc/api/ - rm -rf $(TARNAME)/deps/v8/{test,samples,tools/profviz} # too big + rm -rf $(TARNAME)/deps/v8/{test,samples,tools/profviz,tools/run-tests.py} rm -rf $(TARNAME)/doc/images # too big rm -rf $(TARNAME)/deps/uv/{docs,samples,test} - rm -rf $(TARNAME)/deps/openssl/{doc,demos,test} + rm -rf $(TARNAME)/deps/openssl/openssl/{doc,demos,test} rm -rf $(TARNAME)/deps/zlib/contrib # too big, unused - rm -rf $(TARNAME)/.github # github issue templates + rm -rf $(TARNAME)/.{editorconfig,git*,mailmap} + rm -rf $(TARNAME)/tools/{eslint,eslint-rules,osx-pkg.pmdoc,pkgsrc} + rm -rf $(TARNAME)/tools/{osx-*,license-builder.sh,cpplint.py} + find $(TARNAME)/ -name ".eslint*" -maxdepth 2 | xargs rm find $(TARNAME)/ -type l | xargs rm # annoying on windows tar -cf $(TARNAME).tar $(TARNAME) rm -rf $(TARNAME) @@ -583,7 +594,7 @@ bench-idle: jslint: $(NODE) tools/eslint/bin/eslint.js benchmark lib src test tools/doc \ - tools/eslint-rules --rulesdir tools/eslint-rules + tools/eslint-rules --rulesdir tools/eslint-rules CPPLINT_EXCLUDE ?= CPPLINT_EXCLUDE += src/node_lttng.cc @@ -610,7 +621,14 @@ CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard \ cpplint: @$(PYTHON) tools/cpplint.py $(CPPLINT_FILES) +ifneq ("","$(wildcard tools/eslint/bin/eslint.js)") lint: jslint cpplint +else +lint: + @echo "Linting is not available through the source tarball." + @echo "Use the git repo instead:" \ + "$ git clone https://github.com/nodejs/node.git" +endif .PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean \ check uninstall install install-includes install-bin all staticlib \ diff --git a/vcbuild.bat b/vcbuild.bat index d5612979e3b28e..7c4c7bd7417c88 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -261,10 +261,16 @@ goto jslint :jslint if not defined jslint goto exit +if not exist tools\eslint\bin\eslint.js goto no-lint echo running jslint %config%\node tools\eslint\bin\eslint.js benchmark lib src test tools\doc tools\eslint-rules --rulesdir tools\eslint-rules goto exit +:no-lint +echo Linting is not available through the source tarball. +echo Use the git repo instead: $ git clone https://github.com/nodejs/node.git +goto exit + :create-msvs-files-failed echo Failed to create vc project files. goto exit