diff --git a/setup/gen-files.py b/setup/gen-files.py new file mode 100644 index 0000000..8442d5c --- /dev/null +++ b/setup/gen-files.py @@ -0,0 +1,26 @@ +# Generate per-file [Files] entries for node_modules into setup-offline.iss +import io, os + +base = r'C:\Users\VanuSystems-Mu\AppData\Roaming\reasonix\global-workspace\dsh-app-staging\setup-offline' +nm_src = os.path.join(base, 'runtime', 'dsh', 'node_modules') +iss = os.path.join(base, 'setup-offline.iss') + +lines = [] +count = 0 +for r, _, fs in os.walk(nm_src): + for f in fs: + full = os.path.join(r, f) + rel = os.path.relpath(full, nm_src).replace('\\', '/') + destdir = '{app}/runtime/dsh/node_modules/' + os.path.dirname(rel).replace('\\', '/') + if destdir.endswith('/'): + destdir = destdir[:-1] + lines.append('Source: "runtime/dsh/node_modules/' + rel + '"; DestDir: "' + destdir + '"; Flags: ignoreversion nocompression') + count += 1 +print('generated', count, 'entries') + +s = io.open(iss, encoding='utf-8').read() +old = 'Source: "runtime/dsh/node_modules/*.*"; DestDir: "{app}/runtime/dsh/node_modules"; Flags: ignoreversion recursesubdirs createallsubdirs nocompression' +assert old in s, 'old line not found' +s = s.replace(old, '\n'.join(lines)) +io.open(iss, 'w', encoding='utf-8').write(s) +print('iss updated, lines:', len(s.splitlines()))