hws.install4j #43

  • //
  • guest/
  • perforce_software/
  • helix-web-services/
  • main/
  • source/
  • install4j/
  • hws.install4j
  • View
  • Commits
  • Open Download .zip Download (57 KB)
<?xml version="1.0" encoding="UTF-8"?>
<install4j version="6.1.1" transformSequenceNumber="5">
  <directoryPresets config="/depot/main/helix-web-services/source/deployment/src/main/resources" />
  <application name="Helix Web Services" distributionSourceDir="" applicationId="2119-5133-2454-3135" mediaDir="${compiler:sourceDir}/install4j/build" mediaFilePattern="${compiler:sys.shortName}-${compiler:sys.version}-x86_64" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="true" shortName="helix-web-services" publisher="Perforce Software, Inc" publisherWeb="http://perforce.com" version="${compiler:productVersion}" allPathsRelative="false" backupOnSave="false" autoSave="false" convertDotsToUnderscores="false" macSignature="????" macVolumeId="42486e3c2c3f65eb" javaMinVersion="1.8" javaMaxVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
    <languages skipLanguageSelection="false" languageSelectionInPrincipalLanguage="false">
      <principalLanguage id="en" customLocalizationFile="${compiler:sourceDir}/deployment/src/main/resources/install4j_locale.properties" />
      <additionalLanguages />
    </languages>
    <searchSequence>
      <registry />
      <envVar name="JAVA_HOME" />
      <envVar name="JDK_HOME" />
    </searchSequence>
    <variables>
      <variable name="sourceDir" value="${compiler:p4workspaceDir}/depot/main/helix-web-services/source" description="The root of the Helix Web Services source." category="" />
      <variable name="docArchiveDir" value="${compiler:p4workspaceDir}/builds/main/p4-doc/internal" description="The output directory where the built documentation pops up." category="" />
      <variable name="productVersion" value="9999.9" description="" category="" />
      <variable name="p4DocUserDir" value="${compiler:p4workspaceDir}/depot/main/p4-doc/user" description="" category="" />
      <variable name="changelist" value="99999999" description="" category="" />
      <variable name="p4workspaceDir" value="/path/to/your/p4/workspace" description="" category="" />
    </variables>
    <mergedProjects />
    <codeSigning macEnabled="false" macPkcs12File="" windowsEnabled="false" windowsKeySource="pkcs12" windowsPvkFile="" windowsSpcFile="" windowsPkcs12File="" />
  </application>
  <files keepModificationTimes="false" missingFilesStrategy="warn" globalExcludeSuffixes="" defaultOverwriteMode="4" defaultUninstallMode="0" launcherOverwriteMode="3" defaultFileMode="644" defaultDirMode="755">
    <filesets />
    <roots />
    <mountPoints>
      <mountPoint id="303" root="" location="bin" mode="755" />
      <mountPoint id="422" root="" location="clients" mode="755" />
      <mountPoint id="423" root="" location="clients/java" mode="755" />
      <mountPoint id="424" root="" location="clients/java/lib" mode="755" />
      <mountPoint id="583" root="" location="clients/javascript" mode="755" />
      <mountPoint id="636" root="" location="clients/php" mode="755" />
      <mountPoint id="689" root="" location="clients/python" mode="755" />
      <mountPoint id="530" root="" location="clients/ruby" mode="755" />
      <mountPoint id="128" root="" location="doc" mode="755" />
      <mountPoint id="182" root="" location="etc" mode="755" />
      <mountPoint id="799" root="" location="etc/p4d" mode="755" />
      <mountPoint id="22" root="" location="lib" mode="755" />
      <mountPoint id="241" root="" location="log" mode="755" />
      <mountPoint id="298" root="" location="tmp" mode="755" />
      <mountPoint id="25" root="" location="sbin" mode="755" />
      <mountPoint id="370" root="" location="" mode="755" />
    </mountPoints>
    <entries>
      <dirEntry mountPoint="424" file="${compiler:sourceDir}/clients/2016.1.0/java/vendor" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" entryMode="direct" subDirectory="vendor" excludeSuffixes="" dirMode="755" overrideDirMode="false">
        <exclude />
      </dirEntry>
      <fileEntry mountPoint="424" file="${compiler:sourceDir}/clients/2016.1.0/java/build/libs/helix-web-services-client-2016.1.0.jar" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <dirEntry mountPoint="583" file="${compiler:sourceDir}/clients/2016.1.0/javascript" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" entryMode="direct" subDirectory="" excludeSuffixes="" dirMode="755" overrideDirMode="false">
        <exclude />
      </dirEntry>
      <dirEntry mountPoint="636" file="${compiler:sourceDir}/clients/2016.1.0/php" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" entryMode="direct" subDirectory="" excludeSuffixes="" dirMode="755" overrideDirMode="false">
        <exclude />
      </dirEntry>
      <dirEntry mountPoint="689" file="${compiler:sourceDir}/clients/2016.1.0/python" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" entryMode="direct" subDirectory="" excludeSuffixes="" dirMode="755" overrideDirMode="false">
        <exclude />
      </dirEntry>
      <dirEntry mountPoint="530" file="${compiler:sourceDir}/clients/2016.1.0/ruby" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" entryMode="direct" subDirectory="" excludeSuffixes="" dirMode="755" overrideDirMode="false">
        <exclude />
      </dirEntry>
      <fileEntry mountPoint="422" file="${compiler:sourceDir}/swagger/src/docs/swagger/helix-web-services-2016.1.0.yaml" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <fileEntry mountPoint="128" file="${compiler:sourceDir}/doc/pdf-generated/helix-web-services.pdf" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <fileEntry mountPoint="128" file="${compiler:p4DocUserDir}/helix-web-services-notes.txt" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <fileEntry mountPoint="182" file="${compiler:sourceDir}/install4j/helix-web-services.conf" overwriteMode="0" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="true" overrideUninstallMode="false" />
      <fileEntry mountPoint="182" file="${compiler:sourceDir}/install4j/log4j.xml" overwriteMode="0" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="true" overrideUninstallMode="false" />
      <fileEntry mountPoint="22" file="${compiler:sourceDir}/server/build/libs/hws.jar" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <fileEntry mountPoint="22" file="${compiler:sourceDir}/deployment/build/libs/deployment.jar" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <fileEntry mountPoint="370" file="${compiler:sourceDir}/LICENSE" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
      <fileEntry mountPoint="370" file="${compiler:sourceDir}/../../p4/Version" overwriteMode="4" shared="false" fileMode="644" uninstallMode="0" overrideFileMode="false" overrideOverwriteMode="false" overrideUninstallMode="false" />
    </entries>
    <components />
  </files>
  <launchers>
    <launcher name="helix-ws" id="26" customizedId="" external="false" excludeFromMenu="true" unixMode="755" menuName="" icnsFile="" customMacBundleIdentifier="false" macBundleIdentifier="" swtApp="false" fileset="" macBundleBinary="JavaApplicationStub" addMacEntitlements="false" macEntitlementsFile="" useCustomMacosExecutableName="false" customMacosExecutableName="">
      <executable name="helix-ws" type="1" iconSet="false" iconFile="" executableDir="sbin" redirectStderr="false" stderrFile="error.log" stderrMode="overwrite" redirectStdout="false" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="3" changeWorkingDirectory="true" workingDirectory=".." singleInstance="true" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="false" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="false">
        <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" />
      </executable>
      <splashScreen show="false" width="0" height="0" bitmapFile="" windowsNative="false" textOverlay="false">
        <text>
          <statusLine x="20" y="20" text="" fontSize="8" fontColor="0,0,0" bold="false" />
          <versionLine x="20" y="40" text="version ${compiler:sys.version}" fontSize="8" fontColor="0,0,0" bold="false" />
        </text>
      </splashScreen>
      <java mainClass="com.perforce.hws.server.HelixWebServices" vmParameters="" arguments="" allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
        <classPath>
          <archive location="lib/hws.jar" failOnError="false" />
        </classPath>
        <nativeLibraryDirectories />
        <vmOptions />
      </java>
      <includedFiles />
      <unextractableFiles />
      <vmOptionsFile mode="content" overwriteMode="0" fileMode="644">
        <content>-Xmx1024m
