[OE-core] [PATCH v3 09/17] devtool/standard.py: npm: exclude the node_modules directory

Jean-Marie LEMETAYER jean-marie.lemetayer at savoirfairelinux.com
Wed Nov 20 09:33:50 UTC 2019


If 'devtool add' was executed without the '--no-git' option a git
repository have been initialized in the source directory in order to
check if the sources stay unchanged after the 'devtool build' command.
The 'devtool finish' command will fail if any modification is found.

As the node_modules directory is added to the source tree in order to
manage the dependency license, it needs to be explicitly excluded from
this git repository.

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer at savoirfairelinux.com>
---
 scripts/lib/devtool/standard.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 2604b79be3..31f0c44b20 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -262,7 +262,14 @@ def add(args, config, basepath, workspace):
                 f.write('}\n')
 
             if bb.data.inherits_class('npm', rd):
+                f.write('exclude_git() {\n')
+                f.write('    local exclude="${S}/.git/info/exclude"\n')
+                f.write('    if [ -f "${exclude}" ] && ! grep -q "${1}" "${exclude}" ; then\n')
+                f.write('        echo "${1}" >> "${exclude}"\n')
+                f.write('    fi\n')
+                f.write('}\n')
                 f.write('do_compile_append() {\n')
+                f.write('    exclude_git "/node_modules"\n')
                 f.write('    rm -rf ${B}/lib/node_modules/*/.git\n')
                 f.write('    rm -rf ${B}/lib/node_modules/@*/*/.git\n')
                 f.write('    rm -f ${B}/lib/node_modules/*/singletask.lock\n')
-- 
2.20.1



More information about the Openembedded-core mailing list