Switch to Java 11. Add win installer
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
ffa9c6903f
commit
c408f70b79
12 changed files with 1301 additions and 25 deletions
32
.drone.yml
32
.drone.yml
|
@ -17,24 +17,49 @@ steps:
|
|||
commands:
|
||||
- mkdir -p /builds/ns-usbloader
|
||||
- cp target/ns-usbloader-*jar /builds/ns-usbloader/
|
||||
- cp target/NS-USBloader-*exe /builds/ns-usbloader/
|
||||
volumes:
|
||||
- name: builds
|
||||
path: /builds
|
||||
|
||||
- name: make-win-installer
|
||||
image: wheatstalk/makensis:3
|
||||
commands:
|
||||
- cp target/NS-USBloader.exe misc/windows/NSIS/
|
||||
- misc/windows/update_version.sh
|
||||
- /entrypoint.sh misc/windows/NSIS/installer.nsi
|
||||
- cp Installer-*.exe /builds/ns-usbloader/
|
||||
- rm misc/windows/NSIS/NS-USBloader.exe
|
||||
volumes:
|
||||
- name: builds
|
||||
path: /builds
|
||||
- name: jdk
|
||||
path: /misc/windows/NSIS/jdk
|
||||
|
||||
- name: emerge-legacy-artifact
|
||||
image: maven:3-openjdk-17
|
||||
commands:
|
||||
- . ./.make_legacy
|
||||
- mvn -B -DskipTests clean package
|
||||
- cp target/ns-usbloader-*jar /builds/ns-usbloader/
|
||||
- cp target/NS-USBloader-*exe /builds/ns-usbloader/
|
||||
volumes:
|
||||
- name: m2
|
||||
path: /root/.m2
|
||||
- name: builds
|
||||
path: /builds
|
||||
|
||||
- name: make-legacy-win-installer
|
||||
image: wheatstalk/makensis:3
|
||||
commands:
|
||||
- cp target/NS-USBloader.exe misc/windows/NSIS/
|
||||
- misc/windows/update_version.sh legacy
|
||||
- /entrypoint.sh misc/windows/NSIS/installer.nsi
|
||||
- cp Installer-*.exe /builds/ns-usbloader/
|
||||
volumes:
|
||||
- name: builds
|
||||
path: /builds
|
||||
- name: jdk
|
||||
path: /misc/windows/NSIS/jdk
|
||||
|
||||
volumes:
|
||||
- name: m2
|
||||
host:
|
||||
|
@ -42,3 +67,6 @@ volumes:
|
|||
- name: builds
|
||||
host:
|
||||
path: /home/www/builds
|
||||
- name: jdk
|
||||
host:
|
||||
path: /home/docker/drone/files/assembly/openjdk-19.0.2
|
|
@ -1,4 +1,3 @@
|
|||
sed -z -i -e 's/<groupId>org.usb4java<\/groupId>\n\s*<artifactId>usb4java<\/artifactId>\s*<version>1.3.0<\/version>/<groupId>org.usb4java<\/groupId>\n<artifactId>usb4java<\/artifactId>\n<version>1.2.0<\/version>/g' pom.xml
|
||||
sed -z -i -e 's/<finalName>${project.artifactId}-${project.version}-${maven.build.timestamp}<\/finalName>/<finalName>${project.artifactId}-${project.version}-legacy-${maven.build.timestamp}<\/finalName>/g' pom.xml
|
||||
sed -z -i -e 's/<outfile>target\/NS-USBloader-${project.version}-${maven.build.timestamp}.exe<\/outfile>/<outfile>target\/NS-USBloader-${project.version}-legacy-${maven.build.timestamp}.exe<\/outfile>/g' pom.xml
|
||||
sed -z -i -e 's/<jar>target\/${project.artifactId}-${project.version}-${maven.build.timestamp}.jar<\/jar>/<jar>target\/${project.artifactId}-${project.version}-legacy-${maven.build.timestamp}.jar<\/jar>/g' pom.xml
|
||||
|
|
8
misc/windows/HOWTO_JRE.md
Normal file
8
misc/windows/HOWTO_JRE.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
#### How to prepare JRE from JDK to bundle it with application
|
||||
|
||||
1. Run `java --list-modules`
|
||||
2. Update resulting list s/@.*\n/\,/g
|
||||
3. Run `jlink --no-header-files --no-man-pages --compress=2 --add-modules !!!_PASTE_RESULT_HERE_!!! --output jre`
|
||||
4. JRE created at folder 'jre
|
||||
|
||||
jlink --no-header-files --no-man-pages --compress=2 --add-modules $($(java --list-modules) -join "," -replace "@[0-9].*") --output jre-11'
|
158
misc/windows/NSIS/installer.nsi
Normal file
158
misc/windows/NSIS/installer.nsi
Normal file
|
@ -0,0 +1,158 @@
|
|||
;Include Modern UI
|
||||
!include "MUI.nsh"
|
||||
Unicode true
|
||||
;Name and file
|
||||
|
||||
!define APPNAME "NS-USBloader"
|
||||
!define COMPANYNAME "Dmitry Isaenko"
|
||||
!define VERSIONMAJOR 0
|
||||
!define VERSIONMINOR 0
|
||||
!define VERSIONBUILD 0
|
||||
|
||||
Name "NS-USBloader"
|
||||
OutFile "Installer.exe"
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$PROGRAMFILES\${APPNAME}"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey HKCU "Software\${APPNAME}" ""
|
||||
|
||||
;Request application privileges for Windows Vista
|
||||
RequestExecutionLevel admin
|
||||
|
||||
!define MUI_ICON installer_logo.ico
|
||||
!define MUI_UNICON uninstaller_logo.ico
|
||||
; !define MUI_FINISHPAGE_NOAUTOCLOSE
|
||||
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "leftbar.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "leftbar_uninstall.bmp"
|
||||
|
||||
!define MUI_FINISHPAGE_LINK "NS-USBloader at GitHub"
|
||||
!define MUI_FINISHPAGE_LINK_LOCATION https://github.com/developersu/NS-USBloader/
|
||||
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\NS-USBloader.exe"
|
||||
!define MUI_FINISHPAGE_SHOWREADME
|
||||
!define MUI_FINISHPAGE_SHOWREADME_TEXT $(l10n_CreateShortcut)
|
||||
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION CreateDesktopShortCut
|
||||
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
;--------------------------------
|
||||
;Language Selection Dialog Settings
|
||||
|
||||
;Remember the installer language
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "Software\${APPNAME}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
;!define MUI_HEADERIMAGE
|
||||
;!define MUI_HEADERIMAGE_RIGHTi
|
||||
;!define MUI_HEADERIMAGE_BITMAP "install_header.bmp"
|
||||
;!define MUI_HEADERIMAGE_UNBITMAP "install_header.bmp"
|
||||
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
!insertmacro MUI_LANGUAGE "SpanishInternational"
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
!insertmacro MUI_LANGUAGE "TradChinese"
|
||||
!insertmacro MUI_LANGUAGE "Japanese"
|
||||
!insertmacro MUI_LANGUAGE "Korean"
|
||||
!insertmacro MUI_LANGUAGE "Italian"
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
!insertmacro MUI_LANGUAGE "Vietnamese"
|
||||
!insertmacro MUI_LANGUAGE "Arabic"
|
||||
!insertmacro MUI_LANGUAGE "Czech"
|
||||
!insertmacro MUI_LANGUAGE "Romanian"
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "Swedish"
|
||||
|
||||
;Language strings
|
||||
LangString l10n_CreateShortcut ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString l10n_CreateShortcut ${LANG_RUSSIAN} "Создать ярлык на Рабочем столе"
|
||||
|
||||
;--------------------------------
|
||||
Section "NS-USBloader" Install
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
file /r jdk
|
||||
file NS-USBloader.exe
|
||||
file logo.ico
|
||||
|
||||
; Registry information for add/remove programs
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayIcon" "$\"$INSTDIR\logo.ico$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "Publisher" "$\"${COMPANYNAME}$\""
|
||||
|
||||
; Start Menu
|
||||
CreateDirectory "$SMPROGRAMS\${APPNAME}"
|
||||
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\NS-USBloader.exe" "" "$INSTDIR\logo.ico"
|
||||
CreateShortCut "$SMPROGRAMS\${APPNAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr HKCU "Software\${APPNAME}" "" $INSTDIR
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
SectionEnd
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
; set mandatory installation rule to section
|
||||
SectionSetFlags ${Install} 17
|
||||
FunctionEnd
|
||||
|
||||
Function un.onInit
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
FunctionEnd
|
||||
|
||||
|
||||
Function CreateDesktopShortCut
|
||||
CreateShortcut "$DESKTOP\NS-USBloader.lnk" "$INSTDIR\NS-USBloader.exe"
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
; Start Menu
|
||||
Delete "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${APPNAME}\Uninstall.lnk"
|
||||
Delete "$DESKTOP\NS-USBloader.lnk"
|
||||
rmDir "$SMPROGRAMS\${APPNAME}"
|
||||
|
||||
;Delete installed files
|
||||
RMDir /r "$INSTDIR\jdk\*"
|
||||
Delete "$INSTDIR\NS-USBloader.exe"
|
||||
Delete "$INSTDIR\logo.ico"
|
||||
Delete "$SMPROGRAMS\Uninstall.exe"
|
||||
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
DeleteRegKey /ifempty HKCU "Software\${APPNAME}"
|
||||
; Cleanup records stored for uninstaller from the registry
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
|
||||
|
||||
SectionEnd
|
||||
;--------------------------------
|
||||
;Uninstaller Functions
|
BIN
misc/windows/NSIS/installer_logo.ico
Normal file
BIN
misc/windows/NSIS/installer_logo.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 125 KiB |
BIN
misc/windows/NSIS/leftbar.bmp
Normal file
BIN
misc/windows/NSIS/leftbar.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 151 KiB |
BIN
misc/windows/NSIS/leftbar_uninstall.bmp
Normal file
BIN
misc/windows/NSIS/leftbar_uninstall.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 151 KiB |
1070
misc/windows/NSIS/license.txt
Normal file
1070
misc/windows/NSIS/license.txt
Normal file
File diff suppressed because it is too large
Load diff
BIN
misc/windows/NSIS/logo.ico
Normal file
BIN
misc/windows/NSIS/logo.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 105 KiB |
BIN
misc/windows/NSIS/uninstaller_logo.ico
Normal file
BIN
misc/windows/NSIS/uninstaller_logo.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 114 KiB |
12
misc/windows/update_version.sh
Executable file
12
misc/windows/update_version.sh
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
VERSIONMAJOR=`grep '<version>' pom.xml | head -1 | sed -e 's/^.*<version>//g' -e 's/\..*$//g'`
|
||||
VERSIONMINOR=`grep '<version>' pom.xml | head -1 | sed -E 's/^.*<version>[0-9]+?\.//g' | sed -E -e 's/(\..*|-SNAPSHOT|)<\/version>.*$//g'`
|
||||
sed -z -i -e "s/!define\ VERSIONMAJOR\ [0-9]/!define\ VERSIONMAJOR $VERSIONMAJOR\ /" misc/windows/NSIS/installer.nsi
|
||||
sed -z -i -e "s/!define\ VERSIONMINOR\ [0-9]/!define\ VERSIONMINOR $VERSIONMINOR\ /" misc/windows/NSIS/installer.nsi
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
sed -z -i -e "s/OutFile\ \"Installer.exe\"/OutFile\ \"Installer-$VERSIONMAJOR.$VERSIONMINOR.exe\"\ /" misc/windows/NSIS/installer.nsi
|
||||
else
|
||||
sed -z -i -e "s/OutFile\ \"Installer.exe\"/OutFile\ \"Installer-legacy-$VERSIONMAJOR.$VERSIONMINOR.exe\"\ /" misc/windows/NSIS/installer.nsi
|
||||
fi
|
45
pom.xml
45
pom.xml
|
@ -8,13 +8,11 @@
|
|||
<name>NS-USBloader</name>
|
||||
|
||||
<artifactId>ns-usbloader</artifactId>
|
||||
<version>7.0</version>
|
||||
<version>7.0</version> <!-- linked via script to NSIS system. Should have format of 2 blocks of numbers. May have end on '-SNAPSHOT' -->
|
||||
|
||||
<url>https://redrise.ru</url>
|
||||
<description>
|
||||
NS multi tool
|
||||
</description>
|
||||
<inceptionYear>2019.0.2.1</inceptionYear>
|
||||
<description>NS multi-tool</description>
|
||||
<inceptionYear>2019</inceptionYear>
|
||||
<organization>
|
||||
<name>Dmitry Isaenko</name>
|
||||
<url>https://developersu.blogspot.com/</url>
|
||||
|
@ -243,10 +241,10 @@
|
|||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<version>3.10.1</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<source>11</source>
|
||||
<target>11</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- Don't generate default JAR without dependencies -->
|
||||
|
@ -293,7 +291,7 @@
|
|||
<artifactId>launch4j-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>l4j-NS-USBloader</id>
|
||||
<id>l4j-ns-usbloader</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>launch4j</goal>
|
||||
|
@ -301,30 +299,33 @@
|
|||
<configuration>
|
||||
<headerType>gui</headerType>
|
||||
<icon>appicon.ico</icon>
|
||||
<outfile>target/NS-USBloader-${project.version}-${maven.build.timestamp}.exe</outfile>
|
||||
<outfile>target/${project.name}.exe</outfile>
|
||||
<jar>target/${project.artifactId}-${project.version}-${maven.build.timestamp}.jar</jar>
|
||||
<errTitle>NS-USBloader</errTitle>
|
||||
<classPath>
|
||||
<mainClass>nsusbloader.Main</mainClass>
|
||||
<addDependencies>false</addDependencies>
|
||||
<preCp>anything</preCp>
|
||||
</classPath>
|
||||
<!-- <downloadUrl>https://download.oracle.com/java/17/archive/jdk-17.0.1_windows-x64_bin.msi</downloadUrl> -->
|
||||
<errTitle>Launching error</errTitle>
|
||||
<!-- <dontWrapJar>true</dontWrapJar> -->
|
||||
<jre>
|
||||
<minVersion>1.8.0</minVersion>
|
||||
<path>%JAVA_HOME%;%PATH%</path>
|
||||
<path>%PWD%/jdk</path>
|
||||
<minVersion>11.0.0</minVersion>
|
||||
</jre>
|
||||
<versionInfo>
|
||||
<fileVersion>1.0.0.0</fileVersion>
|
||||
<fileVersion>${project.version}.0.0</fileVersion>
|
||||
<txtFileVersion>${project.version}</txtFileVersion>
|
||||
<fileDescription>NS multi tool</fileDescription>
|
||||
<copyright>GNU General Public License v3, 2019.0.2.1 ${project.organization.name}, Russia.</copyright>
|
||||
<productVersion>1.0.0.0</productVersion>
|
||||
<fileDescription>NS multi-tool</fileDescription>
|
||||
<copyright>GNU General Public License v3, ${project.inceptionYear} ${project.organization.name}, Russia.</copyright>
|
||||
<productVersion>${project.version}.0.0</productVersion>
|
||||
<txtProductVersion>${project.version}</txtProductVersion>
|
||||
<companyName>${project.organization.name}</companyName>
|
||||
<productName>${project.name}</productName>
|
||||
<internalName>${project.name}</internalName>
|
||||
<originalFilename>${project.name}.exe</originalFilename>
|
||||
</versionInfo>
|
||||
<messages>
|
||||
<startupErr>Startup error</startupErr>
|
||||
<jreNotFoundErr>JDK not found</jreNotFoundErr>
|
||||
<jreVersionErr>JDK Version mismatch</jreVersionErr>
|
||||
<launcherErr>Launcher Error</launcherErr>
|
||||
</messages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
|
|
Loading…
Reference in a new issue