<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version | |
2.0 (the "License"); you may not use this file except in compliance | |
with the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 Unless required by | |
applicable law or agreed to in writing, software distributed under the | |
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR | |
CONDITIONS OF ANY KIND, either express or implied. See the License for | |
the specific language governing permissions and limitations under the | |
License. | |
--> | |
<project | |
xmlns:rat="antlib:org.apache.rat.anttasks" | |
xmlns:ivy="antlib:org.apache.ivy.ant" | |
xmlns="antlib:org.apache.tools.ant" | |
> | |
<import file="ivy-java-common.xml" /> | |
<import file="ivy-webapp-common.xml" /> | |
<tstamp /> | |
<property name="project.general.name" value="apache-wookie-${version}" /> | |
<property name="wookie.source.folder.name" value="${project.general.name}-src" /> | |
<property name="wookie.war.folder.name" value="${project.general.name}-war" /> | |
<property name="wookie.standalone.folder.name" value="${project.general.name}-standalone" /> | |
<property name="rat.install.version" value="0.7" /> | |
<property name="rat.home" value="${user.home}/.ant" /> | |
<property name="rat.jar.dir" value="${rat.home}/lib" /> | |
<property name="rat.jar.file" value="${rat.jar.dir}/rat.jar" /> | |
<!-- get the rat jar as we do with ivy --> | |
<target name="download-rat" unless="offline"> | |
<mkdir dir="${rat.jar.dir}"/> | |
<!-- download rat from web site so that it can be used even without any special installation --> | |
<get src="http://repo2.maven.org/maven2/org/apache/rat/apache-rat/${rat.install.version}/apache-rat-${rat.install.version}.jar" | |
dest="${rat.jar.file}" usetimestamp="true"/> | |
</target> | |
<target name="init-rat" depends="download-rat"> | |
<!-- try to load rat here from rat home, in case the user has not already dropped | |
it into ant's lib dir (note that the latter copy will always take precedence). | |
We will not fail as long as local lib dir exists (it may be empty) and | |
rat is in at least one of ant's lib dir or the local lib dir. --> | |
<path id="rat.lib.path"> | |
<fileset dir="${rat.jar.dir}" includes="*.jar"/> | |
</path> | |
<taskdef resource="org/apache/rat/anttasks/antlib.xml" | |
uri="antlib:org.apache.rat.anttasks" classpathref="rat.lib.path"/> | |
</target> | |
<target name="build-release-all" | |
depends="build-release-src, build-release-standalone, build-release-war, add-extra-files"> | |
<echo>Building all releases</echo> | |
</target> | |
<target name="build-release-src" depends="init-rat"> | |
<echo>Building source release</echo> | |
<mkdir dir="${wookie.release.dir}/${version}/source/${wookie.source.folder.name}" /> | |
<copy todir="${wookie.release.dir}/${version}/source/${wookie.source.folder.name}"> | |
<fileset dir="."/> | |
</copy> | |
<copy file="./etc/release/src-build-include.txt" toFile="${wookie.release.dir}/${version}/source/src-build-include.txt"> | |
<filterset> | |
<filter token="FOLDERNAME" value="${wookie.source.folder.name}/"/> | |
</filterset> | |
</copy> | |
<copy file="./etc/release/src-build-include.txt" toFile="${wookie.release.dir}/${version}/source/src-build-include-rat-test.txt"> | |
<filterset> | |
<filter token="FOLDERNAME" value=""/> | |
</filterset> | |
</copy> | |
<zip destfile="${wookie.release.dir}/${version}/source/${wookie.source.folder.name}.zip" | |
basedir="${wookie.release.dir}/${version}/source/" | |
includesFile="${wookie.release.dir}/${version}/source/src-build-include.txt" | |
/> | |
<!-- tar --> | |
<tar destfile="${wookie.release.dir}/${version}/source/${wookie.source.folder.name}.tar.gz" | |
compression="gzip"> | |
<zipfileset src="${wookie.release.dir}/${version}/source/${wookie.source.folder.name}.zip" /> | |
</tar> | |
<!-- run RAT report --> | |
<rat:report reportFile="${wookie.release.dir}/${version}/source/rat-report.txt"> | |
<fileset dir="."> | |
<includesFile name="${wookie.release.dir}/${version}/source/src-build-include-rat-test.txt" /> | |
<excludesfile name="./etc/rat-ignore.txt"/> | |
</fileset> | |
</rat:report> | |
<!-- clean up --> | |
<delete dir="${wookie.release.dir}/${version}/source/${wookie.source.folder.name}"/> | |
<delete file="${wookie.release.dir}/${version}/source/src-build-include.txt"/> | |
<delete file="${wookie.release.dir}/${version}/source/src-build-include-rat-test.txt"/> | |
</target> | |
<target name="build-release-war" depends="init-rat,clean-build, compile-core, deploy-webapp, post-deploy-webapp"> | |
<echo>Building war release</echo> | |
<delete dir="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}" /> | |
<mkdir dir="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/scripts/migration" /> | |
<!-- back the widgetserver.properties file up --> | |
<copy file="${build.dir}/webapp/wookie/WEB-INF/classes/widgetserver.properties" | |
tofile="${build.dir}/widgetserver.properties" | |
overwrite="true"/> | |
<!-- update widgetserver.properties file so that it points to mysql as db type--> | |
<copy file="${project.core.src.dir}/widgetserver.properties" | |
todir="${build.dir}/webapp/wookie/WEB-INF/classes/" | |
overwrite="true"> | |
<filterset> | |
<filter token="PERSISTENCE_MANAGER_CLASSNAME" value="org.apache.wookie.beans.jpa.JPAPersistenceManager"/> | |
<filter token="DATABASE_TYPE" value="mysql"/> | |
<filter token="REPOSITORY_USER" value=""/> | |
<filter token="REPOSITORY_PASSWORD" value=""/> | |
<filter token="REPOSITORY_ROOTPATH" value=""/> | |
<filter token="REPOSITORY_WORKSPACE" value=""/> | |
</filterset> | |
</copy> | |
<!-- build war file --> | |
<war | |
destfile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/wookie.war" | |
webxml="${build.dir}/webapp/wookie/WEB-INF/web.xml"> | |
<lib dir="${build.dir}/webapp/wookie/WEB-INF/lib"> | |
<exclude name="derby-10.4.2.0.jar"/> | |
</lib> | |
<classes dir="${build.dir}/webapp/wookie/WEB-INF/classes" /> | |
<fileset dir="${build.dir}/webapp/wookie/"> | |
<exclude name="WEB-INF/classes/" /> | |
<exclude name="WEB-INF/lib/" /> | |
</fileset> | |
<metainf dir="."> | |
<include name="UPGRADING"/> | |
</metainf> | |
<metainf dir="etc/release/war/"> | |
<include name="LICENSE"/> | |
<include name="NOTICE"/> | |
</metainf> | |
</war> | |
<!-- put original widgetserver.properties file back --> | |
<copy file="${build.dir}/widgetserver.properties" | |
tofile="${build.dir}/webapp/wookie/WEB-INF/classes/widgetserver.properties" | |
overwrite="true" /> | |
<delete file="${build.dir}/widgetserver.properties" /> | |
<!-- | |
<delete file="${build.dir}/webapp/wookie/LICENSE" /> | |
--> | |
<!-- copy sql scripts across --> | |
<copy todir="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/scripts/"> | |
<fileset dir="${build.dir}/classes/org/apache/wookie/beans/jpa/"> | |
<include name="*.sql" /> | |
</fileset> | |
</copy> | |
<!-- copy migration scripts across --> | |
<copy todir="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/scripts/migration/"> | |
<fileset dir="scripts/migration/"/> | |
</copy> | |
<!-- copy over project readme files--> | |
<copy file="README" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/README" overwrite="yes" /> | |
<copy file="RELEASE_NOTES" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/RELEASE_NOTES" overwrite="yes" /> | |
<copy file="NEW_AND_NOTEWORTHY" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/NEW_AND_NOTEWORTHY" overwrite="yes" /> | |
<copy file="UPGRADING" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/UPGRADING" overwrite="yes" /> | |
<copy file="etc/release/war/NOTICE" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/NOTICE" overwrite="yes" /> | |
<copy file="etc/release/war/LICENSE" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/LICENSE" overwrite="yes" /> | |
<!-- copy WAR readme--> | |
<copy file="etc/release/war/WAR_BUILD_NOTES" | |
tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/WAR_BUILD_NOTES" | |
overwrite="yes" /> | |
<!-- update context for mysql --> | |
<copy file="${etc.dir}/tomcat/conf/jpa-context.xml" tofile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/${ant.project.name}.xml" overwrite="true"> | |
<filterset> | |
<filter token="DATABASE_USER" value="java" /> | |
<filter token="DATABASE_PASSWORD" value="java" /> | |
<filter token="DATABASE_DRIVER" value="com.mysql.jdbc.Driver" /> | |
<filter token="DATABASE_URI" value="jdbc:mysql://localhost:3306/widgetdb" /> | |
</filterset> | |
</copy> | |
<!-- zip --> | |
<zip destfile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}.zip" basedir="${wookie.release.dir}/${version}/binary/war/" update="true" /> | |
<!-- tar --> | |
<tar destfile="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}.tar.gz" | |
compression="gzip"> | |
<zipfileset src="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}.zip" /> | |
</tar> | |
<!-- run RAT report --> | |
<rat:report reportFile="${wookie.release.dir}/${version}/binary/war/rat-report.txt"> | |
<fileset dir="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}/"> | |
<excludesfile name="./etc/rat-ignore.txt"/> | |
</fileset> | |
</rat:report> | |
<!-- clean up --> | |
<delete dir="${wookie.release.dir}/${version}/binary/war/${wookie.war.folder.name}" /> | |
</target> | |
<target name="build-release-standalone" depends="init-rat, clean-build, compile-core, deploy-webapp, post-deploy-webapp"> | |
<echo>Building standalone release</echo> | |
<delete dir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}" /> | |
<mkdir dir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/build/" /> | |
<mkdir dir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/lib/" /> | |
<mkdir dir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/etc/" /> | |
<copy todir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/build/"> | |
<fileset dir="${build.dir}/"> | |
<exclude name="classes/" /> | |
<exclude name="widgets/" /> | |
<exclude name="**/*.java" /> | |
</fileset> | |
</copy> | |
<copy todir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/"> | |
<fileset dir="etc/release/standalone/" /> | |
</copy> | |
<copy file="./etc/jetty-realm.properties" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/etc/jetty-realm.properties" /> | |
<copy file="README" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/README" overwrite="yes" /> | |
<copy file="RELEASE_NOTES" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/RELEASE_NOTES" overwrite="yes" /> | |
<copy file="NEW_AND_NOTEWORTHY" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/NEW_AND_NOTEWORTHY" overwrite="yes" /> | |
<!--<copy file="UPGRADING" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/UPGRADING" overwrite="yes" />--> | |
<copy file="etc/release/standalone/LICENSE" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/LICENSE" overwrite="yes" /> | |
<copy file="etc/release/standalone/NOTICE" tofile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/NOTICE" overwrite="yes" /> | |
<ivy:retrieve conf="runtime" | |
pattern="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/lib/[artifact]-[revision].[ext]" /> | |
<!-- duplicate --> | |
<delete file="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}/lib/servlet-api-2.5.jar" /> | |
<!-- run RAT report --> | |
<rat:report reportFile="${wookie.release.dir}/${version}/binary/standalone/rat-report.txt"> | |
<fileset dir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}"> | |
<excludesfile name="./etc/rat-ignore.txt"/> | |
</fileset> | |
</rat:report> | |
<zip destfile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}.zip" | |
basedir="${wookie.release.dir}/${version}/binary/standalone/" includes="${wookie.standalone.folder.name}/" | |
update="true" /> | |
<tar destfile="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}.tar.gz" | |
compression="gzip"> | |
<zipfileset src="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}.zip" /> | |
</tar> | |
<delete dir="${wookie.release.dir}/${version}/binary/standalone/${wookie.standalone.folder.name}" /> | |
</target> | |
<target name="add-extra-files" depends=""> | |
<copy file="etc/release/runsignatures.bat" tofile="${wookie.release.dir}/runsignatures.bat" overwrite="yes" /> | |
</target> | |
</project> |