-Dlog4j.configurationFile=./etc/log4j.xml
-Djava.io.tmpdir=./tmp
-DHWS_CONFIG_PATH=./etc/helix-web-services.conf</content>
      </vmOptionsFile>
      <customScript mode="1" file="">
        <content />
      </customScript>
      <infoPlist mode="1" file="">
        <content />
      </infoPlist>
      <iconImageFiles />
    </launcher>
    <launcher name="setup-helix-ws" id="300" customizedId="" external="false" excludeFromMenu="false" unixMode="755" menuName="" icnsFile="" customMacBundleIdentifier="false" macBundleIdentifier="" swtApp="false" fileset="" macBundleBinary="JavaApplicationStub" addMacEntitlements="false" macEntitlementsFile="" useCustomMacosExecutableName="false" customMacosExecutableName="">
      <executable name="setup-helix-ws" type="1" iconSet="false" iconFile="" executableDir="sbin" redirectStderr="false" stderrFile="error.log" stderrMode="overwrite" redirectStdout="false" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="2" changeWorkingDirectory="true" workingDirectory=".." singleInstance="false" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="false" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="false">
        <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" />
      </executable>
      <splashScreen show="false" width="0" height="0" bitmapFile="" windowsNative="false" textOverlay="false">
        <text>
          <statusLine x="20" y="20" text="" fontSize="8" fontColor="0,0,0" bold="false" />
          <versionLine x="20" y="40" text="version ${compiler:sys.version}" fontSize="8" fontColor="0,0,0" bold="false" />
        </text>
      </splashScreen>
      <java mainClass="com.perforce.hws.deployment.ConfigureNewSystem" vmParameters="" arguments="" allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
        <classPath>
          <archive location="lib/deployment.jar" failOnError="false" />
        </classPath>
        <nativeLibraryDirectories />
        <vmOptions />
      </java>
      <includedFiles />
      <unextractableFiles />
      <vmOptionsFile mode="content" overwriteMode="0" fileMode="644">
        <content>-Dlog4j.configurationFile=./etc/log4j.xml</content>
      </vmOptionsFile>
      <customScript mode="1" file="">
        <content />
      </customScript>
      <infoPlist mode="1" file="">
        <content />
      </infoPlist>
      <iconImageFiles />
    </launcher>
    <launcher name="uninstall-helix-web-services" id="745" customizedId="" external="false" excludeFromMenu="false" unixMode="755" menuName="" icnsFile="" customMacBundleIdentifier="false" macBundleIdentifier="" swtApp="false" fileset="" macBundleBinary="JavaApplicationStub" addMacEntitlements="false" macEntitlementsFile="" useCustomMacosExecutableName="false" customMacosExecutableName="">
      <executable name="uninstall-helix-web-services" type="1" iconSet="false" iconFile="" executableDir="sbin" redirectStderr="false" stderrFile="error.log" stderrMode="overwrite" redirectStdout="false" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="2" changeWorkingDirectory="true" workingDirectory=".." singleInstance="false" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="false" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="false">
        <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" />
      </executable>
      <splashScreen show="false" width="0" height="0" bitmapFile="" windowsNative="false" textOverlay="false">
        <text>
          <statusLine x="20" y="20" text="" fontSize="8" fontColor="0,0,0" bold="false" />
          <versionLine x="20" y="40" text="version ${compiler:sys.version}" fontSize="8" fontColor="0,0,0" bold="false" />
        </text>
      </splashScreen>
      <java mainClass="com.perforce.hws.deployment.UninstallSystem" vmParameters="" arguments="" allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
        <classPath>
          <archive location="lib/deployment.jar" failOnError="false" />
        </classPath>
        <nativeLibraryDirectories />
        <vmOptions />
      </java>
      <includedFiles />
      <unextractableFiles />
      <vmOptionsFile mode="template" overwriteMode="0" fileMode="644">
        <content />
      </vmOptionsFile>
      <customScript mode="1" file="">
        <content />
      </customScript>
      <infoPlist mode="1" file="">
        <content />
      </infoPlist>
      <iconImageFiles />
    </launcher>
    <launcher name="generate-signing-key" id="796" customizedId="" external="false" excludeFromMenu="false" unixMode="755" menuName="" icnsFile="" customMacBundleIdentifier="false" macBundleIdentifier="" swtApp="false" fileset="" macBundleBinary="JavaApplicationStub" addMacEntitlements="false" macEntitlementsFile="" useCustomMacosExecutableName="false" customMacosExecutableName="">
      <executable name="generate-signing-key" type="1" iconSet="false" iconFile="" executableDir="sbin" redirectStderr="false" stderrFile="error.log" stderrMode="overwrite" redirectStdout="false" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="2" changeWorkingDirectory="true" workingDirectory=".." singleInstance="false" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="false" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="false">
        <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" />
      </executable>
      <splashScreen show="false" width="0" height="0" bitmapFile="" windowsNative="false" textOverlay="false">
        <text>
          <statusLine x="20" y="20" text="" fontSize="8" fontColor="0,0,0" bold="false" />
          <versionLine x="20" y="40" text="version ${compiler:sys.version}" fontSize="8" fontColor="0,0,0" bold="false" />
        </text>
      </splashScreen>
      <java mainClass="com.perforce.hws.deployment.GenerateJWTSigningKey" vmParameters="" arguments="" allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
        <classPath>
          <archive location="lib/deployment.jar" failOnError="false" />
        </classPath>
        <nativeLibraryDirectories />
        <vmOptions />
      </java>
      <includedFiles />
      <unextractableFiles />
      <vmOptionsFile mode="content" overwriteMode="0" fileMode="644">
        <content>-Dlog4j.configurationFile=./etc/log4j.xml</content>
      </vmOptionsFile>
      <customScript mode="1" file="">
        <content />
      </customScript>
      <infoPlist mode="1" file="">
        <content />
      </infoPlist>
      <iconImageFiles />
    </launcher>
  </launchers>
  <installerGui installerType="1" addOnAppId="" suggestPreviousLocations="true" autoUpdateDescriptorUrl="" useAutoUpdateBaseUrl="false" autoUpdateBaseUrl="">
    <staticMembers script="" />
    <customCode />
    <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
      <commentFiles />
      <customAttributes />
    </autoUpdate>
    <applications>
      <application name="" id="installer" customizedId="" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" enabled="true" commentSet="false" comment="" actionElevationType="none" fileset="" customIcnsFile="" customIcoFile="" macEntitlementsFile="" automaticLauncherIntegration="false" launchMode="startupFirstWindow" launchInNewProcess="false" launchSchedule="updateSchedule" allLaunchers="true">
        <serializedBean>
          <java class="java.beans.XMLDecoder">
            <object class="com.install4j.runtime.beans.applications.InstallerApplication">
              <void property="frameHeight">
                <int>600</int>
              </void>
              <void property="frameWidth">
                <int>900</int>
              </void>
            </object>
          </java>
        </serializedBean>
        <launcherIds />
        <variables />
        <startup>
          <screen name="" id="1" customizedId="" beanClass="com.install4j.runtime.beans.screens.StartupScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.StartupScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions>
              <action name="" id="13" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" enabled="true" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction">
                      <void property="failIfNotRootUnix">
                        <boolean>true</boolean>
                      </void>
                      <void property="obtainIfAdminMac">
                        <boolean>true</boolean>
                      </void>
                      <void property="obtainIfNormalMac">
                        <boolean>true</boolean>
                      </void>
                      <void property="obtainIfNormalWin">
                        <boolean>true</boolean>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
            </actions>
            <formComponents />
          </screen>
        </startup>
        <screens>
          <screen name="" id="2" customizedId="" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.WelcomeScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions>
              <action name="" id="3" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" multiExec="true" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction">
                      <void property="excludedVariables">
                        <array class="java.lang.String" length="1">
                          <void index="0">
                            <string>sys.installationDir</string>
                          </void>
                        </array>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
              </action>
            </actions>
            <formComponents />
          </screen>
          <screen name="" id="1086" customizedId="" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" />
              </java>
            </serializedBean>
            <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
            <validation />
            <preActivation />
            <postActivation />
            <actions />
            <formComponents />
          </screen>
          <screen name="" id="6" customizedId="" beanClass="com.install4j.runtime.beans.screens.ComponentsScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.ComponentsScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions />
            <formComponents />
          </screen>
          <screen name="" id="8" customizedId="" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="true" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.InstallationScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions>
              <action name="" id="1168" customizedId="" beanClass="com.install4j.runtime.beans.actions.services.StopServiceAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.services.StopServiceAction">
                      <void property="launcherId">
                        <string>26</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition>context.getInstallationDirectory().exists()</condition>
              </action>
              <action name="" id="9" customizedId="" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="2" errorMessage="${i18n:FileCorrupted}">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.InstallFilesAction" />
                  </java>
                </serializedBean>
                <condition />
              </action>
              <action name="" id="1091" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.RunExecutableAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.misc.RunExecutableAction">
                      <void property="executable">
                        <object class="java.io.File">
                          <string>sbin/setup-helix-ws</string>
                        </object>
                      </void>
                      <void property="keepConsoleWindow">
                        <boolean>true</boolean>
                      </void>
                      <void property="wait">
                        <boolean>true</boolean>
                      </void>
                      <void property="workingDirectory">
                        <object class="java.io.File">
                          <string>.</string>
                        </object>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
              <action name="" id="11" customizedId="" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction">
                      <void property="itemName">
                        <string>${compiler:sys.fullName} ${compiler:sys.version}</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
              <action name="" id="88" customizedId="" beanClass="com.install4j.runtime.beans.actions.services.InstallServiceAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.services.InstallServiceAction">
                      <void property="description">
                        <string>Helix Web Services</string>
                      </void>
                      <void property="launcherId">
                        <string>26</string>
                      </void>
                      <void property="macosIdentifier">
                        <string>com.perforce.HelixWebServices</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
              <action name="" id="1117" customizedId="" beanClass="com.install4j.runtime.beans.actions.services.StartServiceAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.services.StartServiceAction">
                      <void property="launcherId">
                        <string>26</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
            </actions>
            <formComponents />
          </screen>
          <screen name="" id="12" customizedId="" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" backButton="2" finishScreen="true" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.FinishedScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions />
            <formComponents>
              <formComponent name="" id="1067" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.LabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.LabelComponent">
                      <void property="labelText">
                        <string>Thank you for installing Helix Web Services!</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1068" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.SpacerComponent" />
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1070" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                      <void property="labelText">
                        <string>To configure the Helix Web Services service, change the following configuration file and restart your HWS service:</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1076" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.SpacerComponent" />
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1001" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.TextAreaComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.TextAreaComponent">
                      <void property="initialText">
                        <string>${installer:sys.contentDir}${installer:sys.fileSeparator}etc${installer:sys.fileSeparator}helix-web-services.conf</string>
                      </void>
                      <void property="variableName">
                        <string>configure</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1077" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.SpacerComponent" />
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1072" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                      <void property="labelText">
                        <string>To define Helix P4D servers that your Helix Web Services can communicate with, create a file with configuration for each in the following directory and restart your HWS service</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1073" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.TextAreaComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.TextAreaComponent">
                      <void property="initialText">
                        <string>${installer:sys.contentDir}${installer:sys.fileSeparator}etc${installer:sys.fileSeparator}p4d${installer:sys.fileSeparator}</string>
                      </void>
                      <void property="variableName">
                        <string>p4ds_location</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1078" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.SpacerComponent" />
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1074" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                      <void property="labelText">
                        <string>Example configuration file can be found at:</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1075" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.TextAreaComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.TextAreaComponent">
                      <void property="initialText">
                        <string>${installer:sys.contentDir}${installer:sys.fileSeparator}etc${installer:sys.fileSeparator}p4d${installer:sys.fileSeparator}example</string>
                      </void>
                      <void property="variableName">
                        <string>example</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
              <formComponent name="" id="1079" customizedId="" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" enabled="true" commentSet="false" comment="" insetTop="" insetLeft="" insetBottom="" insetRight="" resetInitOnPrevious="false">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.formcomponents.SpacerComponent" />
                  </java>
                </serializedBean>
                <initScript />
                <visibilityScript />
              </formComponent>
            </formComponents>
          </screen>
        </screens>
      </application>
      <application name="" id="uninstaller" customizedId="" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" enabled="true" commentSet="false" comment="" actionElevationType="none" fileset="" customIcnsFile="" customIcoFile="" macEntitlementsFile="" automaticLauncherIntegration="false" launchMode="startupFirstWindow" launchInNewProcess="false" launchSchedule="updateSchedule" allLaunchers="true">
        <serializedBean>
          <java class="java.beans.XMLDecoder">
            <object class="com.install4j.runtime.beans.applications.UninstallerApplication">
              <void property="customMacosExecutableName">
                <string>${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</string>
              </void>
              <void property="useCustomMacosExecutableName">
                <boolean>true</boolean>
              </void>
            </object>
          </java>
        </serializedBean>
        <launcherIds />
        <variables />
        <startup>
          <screen name="" id="14" customizedId="" beanClass="com.install4j.runtime.beans.screens.StartupScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.StartupScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions>
              <action name="" id="1107" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" enabled="true" commentSet="false" comment="" actionElevationType="none" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction">
                      <void property="failIfNotRootUnix">
                        <boolean>true</boolean>
                      </void>
                      <void property="obtainIfAdminMac">
                        <boolean>true</boolean>
                      </void>
                      <void property="obtainIfNormalMac">
                        <boolean>true</boolean>
                      </void>
                      <void property="obtainIfNormalWin">
                        <boolean>true</boolean>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
            </actions>
            <formComponents />
          </screen>
        </startup>
        <screens>
          <screen name="" id="15" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions />
            <formComponents />
          </screen>
          <screen name="" id="16" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="false" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.UninstallationScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions>
              <action name="" id="17" customizedId="" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.UninstallFilesAction" />
                  </java>
                </serializedBean>
                <condition />
              </action>
              <action name="" id="1084" customizedId="" beanClass="com.install4j.runtime.beans.actions.services.StopServiceAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.services.StopServiceAction">
                      <void property="launcherId">
                        <string>26</string>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
              <action name="" id="1093" customizedId="" beanClass="com.install4j.runtime.beans.actions.misc.RunExecutableAction" enabled="true" commentSet="false" comment="" actionElevationType="elevated" rollbackBarrier="false" multiExec="false" failureStrategy="1" errorMessage="">
                <serializedBean>
                  <java class="java.beans.XMLDecoder">
                    <object class="com.install4j.runtime.beans.actions.misc.RunExecutableAction">
                      <void property="executable">
                        <object class="java.io.File">
                          <string>sbin/uninstall-helix-web-services</string>
                        </object>
                      </void>
                      <void property="wait">
                        <boolean>true</boolean>
                      </void>
                      <void property="workingDirectory">
                        <object class="java.io.File">
                          <string>.</string>
                        </object>
                      </void>
                    </object>
                  </java>
                </serializedBean>
                <condition />
              </action>
            </actions>
            <formComponents />
          </screen>
          <screen name="" id="19" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="true" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.UninstallFailureScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions />
            <formComponents />
          </screen>
          <screen name="" id="18" customizedId="" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" enabled="true" commentSet="false" comment="" actionElevationType="inherit" rollbackBarrier="false" backButton="2" finishScreen="true" wizardIndexChangeType="unchanged" wizardIndexKey="">
            <serializedBean>
              <java class="java.beans.XMLDecoder">
                <object class="com.install4j.runtime.beans.screens.UninstallSuccessScreen" />
              </java>
            </serializedBean>
            <condition />
            <validation />
            <preActivation />
            <postActivation />
            <actions />
            <formComponents />
          </screen>
        </screens>
      </application>
    </applications>
  </installerGui>
  <mediaSets>
    <linuxDeb name="Linux 64-bit DEB" id="73" customizedId="" mediaFileName="helix-web-services_${compiler:productVersion}-${compiler:changelist}_amd64" installDir="/opt/perforce/${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="" manualJREEntry="false" overwriteNeverAsConfigFiles="true" bzip="false" description="Helix Web Services provides an HTTP-based middleware API for services in the Perforce Helix ecosystem." dependencies="openjdk-8-jdk | oracle-java8-installer" maintainerEmail="[email protected]" architectureSet="false" architecture="">
      <excludedComponents />
      <includedDownloadableComponents />
      <excludedLaunchers />
      <excludedBeans />
      <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
      <exclude />
      <variables />
      <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
        <commentFiles />
        <customAttributes />
      </autoUpdate>
      <preInstallScript mode="1" file="">
        <content />
      </preInstallScript>
      <postInstallScript mode="3" file="">
        <content>exec 2&gt;/opt/perforce/helix-web-services/log/error.log
/opt/perforce/helix-web-services/sbin/setup-helix-ws
if [ $? -ne 0 ]; then
    printf  "Failed to run /opt/perforce/helix-web-services/sbin/setup-helix-ws.\nSee /opt/perforce/helix-web-services/log/error.log for details.\n" 
    exit $?;
fi

service helix-ws start
if [ $? -ne 0 ]; then
    printf "Failed to run helix-ws.\nSee /opt/perforce/helix-web-services/log/error.log for details.\n"
    exit $?;
fi

echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo ":: Thank you for installing Helix Web Services!"
echo ":: "
echo ":: To configure the Helix Web Services service, change the following"
echo ":: configuration file and restart your HWS service:"
echo "::   /opt/perforce/helix-web-services/etc/helix-web-services.conf"
echo ":: "
echo ":: To define Helix P4D servers that your Helix Web Services can communicate with,"
echo ":: create a file with configuration for each in the following directory and "
echo ":: restart your HWS service"
echo "::   /opt/perforce/helix-web-services/etc/p4d/"
echo ":: "
echo ":: Example configuration file can be found at:"
echo "::   /opt/perforce/helix-web-services/etc/p4d/example"
echo "::\n::"
echo ":: To restart your HWS Service use the following command:"
echo "::   sudo service helix-ws restart"
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"</content>
      </postInstallScript>
      <preUninstallScript mode="3" file="">
        <content>#!/bin/sh
# vim:sw=4
# prerm script for helix-web-services
#
# see: dh_installdeb(1)


#-------------------------------------------------------------------------------
# Start of main functionality
#-------------------------------------------------------------------------------

die()
{
    echo "FATAL: $@" &gt;&amp;2
    exit 1
}

# Tidy up filesystem, leave the p4d configuration files alone.
run_uninstaller()
{
    /opt/perforce/helix-web-services/sbin/uninstall-helix-web-services --installer
    return 0
}

case "$1" in
    remove)
        run_uninstaller
    ;;

     upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
    ;;

    *)
        echo "prerm called with unknown argument \`$1'" &gt;&amp;2
    ;;
