Newer
Older
<project name="installation" default="dist" basedir="..">
<import file="../../openbis-common/build/build-common.xml" />
<project-classpath name="ecp" classes="${classes}" />
<property name="original.dist" value="dist" />
<property name="mainfolder" value="installation" />
<property name="classes.installation" value="../installation/targets/ant/classes" />
<property name="classes.common" value="../common/targets/ant/classes" />
<!-- absolute path referenced from IzPack Ant task -->
<property name="installer.basedir" value="${basedir}/resource/installer" />
<!-- relative path referenced from within the installer compilation -->
<property name="installer.dist.dir" value="${basedir}/${dist}/installer" />
<property name="installer.resourcedir" value="${installer.dist.dir}" />
<property name="installer.jar.file" value="${basedir}/${dist}/openBIS-installer.jar" />
<path id="izpack.classpath">
<pathelement path="${classpath}"/>
<fileset dir="${lib}">
<include name="izpack/*.jar"/>
<include name="commons-io/commons-io.jar"/>
<include name="commons-lang/commons-lang.jar"/>
</fileset>
</path>
<taskdef name="izpack" classpathref="izpack.classpath" classname="com.izforge.izpack.ant.IzPackTask"/>
<target name="compile" depends="build-common.compile" />
<target name="run-tests">
<antcall target="build-common.run-tests">
<param name="test.suite" value="tests.xml" />
</antcall>
</target>
<target name="dist" depends="dist-standard-technologies">
<target name="dist-standard-technologies" depends="compile">
<build-info revision="revision.number" version="version.number" clean="clean.flag" />
<antcall target="create-installation-tarball">
<param name="openbis.server.zip.folder" value="../openbis_standard_technologies/targets/dist" />
<param name="datastore.server.zip.folder" value="../openbis_standard_technologies/targets/dist" />
<param name="variant" value="-standard-technologies" />
<param name="database.kind" value="standard-technologies" />
<param name="installation.customize.folder" value="../openbis_standard_technologies/dist/tarball/installer" />
<param name="is-standard-technologies" value="true" />
<target name="create-installation-tarball">
<pathconvert property="extracted.version">
<path>
<fileset dir="${openbis.server.zip.folder}">
<include name="openBIS-server${variant}-*.zip"/>
</fileset>
</path>
<chainedmapper>
<flattenmapper/>
<filtermapper>
<replaceregex pattern="openBIS-server${variant}-(.*)\.zip" replace="\1"/>
</filtermapper>
</chainedmapper>
</pathconvert>
<property name="tarball.basename" value="openBIS-installation${variant}-${extracted.version}" />
<antcall target="create-installer"/>
<tar destfile="${basedir}/${dist}/${tarball.basename}.tar.gz" compression="gzip">
<tarfileset dir="${basedir}/resource/tarball"
prefix="${tarball.basename}/">
<include name="*.*"/>
<exclude name="*.sh"/>
</tarfileset>
<tarfileset dir="${basedir}/resource/tarball"
prefix="${tarball.basename}/"
filemode="755">
<include name="*.sh"/>
</tarfileset>
<tarfileset dir="${dist}"
prefix="${tarball.basename}/">
<include name="*-installer.jar"/>
</tarfileset>
</tar>
<delete file="${installer.jar.file}" />
</target>
<!--
params
1) openbis.server.zip.folder
2) datastore.server.zip.folder
3) variant ("" or "-screening")
4) database.kind
5) installation.customize.folder
declares a local folder for (e.g. screening/dist/installer), where the different
installation can define customizations for their installers.
6) is-standard-technologies
if true wizard page for selecting/deselecting technologies will be shown
-->
<target name="create-installer">
<mkdir dir="${installer.dist.dir}" />
<unzip dest="${installer.dist.dir}">
<fileset dir="${openbis.server.zip.folder}">
<include name="openBIS-server${variant}-*.zip"/>
</fileset>
<fileset dir="${datastore.server.zip.folder}">
<include name="datastore_server${variant}-*.zip"/>
</fileset>
</unzip>
<copy todir="${installer.dist.dir}">
<fileset dir="${installer.basedir}">
<include name="**/*"/>
<exclude name="**/.svn/*"/>
</fileset>
</copy>
<copy todir="${installer.dist.dir}" overwrite="true">
<fileset dir="${installation.customize.folder}">
<include name="**/*"/>
<exclude name="**/.svn/*"/>
</fileset>
</copy>
<!-- this suffix will be used by the installer to check if there are database connections -->
<property name="installer.database.kind" value="${database.kind}" />
<replace file="${installer.dist.dir}/install.xml" token="is-standard-technologies-value-created-by-ant-script" value="${is-standard-technologies}"/>
<izpack input="${installer.dist.dir}/install.xml"
output="${installer.jar.file}"
inheritAll="true"
installerType="standard"
basedir="${basedir}"/>
<jar update="true" destfile="${installer.jar.file}">
<fileset dir="${classes.installation}">
<include name="ch/systemsx/cisd/openbis/installer/izpack/**/*"/>
</fileset>
<fileset dir="${classes.common}">
<include name="**/*.class"/>
</fileset>
<zipfileset src="${lib}/postgresql/postgresql.jar">
<exclude name="META_INF/*"/>
<include name="**/*"/>
</zipfileset>
<zipfileset src="${lib}/cisd-base/cisd-base.jar">
<exclude name="META_INF/*"/>
<include name="**/*"/>
</zipfileset>
<zipfileset src="${lib}/commons-io/commons-io.jar">
<exclude name="META_INF/*"/>
<include name="**/*"/>
</zipfileset>
<zipfileset src="${lib}/log4j/log4j.jar">
<exclude name="META_INF/*"/>
<include name="**/*"/>
</zipfileset>
</jar>
<delete dir="${installer.dist.dir}" />
</target>
<!--
// Task for continuous integration server.
-->
<target name="clean" description="Cleans distribution directory.">
<delete dir="${dist}" failonerror="true" />
<mkdir dir="${dist}" />
<!-- make Hudson happy (it expects a test-output folder -->
<mkdir dir="${dist}/../test-output" />
<target name="ci" depends="clean, dist, build-common.ci" />
</project>