Merge pull request #76 from efiop/master

build: improve windows installer
This commit is contained in:
Ruslan Kuprieiev
2017-05-17 06:45:00 +03:00
committed by GitHub
3 changed files with 47 additions and 15 deletions
+32 -14
View File
@@ -1,27 +1,45 @@
@echo OFF
echo ====== Starting to build dvc installer for Windows... ======
rmdir /Q /S dist
rmdir /Q /S WinPython
del /Q /S "dvc-*.exe"
if not exist WinPython-64bit-3.6.1.0Zero.exe (echo Error: Couldn't find WinPython installer. Please go to winpython.github.io, download WinPython-64bit-3.6.1.0Zero.exe and place it in project's root directory && goto:eof)
if not exist WinPython-64bit-3.6.1.0Zero.exe (echo Error: Couldn't find WinPython installer. Please go to winpython.github.io, download WinPython-64bit-3.6.1.0Zero.exe and place it in project's root directory && goto:error)
if not exist "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" (echo Error: Couldn't find Inno Setup compiler. Please go to jrsoftware.org/isinfo.php and install Inno Setup 5 && goto:eof)
if not exist "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" (echo Error: Couldn't find Inno Setup compiler. Please go to jrsoftware.org/isinfo.php and install Inno Setup 5 && goto:error)
call .\WinPython-64bit-3.6.1.0Zero.exe /S /D=%cd%\WinPython
echo ====== Installing WinPython... ======
call .\WinPython-64bit-3.6.1.0Zero.exe /S /D=%cd%\WinPython || goto :error
copy innosetup\addSymLinkPermissions.ps1 WinPython\
mkdir Winpython\bin
copy innosetup\dvc.bat WinPython\bin
echo ====== Copying additional files... ======
copy innosetup\addSymLinkPermissions.ps1 WinPython\ || goto :error
mkdir Winpython\bin || goto :error
copy innosetup\dvc.bat WinPython\bin || goto :error
cd WinPython
call scripts\python -m pip install -r ..\requirements.txt
cd ..
echo ====== Installing requirements... ======
cd WinPython || goto :error
call scripts\python -m pip install -r ..\requirements.txt || goto :error
cd .. || goto :error
call WinPython\scripts\python setup.py sdist
echo ====== Building dvc sdist... ======
call WinPython\scripts\python setup.py sdist || goto :error
cd WinPython
call scripts\python -m pip install ..\dist\dvc-0.8.2.tar.gz
cd ..
echo ====== Installing dvc sdist into WinPython... ======
cd WinPython || goto :error
for %%s in ("..\dist\dvc-*.tar.gz") do call scripts\python -m pip install "%%s" || goto :error
cd .. || goto :error
call "C:\Program Files (x86)\Inno Setup 5\iscc" innosetup\setup.iss
echo ====== Building dvc installer... ======
cd innosetup || goto :error
call ..\WinPython\scripts\python config_gen.py || goto :error
cd .. || goto :error
call "C:\Program Files (x86)\Inno Setup 5\iscc" innosetup\setup.iss || goto :error
echo ====== DONE ======
goto :EOF
:error
echo ====== FAIL ======
exit /b 1
+14
View File
@@ -0,0 +1,14 @@
# This script generates config.ini for setup.iss script
from dvc.main import VERSION
try:
import configparser as ConfigParser
except ImportError:
import ConfigParser
config = ConfigParser.ConfigParser()
config.add_section('Version')
config.set('Version', 'Version', VERSION)
with open('config.ini', 'w') as f:
config.write(f)
+1 -1
View File
@@ -1,6 +1,6 @@
#define MyAppName "Data Version Control"
; FIXME: Hardcoded version is not nice, but will do for now.
#define MyAppVersion "0.8.2"
#define MyAppVersion ReadIni(".\innosetup\config.ini", "Version", "version", "unknown")
#define MyAppPublisher "Dmitry Petrov"
#define MyAppURL "https://dataversioncontrol.com/"
;#define MyAppExeName "dvc.exe"