esac


exit 0</content>
      </preUninstallScript>
      <postUninstallScript mode="1" file="">
        <content>#!/bin/sh
# vim:sw=4
# postrm script for helix-web-services
#
# see: dh_installdeb(1)


#-------------------------------------------------------------------------------
# Start of main functionality
#-------------------------------------------------------------------------------

case "$1" in
    purge)
        return 0
    ;;

     remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
    ;;

    *)
        echo "postrm called with unknown argument \`$1'" &gt;&amp;2
    ;;
esac


exit 0</content>
      </postUninstallScript>
    </linuxDeb>
    <windowsArchive name="Windows 64-bit Archive" id="126" customizedId="" mediaFileName="helix-web-services-bin" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="64" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="" manualJREEntry="false">
      <excludedComponents />
      <includedDownloadableComponents />
      <excludedLaunchers />
      <excludedBeans />
      <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
      <exclude />
      <variables />
      <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
        <commentFiles />
        <customAttributes />
      </autoUpdate>
    </windowsArchive>
    <unixArchive name="Unix Archive" id="127" customizedId="" mediaFileName="helix-web-services-bin" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="true" includedJRE="" manualJREEntry="false">
      <excludedComponents />
      <includedDownloadableComponents />
      <excludedLaunchers />
      <excludedBeans />
      <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
      <exclude />
      <variables />
      <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
        <commentFiles />
        <customAttributes />
      </autoUpdate>
    </unixArchive>
    <windows name="Windows" id="1018" customizedId="" mediaFileName="${compiler:sys.shortName}-x64" installDir="Perforce${compiler:sys.fileSeparator}${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="64" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" customInstallBaseDir="" contentFilesType="1" verifyIntegrity="true">
      <excludedComponents />
      <includedDownloadableComponents />
      <excludedLaunchers />
      <excludedBeans>
        <bean refId="1086" />
        <bean refId="6" />
      </excludedBeans>
      <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
      <exclude />
      <variables />
      <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
        <commentFiles />
        <customAttributes />
      </autoUpdate>
    </windows>
    <macosFolder name="Mac OS X Folder" id="1102" customizedId="" mediaFileName="${compiler:sys.shortName}-x64" installDir="${compiler:sys.shortName}" overridePrincipalLanguage="false" jreBitType="all" runPostProcessor="false" postProcessor="" failOnPostProcessorError="false" useLegacyMediaFileIds="false" legacyMediaFileIds="" downloadURL="" includeAllDownloadableComponents="false" includedJRE="" manualJREEntry="false" bundleType="1" jreURL="" jreShared="false" directDownload="false" installOnlyIfNecessary="false" appleJre="false" requiredVmIdPrefix="" customInstallBaseDir="/opt/perforce" contentFilesType="1" installerName="${i18n:InstallerName(${compiler:sys.fullName})}" volumeName="${compiler:sys.shortName}" compressDmg="false" signLaunchers="false">
      <excludedComponents />
      <includedDownloadableComponents />
      <excludedLaunchers />
      <excludedBeans>
        <bean refId="1086" />
        <bean refId="6" />
      </excludedBeans>
      <overriddenPrincipalLanguage id="en" customLocalizationFile="" />
      <exclude />
      <variables />
      <autoUpdate useMinUpdatableVersion="false" minUpdatableVersion="" useMaxUpdatableVersion="false" maxUpdatableVersion="">
        <commentFiles />
        <customAttributes />
      </autoUpdate>
      <topLevelFiles />
    </macosFolder>
  </mediaSets>
  <buildIds buildAll="true">
    <mediaSet refId="1018" />
  </buildIds>
  <buildOptions verbose="false" faster="false" disableSigning="false" disableJreBundling="false" debug="false" />
