JAL-3830 add the windows bash script to getdown files and install4j installers
[jalview.git] / utils / install4j / install4j8_template.install4j
index 33e5d09..0ab7fad 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<install4j version="8.0.5" transformSequenceNumber="8">
+<install4j version="8.0.10" transformSequenceNumber="8">
   <directoryPresets config="../.." />
   <application name="${compiler:JALVIEW_APPLICATION_NAME}" applicationId="${compiler:WINDOWS_APPLICATION_ID}" mediaDir="${compiler:BUILD_DIR}" lzmaCompression="true" shortName="${compiler:INTERNAL_ID}" publisher="University of Dundee" publisherWeb="https://www.jalview.org/" version="${compiler:JALVIEW_VERSION}" allPathsRelative="true" macVolumeId="5aac4968c304f65" javaMinVersion="${compiler:JAVA_MIN_VERSION}" javaMaxVersion="9999999999${compiler:JAVA_MAX_VERSION}" allowBetaVM="true" jdkMode="jdk" jdkName="JDK 11.0">
     <searchSequence>
@@ -13,6 +13,7 @@
       <variable name="JALVIEW_DIR" value="../.." />
       <variable name="BUILD_DIR" value="${compiler:JALVIEW_DIR}/build/install4j" />
       <variable name="OSX_KEYSTORE" />
+      <variable name="OSX_APPLEID" />
       <variable name="JSIGN_SH" value="echo" />
       <variable name="JRE_DIR" value="jre" description="The folder under the app folder that the JRE will be either copied or unpacked into" />
       <variable name="INSTALLER_TEMPLATE_VERSION" value="DEVELOPMENT_default" />
       <variable name="BUNDLE_ID" value="org.jalview.jalview-desktop" />
       <variable name="INTERNAL_ID" value="Jalview" />
       <variable name="WINDOWS_APPLICATION_ID" value="6595-2347-1923-0725" />
-      <variable name="MACOS_DS_STORE" value="DS_Store" />
+      <variable name="MACOS_DMG_DS_STORE" value="jalview_dmg_DS_Store" />
       <variable name="MACOS_DMG_BG_IMAGE" />
+      <variable name="MACOS_DMG_WRAPPER_LINK" />
+      <variable name="MACOS_WRAPPER_SCRIPT" />
       <variable name="INSTALLER_NAME" value="Jalview Installer" />
       <variable name="INSTALL4J_UTILS_DIR" value="utils/install4j" />
       <variable name="GETDOWN_WEBSITE_DIR" value="getdown/website" />
       <variable name="UNIX_APPLICATION_FOLDER" value="jalview" />
       <variable name="EXECUTABLE_NAME" value="jalview" />
       <variable name="EXTRA_SCHEME" value="jalviewx" />
-      <variable name="MAC_ICONS_FILE" value="utils/install4j/jalview_logo.icns" />
-      <variable name="WINDOWS_ICONS_FILE" value="utils/install4j/jalview_logo.ico" />
-      <variable name="PNG_ICON_FILE" value="utils/install4j/Jalview-Logo.png" />
+      <variable name="MAC_ICONS_FILE" value="utils/channels/release/images/jalview_logo.icns" />
+      <variable name="WINDOWS_ICONS_FILE" value="utils/channels/release/images/jalview_logo.ico" />
+      <variable name="PNG_ICON_FILE" value="utils/channels/release/images/jalview_logo.png" />
+      <variable name="BACKGROUND" value="utils/channels/release/images/jalview_logo_background_fade-640x480.png" />
     </variables>
-    <codeSigning macEnabled="true" macPkcs12File="${compiler:OSX_KEYSTORE}" />
+    <codeSigning macEnabled="true" macPkcs12File="${compiler:OSX_KEYSTORE}" macNotarize="true" appleId="${compiler:OSX_APPLEID}">
+      <macAdditionalBinaries>
+        <entry>*.dylib</entry>
+        <entry>*.so</entry>
+        <entry>*.jnilib</entry>
+        <entry>unpack200</entry>
+        <entry>tnameserv</entry>
+        <entry>servertool</entry>
+        <entry>rmiregistry</entry>
+        <entry>rmid</entry>
+        <entry>policytool</entry>
+        <entry>pack200</entry>
+        <entry>orbd</entry>
+        <entry>keytool</entry>
+        <entry>jjs</entry>
+        <entry>java</entry>
+        <entry>jspawnhelper</entry>
+        <entry>libfreetype.dylib.6</entry>
+        <entry>applet</entry>
+        <entry>jaotc</entry>
+        <entry>jfr</entry>
+        <entry>jrunscript</entry>
+        <entry>libjli.dylib</entry>
+      </macAdditionalBinaries>
+    </codeSigning>
   </application>
   <files defaultUninstallMode="2">
     <filesets>
       <fileset name="Mac OS X JRE" id="880" />
       <fileset name="Windows JRE" id="882" />
       <fileset name="Jalview application" id="1873" />
