Refactor MSI build (heat, candle, light, F*CK THIS SHIT)

This commit is contained in:
Reinhard Pointner 2018-06-09 12:35:57 +07:00
parent 95f8d08575
commit 28cc439bfc
7 changed files with 60 additions and 62 deletions

View File

@ -644,12 +644,11 @@
</target>
<target name="msi" description="Build Windows Installer packages" depends="revision">
<target name="msi" description="Build Windows Installer packages" depends="">
<antcall target="msi-arch">
<param name="arch" value="x64" />
</antcall>
<antcall target="msi-arch">
<param name="arch" value="x86" />
<param name="arch.env" value="AMD64" />
<param name="arch.jre" value="x64" />
</antcall>
</target>
@ -657,24 +656,51 @@
<target name="msi-arch">
<property name="dir.staging" location="${dir.dist}/msi/${arch}" />
<exec executable="powershell" dir="${dir.cache}" failonerror="yes">
<env key="PROCESSOR_ARCHITECTURE" value="${arch.env}" />
<arg line="get-java" />
</exec>
<untar src="${dir.cache}/jre-${jre.version}_windows-${arch.jre}_bin.tar.gz" dest="${dir.staging}/jre" compression="gzip">
<patternset>
<exclude name="**/dtplugin/**" />
<exclude name="**/plugin2/**" />
<exclude name="**/jfxwebkit.dll" />
</patternset>
<cutdirsmapper dirs="1" />
</untar>
<copy todir="${dir.staging}/jar">
<fileset dir="${dir.dist}/lib" includes="*.jar" />
</copy>
<copy todir="${dir.staging}/lib">
<fileset dir="${dir.lib}/native/win32-${arch}" />
</copy>
<exec executable="heat" dir="${dir.staging}" failonerror="true">
<arg line="dir . -v -srd -gg -dr ApplicationBase -cg ApplicationBase -template fragment -sreg -sfrag -scom -out base.wxs" />
</exec>
<exec executable="candle" dir="${dir.staging}" failonerror="true">
<arg line="base.wxs -out base.wixobj" />
</exec>
<copy todir="${dir.staging}">
<fileset dir="${dir.installer}/msi" includes="*.exe, *.rtf, *.bmp" />
</copy>
<copy todir="${dir.staging}">
<fileset dir="${dir.lib}/native/win32-${arch}" />
</copy>
<copy todir="${dir.staging}">
<fileset dir="${dir.installer}/icons" includes="*.ico" />
</copy>
<copy-replace todir="${dir.staging}">
<fileset dir="${dir.installer}/msi" includes="*.wix, *.ini, *.properties" />
<fileset dir="${dir.installer}/msi" includes="*.wix, *.ini" />
</copy-replace>
<exec executable="candle" dir="${dir.staging}" failonerror="true">
<arg line="filebot.wix -out msi.wixobj" />
<arg line="filebot.wix -out filebot.wixobj" />
</exec>
<exec executable="light" dir="${dir.staging}" failonerror="true">
<arg line="msi.wixobj -sval -ext WixUIExtension -out ${dir.dist}/${release}_${arch}.msi" />
<arg line="filebot.wixobj base.wixobj -sval -ext WixUIExtension -out ${dir.dist}/${release}_${arch}.msi" />
</exec>
</target>

View File

@ -16,20 +16,17 @@
-DuseCreationDate=false
# look for executables in the application folder
-Dnet.filebot.AcoustID.fpcalc="%EXEDIR%\fpcalc.exe"
-Dnet.filebot.AcoustID.fpcalc="%EXEDIR%\lib\fpcalc.exe"
# look for native libraries in the application folder
-Djna.library.path="%EXEDIR%"
-Djna.boot.library.path="%EXEDIR%"
-Djava.library.path="%EXEDIR%"
-Djna.library.path="%EXEDIR%\lib"
-Djna.boot.library.path="%EXEDIR%\lib"
-Djava.library.path="%EXEDIR%\lib"
# make sure to use the bundled JNA library
-Djna.nosys=true
-Djna.nounpack=true
# reduce default logging
-Djava.util.logging.config.file="%EXEDIR%\logging.properties"
# support JAVA_OPTS environment variable
%JAVA_OPTS%

View File

@ -16,20 +16,17 @@
-DuseCreationDate=false
# look for executables in the application folder
-Dnet.filebot.AcoustID.fpcalc="%EXEDIR%\fpcalc.exe"
-Dnet.filebot.AcoustID.fpcalc="%EXEDIR%\lib\fpcalc.exe"
# look for native libraries in the application folder
-Djna.library.path="%EXEDIR%"
-Djna.boot.library.path="%EXEDIR%"
-Djava.library.path="%EXEDIR%"
-Djna.library.path="%EXEDIR%\lib"
-Djna.boot.library.path="%EXEDIR%\lib"
-Djava.library.path="%EXEDIR%\lib"
# make sure to use the bundled JNA library
-Djna.nosys=true
-Djna.nounpack=true
# reduce default logging
-Djava.util.logging.config.file="%EXEDIR%\logging.properties"
# support JAVA_OPTS environment variable
%JAVA_OPTS%

View File