</install4j>
# Change User Description Committed
#43 19857 swellard Changed the deb dependency to be
openjdk-8-jdk | oracle-java8-installer
#42 19848 ptomiak Stop service before installing if installation directory exists
#41 19846 swellard Check exit status during setup
#40 19812 ptomiak Change Windows installation directory
#39 19805 ptomiak Change HWS service name on OS X, kick off another build.
#38 19789 swellard Example config file review fixes
- Make sure we log to hws.log not System.out
- Try with resource and spelling fixes
#37 19756 ptomiak Update configuration file messages in installers
#36 19724 dbirch Updated installer names based on the details found here:

https://confluence.perforce.com:8443/display/IP/Package+Naming+Approach#PackageNamingApproach-WindowsPackage(Installer)NamingApproach
#35 19711 dbirch Update the build process so that the windows and mac installers are checked into the build depot after a build.

Need to confirm whether we still want the archived tarballs and zips to remain available.
#34 19701 tjuricek Add "--installer" option to flag that the uninstall-helix-web-services app is running via a package uninstaller.

This should fix deadlock issues on RPM-based systems.
#33 19687 ptomiak Run the uninstaller, and ignore a purge action on deb - yet to be determined what happens during that.

On ubuntu uninstall run just remove, not a purge.
#32 19686 ptomiak Run the uninstall java class on ubuntu and centos as well.
#31 19667 tjuricek Use compiler variable to local file.
#30 19666 ptomiak Revert workspace change - forgot to revert these.
#29 19664 ptomiak Add an installer for Windows, modify setup script name, modify deb and rpm package behaviour, add a Mac OS X dmg installer.
#28 19614 ptomiak Forgot about the rename I did on the Windows binary - revert that change for the builds to work.
#27 19613 ptomiak Package remove with purge should leave just the configuration files, anything else should be removed.
Rename the service to helix-ws.