-      <fileset name="MacOS Old Jalview Uninstaller" id="2105" />
     </filesets>
     <roots>
       <root id="735" fileset="734" />
       <root id="881" fileset="880" />
       <root id="883" fileset="882" />
       <root id="1874" fileset="1873" />
-      <root id="2106" fileset="2105" />
     </roots>
     <mountPoints>
       <mountPoint id="454" />
       <mountPoint id="884" root="881" />
       <mountPoint id="885" root="883" />
       <mountPoint id="1875" root="1874" />
-      <mountPoint id="2107" root="2106" />
     </mountPoints>
     <entries>
       <dirEntry mountPoint="454" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_FILES_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
-      <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
+      <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files">
+        <exclude>
+          <entry location="jalviewc" />
+          <entry location="jalviewc-macos" />
+          <entry location="jalviewc-windows" />
+          <entry location="jalviewc.ps1" />
+        </exclude>
+      </dirEntry>
       <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/examples" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="examples" />
+      <fileEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/jalviewc" fileMode="755" overrideFileMode="true" />
+      <fileEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/jalviewc-macos" fileMode="755" overrideFileMode="true" />
+      <fileEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/jalviewc-windows" fileMode="755" overrideFileMode="true" />
+      <fileEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/jalviewc.ps1" fileMode="755" overrideFileMode="true" />
       <dirEntry mountPoint="884" file="${compiler:MACOS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
       <dirEntry mountPoint="885" file="${compiler:WINDOWS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
       <dirEntry mountPoint="1875" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/${compiler:GETDOWN_DIST_DIR}" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:GETDOWN_DIST_DIR}" overrideDirMode="true" />
-      <dirEntry mountPoint="2107" file="Uninstall Old Jalview.app" fileMode="755" overrideFileMode="true" entryMode="subdir" subDirectory="Uninstall Old Jalview.app" overrideDirMode="true" />
     </entries>
     <components>
       <component name="jalview_getdown" id="1031">
           <entry filesetId="1873" />
         </include>
       </component>
-      <component name="macos_old_jalview_uninstaller" id="2110">
-        <include>
-          <entry filesetId="2105" />
-        </include>
-      </component>
     </components>
   </files>
   <launchers>
       <executable name="${compiler:EXECUTABLE_NAME}" iconSet="true" iconFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}" redirectStdout="true" executableMode="gui" changeWorkingDirectory="false" singleInstance="true" checkConsoleParameter="true">
         <versionInfo include="true" fileDescription="${compiler:sys.fullName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:INTERNAL_ID}" productName="${compiler:sys.fullName}" />
       </executable>
-      <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png" textOverlay="true">
+      <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}" textOverlay="true">
         <text>
           <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
           <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
                 <property name="imageEdgeBorder" type="boolean" value="true" />
                 <property name="imageFile">
                   <object class="com.install4j.api.beans.ExternalFile">
-                    <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
+                    <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
                   </object>
                 </property>
                 <property name="insets">
                     <property name="imageEdgeBorder" type="boolean" value="true" />
                     <property name="imageFile">
                       <object class="com.install4j.api.beans.ExternalFile">
-                        <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
+                        <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
                       </object>
                     </property>
                     <property name="insets">
@@ -622,7 +652,7 @@ return console.askOkCancel(message, true);
                 <property name="imageEdgeBorder" type="boolean" value="true" />
                 <property name="imageFile">
                   <object class="com.install4j.api.beans.ExternalFile">
-                    <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
+                    <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
                   </object>
                 </property>
                 <property name="insets">
