Skip to content

Commit 3427643

Browse files
committed
Generate local download html as part of buildReleaseZips.bat
Added buildAll.bat to build the installer and all the zips Update header.inc with the latest version
1 parent 8719c65 commit 3427643

File tree

5 files changed

+99
-10
lines changed

5 files changed

+99
-10
lines changed

installer/buildAll.bat

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
:: Run this script to put all the release packages together.
2+
:: You should have a built PythonScript in release mode, a built python, and all the libraries checked out
3+
4+
call buildInstaller.bat
5+
call buildReleaseZips.bat

installer/buildInstaller.bat

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,19 @@ if NOT [%ERRORLEVEL%]==[0] (
101101

102102

103103
echo Linking installer - generating MSI
104-
light temp\pythonscript.wixobj temp\fullLib.wixobj temp\extra.wixobj temp\unittests.wixobj temp\tcl.wixobj temp\sampleScripts.wixobj -o build\PythonScript_%PYTHONSCRIPTVERSION%.msi -ext WixUIExtension
104+
IF NOT EXIST "build\%PYTHONSCRIPTVERSION%" (
105+
mkdir build\%PYTHONSCRIPTVERSION%
106+
)
107+
108+
109+
light temp\pythonscript.wixobj temp\fullLib.wixobj temp\extra.wixobj temp\unittests.wixobj temp\tcl.wixobj temp\sampleScripts.wixobj -o build\%PYTHONSCRIPTVERSION%\PythonScript_%PYTHONSCRIPTVERSION%.msi -ext WixUIExtension
105110
if NOT [%ERRORLEVEL%]==[0] (
106111
goto error
107112
)
108113

109114
echo.
110115
echo.
111-
echo Installer created - build\PythonScript_%PYTHONSCRIPTVERSION%.msi
116+
echo Installer created - build\%PYTHONSCRIPTVERSION%\PythonScript_%PYTHONSCRIPTVERSION%.msi
112117

113118
goto end
114119

installer/buildReleaseZips.bat

Lines changed: 61 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,72 @@ xcopy /s /q ..\PythonLib\tcl\*.* temp\release\tcl\plugins\pythonscript\lib\tcl
9191

9292

9393
cd temp\release\Full
94-
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\PythonScript_Full_%PYTHONSCRIPTVERSION%.7z .
95-
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\PythonScript_Full_%PYTHONSCRIPTVERSION%.zip .
94+
mkdir %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%
95+
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Full_%PYTHONSCRIPTVERSION%.7z .
96+
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Full_%PYTHONSCRIPTVERSION%.zip .
9697

9798
cd %INSTALLERDIR%\temp\release\Min
98-
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\PythonScript_Min_%PYTHONSCRIPTVERSION%.7z .
99-
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\PythonScript_Min_%PYTHONSCRIPTVERSION%.zip .
99+
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Min_%PYTHONSCRIPTVERSION%.7z .
100+
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Min_%PYTHONSCRIPTVERSION%.zip .
100101

101102
cd %INSTALLERDIR%\temp\release\Extra
102-
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.7z .
103-
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.zip .
103+
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.7z .
104+
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.zip .
104105

105106
cd %INSTALLERDIR%\temp\release\Tcl
106-
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\PythonScript_TclTk_%PYTHONSCRIPTVERSION%.7z .
107-
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\PythonScript_TclTk_%PYTHONSCRIPTVERSION%.zip .
107+
%SEVENZIPEXE% a -r -t7z %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_TclTk_%PYTHONSCRIPTVERSION%.7z .
108+
%SEVENZIPEXE% a -r -tzip %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_TclTk_%PYTHONSCRIPTVERSION%.zip .
109+
110+
111+
112+
echo Updating local download webpage
113+
echo ^<!--#include virtual="header.inc" --^> > %INSTALLERDIR%\..\www\localdl.shtml
114+
echo ^<h3^>Local Download^</h3^> >> %INSTALLERDIR%\..\www\localdl.shtml
115+
echo Here are the local server links if you can't get to ^<a href="http://sourceforge.net/projects/npppythonscript/files"^>the main one at sourceforge^</a^>. >> %INSTALLERDIR%\..\www\localdl.shtml
116+
echo Please use the sourceforge link if you can - I have limited bandwidth limits. >> %INSTALLERDIR%\..\www\localdl.shtml
117+
echo ^<br/^>^<br/^>^<br/^> >> %INSTALLERDIR%\..\www\localdl.shtml
118+
119+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_%PYTHONSCRIPTVERSION%.msi > %INSTALLERDIR%\temp\size.txt
120+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
121+
122+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_%PYTHONSCRIPTVERSION%.msi"^>Python Script %PYTHONSCRIPTVERSION% Installer (includes all extra files) (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
123+
124+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Full_%PYTHONSCRIPTVERSION%.7z > %INSTALLERDIR%\temp\size.txt
125+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
126+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_Full_%PYTHONSCRIPTVERSION%.7z"^>Python Script %PYTHONSCRIPTVERSION% FULL 7zip version (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
127+
128+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Full_%PYTHONSCRIPTVERSION%.zip > %INSTALLERDIR%\temp\size.txt
129+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
130+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_Full_%PYTHONSCRIPTVERSION%.zip"^>Python Script %PYTHONSCRIPTVERSION% FULL zip version (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
131+
132+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Min_%PYTHONSCRIPTVERSION%.7z > %INSTALLERDIR%\temp\size.txt
133+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
134+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_Min_%PYTHONSCRIPTVERSION%.7z"^>Python Script %PYTHONSCRIPTVERSION% MINIMUM 7zip version (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
135+
136+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_Min_%PYTHONSCRIPTVERSION%.zip > %INSTALLERDIR%\temp\size.txt
137+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
138+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_Min_%PYTHONSCRIPTVERSION%.zip"^>Python Script %PYTHONSCRIPTVERSION% MINIMUM zip version (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
139+
140+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.7z > %INSTALLERDIR%\temp\size.txt
141+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
142+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.7z"^>Extra libraries 7z (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
143+
144+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.zip > %INSTALLERDIR%\temp\size.txt
145+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
146+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_ExtraLibs_%PYTHONSCRIPTVERSION%.zip"^>Extra libraries zip (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
147+
148+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_TclTk_%PYTHONSCRIPTVERSION%.7z > %INSTALLERDIR%\temp\size.txt
149+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
150+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_TclTk_%PYTHONSCRIPTVERSION%.7z"^>Tcl/Tk libraries 7z (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
151+
152+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\humanReadableSize.py %INSTALLERDIR%\build\%PYTHONSCRIPTVERSION%\PythonScript_TclTk_%PYTHONSCRIPTVERSION%.zip > %INSTALLERDIR%\temp\size.txt
153+
SET /p PYTHONSCRIPT_FILESIZE= < %INSTALLERDIR%\temp\size.txt
154+
echo ^<br/^>^<a href="http://www.brotherstone.co.uk/npp/ps/downloads/%PYTHONSCRIPTVERSION%/PythonScript_TclTk_%PYTHONSCRIPTVERSION%.zip"^>Tcl/Tk libraries zip (%PYTHONSCRIPT_FILESIZE%)^</a^> >> %INSTALLERDIR%\..\www\localdl.shtml
155+
156+
echo ^<!--#include virtual="footer.inc" --^> >> %INSTALLERDIR%\..\www\localdl.shtml
157+
158+
echo Updating "Latest Version" in header.inc
159+
%PYTHONBUILDDIR%\pcbuild\python %INSTALLERDIR%\updateLatestVersion.py %INSTALLERDIR%\..\www\header.inc %PYTHONSCRIPTVERSION%
160+
108161

109162
CD /d %ORIGINALDIR%

installer/humanReadableSize.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import sys, os
2+
3+
# Stolen from http://stackoverflow.com/questions/1094841/reusable-library-to-get-human-readable-version-of-file-size
4+
def sizeof_format(size):
5+
for units in ['bytes','KB','MB','GB']:
6+
if size < 1024.0:
7+
return "%3.1f%s" % (size, units)
8+
size /= 1024.0
9+
return "%3.1f%s" % (size, 'TB')
10+
11+
print sizeof_format(os.stat(sys.argv[1]).st_size)

installer/updateLatestVersion.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import sys, re
2+
3+
versionRegex = re.compile('^\s*Latest Version: ([0-9]+\.){3}[0-9]+\s*')
4+
header = open(sys.argv[1], "r")
5+
result = ''
6+
for line in header:
7+
if versionRegex.match(line):
8+
result += 'Latest Version: %s\r\n' % sys.argv[2]
9+
else:
10+
result += line
11+
12+
header.close()
13+
header = open(sys.argv[1], "w")
14+
header.write(result)
15+
header.close()

0 commit comments

Comments
 (0)