Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)

91128: Redesign extraction of installer binaries, so that they are only done when the corresponding installer is built. Will help with disk space errors.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@94776 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2015-01-31 11:17:52 +00:00
parent 9d755ab295
commit afb9ac0c61

View File

@@ -1,15 +1,40 @@
<project default="extract-binaries"> <project default="extract-binaries" xmlns:unless="ant:unless">
<property name="binaries.linux" value="${project.build.directory}/binaries-linux-x64" />
<property name="binaries.osx" value="${project.build.directory}/binaries-osx-x64" />
<property name="binaries.win32" value="${project.build.directory}/binaries-windows" />
<property name="binaries.win64" value="${project.build.directory}/binaries-windows-x64" />
<target name="extract-binaries"> <target name="extract-binaries">
<mkdir dir="${binaries.linux}" /> <extract-for platform="linux" unless:set="skipLinInstaller" />
<mkdir dir="${binaries.osx}" /> <extract-for platform="osx" unless:set="skipOSXInstaller" />
<mkdir dir="${binaries.win32}" /> <extract-for platform="win32" unless:set="skipWinInstaller" />
<mkdir dir="${binaries.win64}" /> <extract-for platform="win64" unless:set="skipWinInstaller" />
</target>
<macrodef name="extract-for">
<attribute name="platform" />
<sequential>
<echo>Extracting binaries for @{platform}</echo>
<!-- Set binaries folder depending on the platform -->
<local name="bin.folder"/>
<condition property="bin.folder" value="${project.build.directory}/binaries-linux-x64">
<equals arg1="@{platform}" arg2="linux" />
</condition>
<condition property="bin.folder" value="${project.build.directory}/binaries-osx-x64">
<equals arg1="@{platform}" arg2="osx" />
</condition>
<condition property="bin.folder" value="${project.build.directory}/binaries-windows">
<equals arg1="@{platform}" arg2="win32" />
</condition>
<condition property="bin.folder" value="${project.build.directory}/binaries-windows-x64">
<equals arg1="@{platform}" arg2="win64" />
</condition>
<!-- LibreOffice is the same for win32 and win64 -->
<local name="libreoffice.platform"/>
<condition property="libreoffice.platform" value="windows" else="@{platform}">
<or>
<equals arg1="@{platform}" arg2="win32" />
<equals arg1="@{platform}" arg2="win64" />
</or>
</condition>
<!-- Accommodate poor Cygwin users --> <!-- Accommodate poor Cygwin users -->
<pathconvert property="maven.localrepo" targetos="unix"> <pathconvert property="maven.localrepo" targetos="unix">
@@ -19,86 +44,34 @@
</path> </path>
</pathconvert> </pathconvert>
<!-- Tomcat --> <mkdir dir="${bin.folder}" />
<echo> Extracting Tomcat...</echo> <echo> Extracting Tomcat...</echo>
<exec failonerror="true" executable="tar" dir="${binaries.linux}"> <exec failonerror="true" executable="tar" dir="${bin.folder}">
<arg value="xf" /> <arg value="xf" />
<arg value="${maven.localrepo}/org/apache/tomcat/tomcat/${installer.tomcat.version}/tomcat-${installer.tomcat.version}-linux.tgz" /> <arg value="${maven.localrepo}/org/apache/tomcat/tomcat/${installer.tomcat.version}/tomcat-${installer.tomcat.version}-@{platform}.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.osx}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/apache/tomcat/tomcat/${installer.tomcat.version}/tomcat-${installer.tomcat.version}-osx.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win32}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/apache/tomcat/tomcat/${installer.tomcat.version}/tomcat-${installer.tomcat.version}-win32.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win64}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/apache/tomcat/tomcat/${installer.tomcat.version}/tomcat-${installer.tomcat.version}-win64.tgz" />
</exec> </exec>
<!-- Delete ROOT folder in Tomcat --> <!-- Delete ROOT folder in Tomcat -->
<delete dir="${binaries.linux}/apache-tomcat/webapps/ROOT"/> <delete dir="${bin.folder}/apache-tomcat/webapps/ROOT"/>
<delete dir="${binaries.osx}/apache-tomcat/webapps/ROOT"/>
<delete dir="${binaries.win32}/apache-tomcat/webapps/ROOT"/>
<delete dir="${binaries.win64}/apache-tomcat/webapps/ROOT"/>
<!-- PostgreSQL -->
<echo> Extracting PostgreSQL...</echo> <echo> Extracting PostgreSQL...</echo>
<exec executable="tar" dir="${binaries.linux}"> <exec failonerror="true" executable="tar" dir="${bin.folder}">
<arg value="xf" /> <arg value="xf" />
<arg value="${maven.localrepo}/org/postgresql/postgresql-distribution/${installer.postgresql.version}/postgresql-distribution-${installer.postgresql.version}-linux.tgz" /> <arg value="${maven.localrepo}/org/postgresql/postgresql-distribution/${installer.postgresql.version}/postgresql-distribution-${installer.postgresql.version}-@{platform}.tgz" />
</exec>
<exec executable="tar" dir="${binaries.osx}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/postgresql/postgresql-distribution/${installer.postgresql.version}/postgresql-distribution-${installer.postgresql.version}-osx.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win32}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/postgresql/postgresql-distribution/${installer.postgresql.version}/postgresql-distribution-${installer.postgresql.version}-win32.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win64}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/postgresql/postgresql-distribution/${installer.postgresql.version}/postgresql-distribution-${installer.postgresql.version}-win64.tgz" />
</exec> </exec>
<!-- Java -->
<echo> Extracting Java...</echo> <echo> Extracting Java...</echo>
<exec executable="tar" dir="${binaries.linux}"> <exec failonerror="true" executable="tar" dir="${bin.folder}">
<arg value="xf" /> <arg value="xf" />
<arg value="${maven.localrepo}/com/oracle/java/jre/${installer.java.version}/jre-${installer.java.version}-linux.tgz" /> <arg value="${maven.localrepo}/com/oracle/java/jre/${installer.java.version}/jre-${installer.java.version}-@{platform}.tgz" />
</exec>
<exec executable="tar" dir="${binaries.osx}">
<arg value="xf" />
<arg value="${maven.localrepo}/com/oracle/java/jre/${installer.java.version}/jre-${installer.java.version}-osx.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win32}">
<arg value="xf" />
<arg value="${maven.localrepo}/com/oracle/java/jre/${installer.java.version}/jre-${installer.java.version}-win32.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win64}">
<arg value="xf" />
<arg value="${maven.localrepo}/com/oracle/java/jre/${installer.java.version}/jre-${installer.java.version}-win64.tgz" />
</exec> </exec>
<!-- LibreOffice -->
<echo> Extracting LibreOffice...</echo> <echo> Extracting LibreOffice...</echo>
<exec executable="tar" dir="${binaries.linux}"> <exec failonerror="true" executable="tar" dir="${bin.folder}">
<arg value="xf" /> <arg value="xf" />
<arg value="${maven.localrepo}/org/libreoffice/libreoffice-dist/${installer.libreoffice.version}/libreoffice-dist-${installer.libreoffice.version}-linux.tgz" /> <arg value="${maven.localrepo}/org/libreoffice/libreoffice-dist/${installer.libreoffice.version}/libreoffice-dist-${installer.libreoffice.version}-${libreoffice.platform}.tgz" />
</exec> </exec>
<exec executable="tar" dir="${binaries.osx}"> </sequential>
<arg value="xf" /> </macrodef>
<arg value="${maven.localrepo}/org/libreoffice/libreoffice-dist/${installer.libreoffice.version}/libreoffice-dist-${installer.libreoffice.version}-osx.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win32}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/libreoffice/libreoffice-dist/${installer.libreoffice.version}/libreoffice-dist-${installer.libreoffice.version}-windows.tgz" />
</exec>
<exec failonerror="true" executable="tar" dir="${binaries.win64}">
<arg value="xf" />
<arg value="${maven.localrepo}/org/libreoffice/libreoffice-dist/${installer.libreoffice.version}/libreoffice-dist-${installer.libreoffice.version}-windows.tgz" />
</exec>
</target>
</project> </project>