@@ -687,7 +717,7 @@ return console.askYesNo(message, true);
               </action>
               <action id="1525" beanClass="com.install4j.runtime.beans.actions.files.DeleteFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
                 <serializedBean>
-                  <property name="files" type="array" class="java.io.File" length="36">
+                  <property name="files" type="array" class="java.io.File" length="44">
                     <element index="0">
                       <object class="java.io.File">
                         <string>jre</string>
@@ -868,6 +898,46 @@ return console.askYesNo(message, true);
                         <string>build_*</string>
                       </object>
                     </element>
+                    <element index="36">
+                      <object class="java.io.File">
+                        <string>jalviewc</string>
+                      </object>
+                    </element>
+                    <element index="37">
+                      <object class="java.io.File">
+                        <string>jalviewc-macos</string>
+                      </object>
+                    </element>
+                    <element index="38">
+                      <object class="java.io.File">
+                        <string>jalviewc.ps1</string>
+                      </object>
+                    </element>
+                    <element index="39">
+                      <object class="java.io.File">
+                        <string>jalviewcv</string>
+                      </object>
+                    </element>
+                    <element index="40">
+                      <object class="java.io.File">
+                        <string>jalviewc-macosv</string>
+                      </object>
+                    </element>
+                    <element index="41">
+                      <object class="java.io.File">
+                        <string>jalviewc.ps1v</string>
+                      </object>
+                    </element>
+                    <element index="42">
+                      <object class="java.io.File">
+                        <string>jalviewc-windows</string>
+                      </object>
+                    </element>
+                    <element index="43">
+                      <object class="java.io.File">
+                        <string>jalviewc-windowsv</string>
+                      </object>
+                    </element>
                   </property>
                   <property name="recursive" type="boolean" value="true" />
                 </serializedBean>
@@ -920,7 +990,7 @@ return console.askYesNo(message, true);
               </property>
               <property name="imageFile">
                 <object class="com.install4j.api.beans.ExternalFile">
-                  <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
+                  <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
                 </object>
               </property>
               <property name="imageOverlap" type="boolean" value="true" />
@@ -1133,7 +1203,6 @@ return console.askYesNo(message, true);
         <component id="1156" />
         <component id="1276" />
         <component id="1881" />
-        <component id="2110" />
       </excludedComponents>
       <exclude>
         <entry defaultFileset="true" />
@@ -1157,11 +1226,11 @@ return console.askYesNo(message, true);
       </exclude>
       <topLevelFiles>
         <symlink name="&quot; &quot;" target="/Applications" />
-        <file name=".background/jalview_dmg_background.png" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/${compiler:MACOS_DMG_BG_IMAGE}" />
-        <file name=".DS_Store" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/${compiler:MACOS_DS_STORE}" />
+        <file name=".background/jalview_dmg_background.png" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_BG_IMAGE}" />
+        <file name=".DS_Store" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_DS_STORE}" />
         <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-File.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-File.icns" />
         <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-Launch.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-Launch.icns" />
-        <symlink name="Uninstall Old Jalview (optional).app" target="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/app/Uninstall Old Jalview.app" />
+        <symlink name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/MacOS/${compiler:MACOS_DMG_WRAPPER_LINK}" target="../Resources/app/${compiler:MACOS_WRAPPER_SCRIPT}" />
       </topLevelFiles>
     </macosArchive>
     <unixInstaller name="Linux x64 Shell Installer" id="1595" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-linux_x64-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}" customInstallBaseDir="~/opt/">
@@ -1170,7 +1239,6 @@ return console.askYesNo(message, true);
         <component id="1156" />
         <component id="1276" />
         <component id="1881" />
-        <component id="2110" />
       </excludedComponents>
       <exclude>
         <entry defaultFileset="true" />
@@ -1187,7 +1255,6 @@ return console.askYesNo(message, true);
         <component id="1156" />
         <component id="1276" />
         <component id="1881" />
-        <component id="2110" />
       </excludedComponents>
       <exclude>
         <entry defaultFileset="true" />
@@ -1204,7 +1271,6 @@ return console.askYesNo(message, true);
         <component id="1156" />
         <component id="1276" />
         <component id="1881" />
-        <component id="2110" />
       </excludedComponents>
       <exclude>
         <entry defaultFileset="true" />