Remove uninstall-helix-web-services from packages.
#26 19552 drobins Align references to WebApp with the actual class name of HelixWebServices
#25 19535 drobins Refactor package names to hws
#24 19445 tjuricek Fix the install4j-generated launcher (was using old WebApp class name), and add diagnostic messages for issues with DeployBinaryArchive.
#23 19380 tjuricek Adjust post-install config to handle upgrades better, and a test for debian systems.

- Our default config file has an invalid line to flag that the file has never been touched. It's removed on the first post-install config.
- We guard against overwriting things the next times post-install config is run, like the keystore files.
- There's a "media" setting in the install4j configuration to treat "never override" as config files, which avoid overwriting the config (finally found it), at least on debian.
- Added a new test suite just to ensure the configuration file is not overwritten, only works for .debs at the moment
#22 19026 tjuricek Set a flag on the config file to basically never overwrite it.
#21 19020 tjuricek Setup the deployment changes for multi-server configuration and JWT token setup.

Note: we don't setup our installation to operate as a Helix Sync "project server" by default, so we don't run those tests at the moment. (What a project server actually will be remains to be seen, actually.)
#20 19007 tjuricek Remove javadoc and yard "jar" distribution formats.

The documentation for all client SDKs are a part of the user guide.
#19 18832 tjuricek Implement uninstallation program for Helix Web Services.

