diff options
| author | davy wybiral <davy.wybiral@gmail.com> | 2019-08-08 07:08:37 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-08 07:08:37 -0500 |
| commit | 6ff7f25e87cab2fc88c902cc39744ac6587e36a5 (patch) | |
| tree | 745bdd21954d601385873f6fed0877f1d3af30a9 /build/build.py | |
| parent | 6b09ccd9d885a3230a197f7d42fa1fcc760a25ef (diff) | |
add build script (#21)
Diffstat (limited to 'build/build.py')
| -rw-r--r-- | build/build.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/build/build.py b/build/build.py new file mode 100644 index 0000000..da19420 --- /dev/null +++ b/build/build.py @@ -0,0 +1,54 @@ +# Build Go project for different platforms and create zip archive of project +# directory structure. + +import os +import zipfile + +def build(pkg, bin, env): + src = 'github.com/wybiral/tube' + x = os.system('{env} go build -o bin/{bin} {src}'.format( + env=env, + bin=bin, + src=src, + )) + if x != 0: + print('Error building ' + pkg) + return + z = zipfile.ZipFile('bin/' + pkg, mode='w') + z.write('bin/' + bin, arcname=bin) + z.write('../config.json', arcname='config.json') + z.write('../README.md', 'README.md') + z.write('../videos/README.md', 'videos/README.md') + for filename in os.listdir('../static'): + z.write('../static/' + filename, 'static/' + filename) + for filename in os.listdir('../templates'): + z.write('../templates/' + filename, 'templates/' + filename) + # cleanup executable + os.remove('bin/' + bin) + print('Built ' + pkg) + +build( + pkg='tube_linux.zip', + bin='tube', + env='GOOS=linux GOARCH=amd64', +) + +build( + pkg='tube_windows.zip', + bin='tube.exe', + env='GOOS=windows GOARCH=amd64', +) + +build( + pkg='tube_osx.zip', + bin='tube', + env='GOOS=darwin GOARCH=amd64', +) + +build( + pkg='tube_arm6.zip', + bin='tube', + env='GOOS=linux GOARCH=arm GOARM=6', +) + +print('Done.')
\ No newline at end of file |