@ -20,20 +20,17 @@
-DuseCreationDate=false
# look for executables in the application folder
-Dnet.filebot.AcoustID.fpcalc="%EXEDIR%\fpcalc.exe"
-Dnet.filebot.AcoustID.fpcalc="%EXEDIR%\lib\fpcalc.exe"
# look for native libraries in the application folder
-Djna.library.path="%EXEDIR%"
-Djna.boot.library.path="%EXEDIR%"
-Djava.library.path="%EXEDIR%"
-Djna.library.path="%EXEDIR%\lib"
-Djna.boot.library.path="%EXEDIR%\lib"
-Djava.library.path="%EXEDIR%\lib"
# make sure to use the bundled JNA library
-Djna.nosys=true
-Djna.nounpack=true
# reduce default logging
-Djava.util.logging.config.file="%EXEDIR%\logging.properties"
# use Java implementation for extracting archives
-Dnet.filebot.Archive.extractor="ApacheVFS"

View File

@ -40,30 +40,25 @@
<ShortcutProperty Key="System.AppUserModel.ID" Value="@{application.name}" />
</Shortcut>
</File>
<File Id='filebot.platform.launcher.exe' Name='filebot.platform.launcher.exe' Source='filebot.platform.launcher.exe'>
<Shortcut Id="shortcut.menu.filebot.platform" Directory="ProgramMenuDir" Name="FileBot (platform)" Description="Launch FileBot with platform-independent configuration" WorkingDirectory='INSTALLDIR' Icon="icon.ico" IconIndex="0" Advertise="no" />
</File>
<File Id='filebot.exe' Name='filebot.exe' Source='filebot.exe'>
<Shortcut Id="shortcut.menu.filebot.cmd" Directory="ProgramMenuDir" Name="FileBot (console)" Description="Launch FileBot with debug logging" WorkingDirectory='INSTALLDIR' />
</File>
<File Id='filebot.launcher.l4j.ini' Name='filebot.launcher.l4j.ini' Source='filebot.launcher.l4j.ini' />
<File Id='filebot.platform.launcher.l4j.ini' Name='filebot.platform.launcher.l4j.ini' Source='filebot.platform.launcher.l4j.ini' />
<File Id='filebot.l4j.ini' Name='filebot.l4j.ini' Source='filebot.l4j.ini' />
<Environment Id="PATH" Name="PATH" Value="[INSTALLDIR]" Action="set" Part="last" Permanent="no" System="yes" />
<Shortcut Id="shortcut.uninstall" Directory="ProgramMenuDir" Name="Uninstall FileBot" Description="Uninstall FileBot" Icon="icon.ico" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]" Advertise="no" />
</Component>
<Component Id='ApplicationStubCmd' Guid='D2B1A845-3B5C-4B59-B0D0-A4E80C173220' Win64="$(var.Win64)">
<File Id='filebot.exe' Name='filebot.exe' Source='filebot.exe' KeyPath='yes'>
<Shortcut Id="shortcut.menu.filebot.cmd" Directory="ProgramMenuDir" Name="FileBot (console)" Description="Launch FileBot with debug logging" WorkingDirectory='INSTALLDIR' />
</File>
<File Id='filebot.l4j.ini' Name='filebot.l4j.ini' Source='filebot.l4j.ini' />
<Environment Id="PATH" Name="PATH" Value="[INSTALLDIR]" Action="set" Part="last" Permanent="no" System="yes" />
</Component>
<Component Id='ApplicationBase' Guid='9E365344-A00C-45DE-A2A4-266412C3D06E' Win64="$(var.Win64)">
<File Id='FileBot.jar' Name='FileBot.jar' Source='@{path.fatjar}' KeyPath='yes' />
<File Id='logging.properties' Name='logging.properties' Source='logging.properties' />
<File Id='jnidispatch.dll' Name='jnidispatch.dll' Source='jnidispatch.dll' />
<File Id='MediaInfo.dll' Name='MediaInfo.dll' Source='MediaInfo.dll' />
<File Id='lib7_Zip_JBinding.dll' Name='7-Zip-JBinding.dll' Source='7-Zip-JBinding.dll' />
<File Id='fpcalc.exe' Name='fpcalc.exe' Source='fpcalc.exe' />
</Component>
<Directory Id="ApplicationBase" />
</Directory>
</Directory>
@ -81,9 +76,8 @@
<Feature Id='Complete' Title='FileBot' Description='The complete package.' Display='expand' ConfigurableDirectory='INSTALLDIR' Level='1'>
<ComponentGroupRef Id='ApplicationBase' />
<ComponentRef Id='ApplicationStub' />
<ComponentRef Id='ApplicationStubCmd' />
<ComponentRef Id='ApplicationBase' />
<ComponentRef Id='ProgramMenuDir' />
</Feature>

View File

@ -1,12 +0,0 @@
# Default global handler
handlers= java.util.logging.ConsoleHandler
# Default global logging level
.level= WARNING
# Limit messages that printed on the console to WARNING and above
java.util.logging.ConsoleHandler.level = WARNING
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# Suppress WindowsPreferences logging
java.util.prefs.level = SEVERE

View File

@ -1 +0,0 @@
signtool sign /fd SHA256 /t http://time.certum.pl/ /v /a *.exe ../portable/*.exe ../appx/*.exe