The approach is "one stop cleanup". No interaction. You run this and the system is reset, basically.
#18 18818 tjuricek Python Client SDK for Helix Web Services
#17 18811 tjuricek Initial PHP client SDK for Helix Web Services.
#16 18810 tjuricek First-pass at JavaScript client SDK.

JavaScript requires Node with Gulp to "browserfy" the library. It's the easiest way I found to use the swagger-js project; bundle up a wrapping method.

There is no JavaScript reference guide. The swagger-js doesn't really document what they do very well, actually.

Overall I'm not particularly impressed by swagger-js, it was hard to even figure out what the right method syntax was. We may want to invest time in doing it better.

This required setting CORS response headers, which are currently defaulted to a fairly insecure setting.
#15 18805 tjuricek Added a minimal test suite integration with gradle, and include the gem in the installation process.

The installers didn't quite get the revised versions of clients too, so I fixed that as well.

We'll follow up with more tests in later work.
#14 18684 tjuricek Correct the post install message on .deb packages.
#13 18585 tjuricek Adding JavaDoc reference for client libraries to package distributions.
#12 18555 tjuricek Added Java client libraries to installation, along with swagger source.
#11 18327 tjuricek Moving the bin/configure wrapper to sbin/configure-helix-web-services.

For Linux packages, we link this to a ".sh" variant. (On Windows, this will have an .exe extension.)
#10 18307 tjuricek Switching out use of changelist within the product version for installers, and using as the "release" tag.

