blob: 8da85af428d0898e55c770e417443ffe3295b5a8 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project name="build-web-server" default="precommit" xmlns:ivy="antlib:org.apache.ivy.ant">
<path id="bundles"/>
<property file="${basedir}/../build.properties"/>
<property file="${basedir}/../build.versions"/>
<import file="${basedir}/../virgo-build/multi-bundle/default.xml"/>
<property name="tomcat-server.basedir" value="${basedir}/tomcat-server"/>
<target name="vts.package-resources-and-products" depends="ivy.init">
<delete dir="${package.output.dir}" quiet="true"/>
<mkdir dir="${package.output.dir}"/>
<property name="kernel.stage.file" value=""/>
<property name="tomcat.server.resources" value="${tomcat-server.target.dir}/tomcat_server_resources"/>
<property name="repository.ext" value="${tomcat.server.resources}/repository/ext"/>
<property name="repository.usr" value="${tomcat.server.resources}/repository/usr"/>
<unzip src="${p2.repository.dir}/binary/kernel_specific_resources_1.0.0" dest="${tomcat.server.resources}">
<globmapper from="kernel_specific_resources_1.0.0/*" to="*"/>
</unzip>
<mkdir dir="${repository.usr}"/>
<antcall target="package.config"/>
<antcall target="package.docs"/>
<antcall target="package.lib"/>
<antcall target="package.pickup"/>
<antcall target="package.repository"/>
<antcall target="package.resources"/>
<antcall target="package.publish"/>
</target>
<target name="vts.package-distro" depends="ivy.init">
<antcall target="package.install"/>
</target>
<target name="vts.clean-up" depends="ivy.init">
<delete dir="${tomcat.server.resources.location}" quiet="true"/>
<delete dir="${tomcat-server.target.dir}/assembly" quiet="true"/>
<delete dir="${tomcat-server.target.dir}" quiet="true"/>
</target>
<target name="package.publish">
<property name="tomcat.server.resources.location" value="${tomcat-server.target.dir}/tomcat_server_resources_zipped"/>
<zip destfile="${tomcat.server.resources.location}/binary/tomcat_server_resources">
<zipfileset dir="${tomcat.server.resources}"/>
</zip>
<delete dir="${tomcat.server.resources}" quiet="true"/>
<property name="p2.products.location" value="${tomcat-server.basedir}/publish_resources/products"/>
<antcall target="p2.publish-binary">
<param name="repository" value="${p2.repository.dir}"/>
<param name="source" value="${tomcat.server.resources.location}"/>
</antcall>
<echo message="Published the tomcat server resources to ${p2.repository.dir}."/>
<antcall target="p2.publish-product">
<param name="repository" value="${p2.repository.dir}"/>
<param name="product.file.location" value="${p2.products.location}/tomcat-server/tomcat-server.product"/>
</antcall>
<echo message="Published tomcat server product to ${p2.repository.dir}."/>
</target>
<target name="vts.prepare-bundles-and-features">
<!--prepare tomcat server feature for publishing -->
<copy todir="${tomcat-server.target.dir}/assembly/features" failonerror="false">
<fileset dir="${tomcat-server.basedir}/publish_resources/features"/>
</copy>
</target>
<target name="vts.publish-bundles-and-features">
<antcall target="p2.publish-bundles-features">
<param name="repository" value="${p2.repository.dir}"/>
<param name="source" value="${tomcat-server.target.dir}/assembly"/>
</antcall>
<echo message="Published bundles and features to ${p2.repository.dir}."/>
</target>
<target name="package.install">
<property name="vts.package.dir" value="${package.dir}/VTS"/>
<antcall target="p2.install-virgo-product">
<param name="repository" value="${p2.repository.dir}"/>
<param name="destination" value="${vts.package.dir}/virgo-tomcat-server-${bundle.version}"/>
<param name="product.iu" value="tomcat-server.product"/>
</antcall>
<echo message="Installed Virgo Tomcat Server for distribution purposes."/>
<mkdir dir="${artifacts.dir}"/>
<delete dir="${vts.package.dir}/virgo-tomcat-server-${bundle.version}/Eclipse.app" quiet="true"/>
<zip destfile="${artifacts.dir}/virgo-tomcat-server-${bundle.version}.zip">
<zipfileset dir="${vts.package.dir}" includes="virgo-tomcat-server-${bundle.version}/bin/*.sh" filemode="755"/>
<zipfileset dir="${vts.package.dir}" includes="virgo-tomcat-server-${bundle.version}/configuration/org.eclipse.virgo.kernel.jmxremote.access.properties" filemode="600"/>
<zipfileset dir="${vts.package.dir}">
<exclude name="virgo-tomcat-server-${bundle.version}/bin/*.sh"/>
<exclude name="virgo-tomcat-server-${bundle.version}/configuration/org.eclipse.virgo.kernel.jmxremote.access.properties"/>
</zipfileset>
</zip>
</target>
<target name="package.config">
<copy todir="${tomcat.server.resources}/configuration" failonerror="false" overwrite="true">
<fileset dir="${tomcat-server.basedir}/configuration"/>
</copy>
<replaceregexp match="initialArtifacts =.*\.blueprint"
replace="initialArtifacts=repository:plan/org.eclipse.virgo.kernel.userregion.blueprint,repository:plan/org.eclipse.virgo.web.tomcat,repository:configuration/org.eclipse.virgo.apps.repository" flags="s"
file="${tomcat.server.resources}/configuration/org.eclipse.virgo.kernel.userregion.properties"/>
<replaceregexp match=" javax\.servlet\.\*;.*?,\\.*? "
replace=" " flags="s"
file="${tomcat.server.resources}/configuration/org.eclipse.virgo.kernel.userregion.properties"/>
<replaceregexp match="virgo-kernel" replace="virgo-server" flags="g"
file="${tomcat.server.resources}/configuration/serviceability.xml"/>
</target>
<target name="package.docs" depends="ivy.init">
<ivy:resolve resolveId="copy.path" file="${tomcat-server.basedir}/docs-ivy.xml" transitive="false" conf="docs"/>
<ivy:retrieve resolveId="copy.path" pattern="${tomcat-server.target.dir}/docs/[artifact]-[revision].[ext]" conf="docs" type="zip, pdf"/>
<copy todir="${tomcat.server.resources}/docs/virgo-user-guide/pdf" flatten="true">
<fileset dir="${tomcat-server.target.dir}/docs">
<include name="**/virgo-user-guide*.pdf"/>
</fileset>
</copy>
<copy todir="${tomcat.server.resources}/docs/virgo-programmer-guide/pdf" flatten="true">
<fileset dir="${tomcat-server.target.dir}/docs">
<include name="**/virgo-programmer-guide*.pdf"/>
</fileset>
</copy>
<unzip dest="${tomcat.server.resources}/docs/virgo-user-guide">
<fileset dir="${tomcat-server.target.dir}/docs">
<include name="**/virgo-user-guide*.zip"/>
</fileset>
</unzip>
<unzip dest="${tomcat.server.resources}/docs/virgo-programmer-guide">
<fileset dir="${tomcat-server.target.dir}/docs">
<include name="**/virgo-programmer-guide*.zip"/>
</fileset>
</unzip>
</target>
<target name="package.lib">
<echo file="${tomcat.server.resources}/lib/.version" append="true"
message="virgo.server.version=${bundle.version}&#xa;"/>
</target>
<target name="package.pickup" depends="ivy.init">
<ivy:resolve resolveId="copy.path" file="${tomcat-server.basedir}/pickup-ivy.xml" transitive="true"/>
<ivy:retrieve resolveId="copy.path" pattern="${tomcat.server.resources}/pickup/[artifact]_[revision].[ext]" type="jar, war, wab" conf="pickup"/>
<ivy:retrieve resolveId="copy.path" pattern="${tomcat.server.resources}/pickup/[artifact]_[revision].[ext]" type="plan" conf="pickup-plan"/>
<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact]_[revision].[ext]" type="jar, war, wab" conf="pickup-plan"/>
</target>
<target name="package.repository" depends="ivy.init">
<copy todir="${tomcat.server.resources}/repository/ext" flatten="true">
<fileset dir="${tomcat-server.basedir}/repository/ext">
<include name="*.*"/>
</fileset>
</copy>
<ivy:resolve resolveId="copy.path" file="${tomcat-server.basedir}/repository-ivy.xml" transitive="false"/>
<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact]_[revision].[ext]" conf="ext" type="library,jar,plan"/>
<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact].[ext]" conf="ext" type="configuration"/>
<ivy:resolve resolveId="copy.path" file="${tomcat-server.basedir}/repository-ivy.xml" transitive="true"/>
<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact]_[revision].[ext]" conf="transitive" type="library,jar,plan" />
<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact].[ext]" conf="transitive" type="configuration" />
</target>
<target name="package.resources">
<copy todir="${tomcat.server.resources}" failonerror="false">
<fileset dir="${tomcat-server.basedir}/resources"/>
</copy>
</target>
<target name="smoke-test-tomcat-server" description="Runs a smoke test on the packaged build">
<path id="smoke.test.bundles">
<pathelement location="${tomcat-server.basedir}/org.eclipse.virgo.tomcat.smoketest" />
</path>
<antcall target="test.pre"/>
<all-bundles target="test-package" buildpathRef="smoke.test.bundles">
<property name="package.output.file" value="${artifacts.dir}/virgo-tomcat-server-${bundle.version}.zip"/>
<property name="package.basename" value="virgo-tomcat-server-${bundle.version}"/>
<property name="test-results.output.dir" value="${test-results.output.dir}"/>
</all-bundles>
<antcall target="test.post"/>
</target>
</project>