| <?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}
"/> |
| </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> |