Also, using rpm -qa to search for installed packages, the "call yum installed helix-web-services and check for error" didn't seem to work correctly.
#9 18292 tjuricek Change naming scheme for .deb files to follow manifest conventions.
Remove rules to use hws.jar in package testing.
#8 18277 tjuricek Removed 'rpm' media type from install4j (awaiting features in next version) and adding Linux package, OS X, and Windows automation for deployment and cleanup.
#7 18238 tjuricek Documentation-building related tweaks:

- Reference the documentation from the local build, not the build archive, since that doesn't exist yet.
- When gradle calls the publicsite ant task, it should be within the doc/ directory, otherwise, a publicsite-generated/ directory will appear in the root directory (and in the doc/ directory) and you won't get everything in one place.
#6 18210 tjuricek Switch to building RPMs via rpmbuild.

The install4j .rpm works, but, doesn't give you access to metadata fields that are pretty important to repository managers. (Their workflow is that the user downloads the rpm and just installs it, which means no "yum install helix-web-services".)
#5 18181 tjuricek Add release notes to doc/ directory of distribution.
#4 18176 tjuricek Make sure trigger CRUD test doesn't leave a trigger around to invalidate tests that happen to run later.


Also, sweep the .zip binary archive into the bin.ntx64 directory, not noarch.
#3 18165 tjuricek First pass at a .deb package that seems to meet packaging standards.

I'm basing this information on two wiki pages:

https://confluence.perforce.com:8443/display/IP/Package+Naming+Approach
https://confluence.perforce.com:8443/display/IP/Packages+Standards

Note: This .deb shouldn't be necessarily specific to the ubuntu version, ergo, there is no "~trusty".
#2 18036 tjuricek Add automated testing for the "binary" archive installation for Linux; revised CD process for new archives.

The CD process will generate both binary archives and "raw" packages for the system now. (Note: only the binary archives for Linux are considered ready for automated testing at the moment.)
#1 18035 tjuricek Preliminary distribution formats with first-pass post-install configuration script for Linux only.

This is *manually verified* at the moment. The testing framework is TBD.

This contains *preliminary* hooks for .deb and .rpm packages. Those are *completely untested* and not configured.