27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
# 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()))
|