| <!-- |
| 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 name="org.apache.easyant#easyant-core" xmlns:ea="antlib:org.apache.easyant" |
| xmlns:ivy="antlib:org.apache.ivy.ant"> |
| |
| <!-- Force compatibility to java 1.5 --> |
| <property name="compile.java.target.version" value="1.5"/> |
| <property name="compile.java.source.version" value="1.5"/> |
| |
| <property name="target.documentation.dir" value="${basedir}/target/documentation"/> |
| <property name="xooki.temp.dir" value="${basedir}/target/temp-doc"/> |
| <property name="xooki.resources.include.pattern" value="style/**,images/**,sortable.js"/> |
| <property name="eadoc.documentation.dir" value="${xooki.temp.dir}"/> |
| |
| <property name="project.ivy.instance" value="easyant.ivy.instance"/> |
| <property name="release.resolver" value="easyant-shared-modules"/> |
| <property name="shared.resolver" value="easyant-shared-modules"/> |
| |
| <property name="retrieve.dependencies" value="true"/> |
| |
| <property name="test.run.includes.pattern" value="**/*Test.class"/> |
| <property name="test.run.excludes.pattern" value="**/*BaseTest.class"/> |
| |
| <!-- override main artifact retrieve pattern --> |
| <property name="retrieve.pattern.lib.main" value="${basedir}/lib/main/[artifact].[ext]"/> |
| |
| <!-- Load external properties |
| /!\ This file will contains svn credentials so it should not be commited /!\ |
| --> |
| <property file="module.properties"/> |
| |
| <!--Loading build type --> |
| <ea:build module="build-std-java" rev="0.9"/> |
| |
| <!-- Loading plugins --> |
| <ea:plugin module="xooki" rev="0.9" as="xooki"/> |
| <ea:plugin module="scm-svn" rev="0.9" as="svn"/> |
| <ea:plugin module="javadoc" rev="0.9" as="javadoc"/> |
| <ea:plugin module="distribution" rev="0.9" as="distribution"/> |
| <ea:plugin module="rat" rev="0.9" as="rat"/> |
| |
| <extension-point name="distribution" description="create a distribution package" depends="package-jar:jar"/> |
| <property name="target.dist" value="${target}/dist"/> |
| |
| <target name="test-setup" description="add extra information to classpath for unit tests"> |
| <!-- |
| our unit test requires the JDK tools.jar to run, which cannot be defined normally |
| in module.ivy dependencies. |
| |
| Ant will try to find the tools.jar using java.home System property, but sometimes |
| this points to JDK, and sometimes to JRE. |
| See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4200300 |
| --> |
| <augment id="run.test.classpath"> |
| <path path="${java.class.path}"/> |
| </augment> |
| </target> |
| |
| <target name="prepare-distribution"> |
| |
| <mkdir dir="${target.documentation.dir}"/> |
| |
| <patternset id="easyant-files.patternset"> |
| <exclude name="target/**"/> |
| <include name="lib/*.jar"/> |
| |
| <include name="example/**"/> |
| <exclude name="example/**/bin/**"/> |
| <exclude name="example/**/lib/**"/> |
| <exclude name="example/**/target/**"/> |
| |
| <include name="sample-easyant-ivysettings.xml"/> |
| <include name="easyant-conf.xml"/> |
| <include name="README"/> |
| <include name="NOTICE"/> |
| <include name="DISCLAIMER"/> |
| <include name="LICENSE"/> |
| </patternset> |
| |
| <patternset id="easyant-exec.patternset"> |
| <include name="bin/**"/> |
| </patternset> |
| |
| </target> |
| |
| <target name="stage-dist" depends="prepare-distribution, abstract-provisioning:provisioning"> |
| |
| <mkdir dir="${target.dist}"/> |
| |
| <copy todir="${target.dist}"> |
| <fileset dir="${basedir}"> |
| <patternset refid="easyant-files.patternset"/> |
| <patternset refid="easyant-exec.patternset"/> |
| <!--copy ivysettings.xml for developpers --> |
| <patternset includes="ivysettings.xml"/> |
| </fileset> |
| </copy> |
| |
| <mkdir dir="${target.dist}/lib/"/> |
| <copy todir="${target.dist}/lib"> |
| <fileset dir="${basedir}/lib/main"/> |
| </copy> |
| <copy file="${target.main.artifact}" todir="${target.dist}/lib"/> |
| |
| <!-- makes easyant scripts executable --> |
| <chmod perm="744" dir="${target.dist}"> |
| <patternset refid="easyant-exec.patternset"/> |
| </chmod> |
| |
| </target> |
| |
| <target name="dist" depends="package-jar:jar, stage-dist" |
| description="update the dist directory (used for development)"> |
| |
| <!-- declare distribution fileset for use in packaging targets --> |
| <fileset id="easyant-dist.fileset" dir="${target.dist}"> |
| <patternset refid="easyant-files.patternset"/> |
| <patternset refid="easyant-exec.patternset"/> |
| </fileset> |
| |
| </target> |
| |
| <!-- Create a zip for the binary distribution --> |
| <target name="package-bin-distribution" depends="distribution:init, populate-jar-repo, dist, xooki:generate" |
| description="package the binary distribution" extensionOf="distribution"> |
| <echo message="Packaging binary distribution."/> |
| <property name="root.dir" value="${ivy.module}-${ivy.revision}"/> |
| <bundle destfile="${target.distributions}/${ivy.module}-${version}-bin"> |
| <zipfileset dir="${target.dist}" prefix="${root.dir}"> |
| <patternset refid="easyant-files.patternset"/> |
| </zipfileset> |
| <!-- make scripts executable --> |
| <zipfileset dir="${target.dist}" prefix="${root.dir}" filemode="744"> |
| <patternset refid="easyant-exec.patternset"/> |
| </zipfileset> |
| <!-- ship the documentation --> |
| <zipfileset dir="${target.documentation.dir}" prefix="${root.dir}/doc"/> |
| </bundle> |
| |
| </target> |
| |
| <!-- Create a zip for the source distribution --> |
| <target name="package-src-distribution" depends="distribution:init" description="package the sources" |
| extensionOf="distribution"> |
| <echo message="Packaging source distribution."/> |
| <property name="full.root.dir" value="${ivy.module}-${ivy.revision}-src"/> |
| <bundle destfile="${target.distributions}/${ivy.module}-${version}-src"> |
| <zipfileset dir="${basedir}" prefix="${full.root.dir}"> |
| <patternset> |
| <include name="src/**"/> |
| <include name="bin/**"/> |
| <include name="example/**"/> |
| <include name="module.ant"/> |
| <include name="module.ivy"/> |
| <include name="build.xml"/> |
| <include name="easyant-conf.xml"/> |
| <include name="ivysettings.xml"/> |
| <include name="ivysettings-bootstrap.xml"/> |
| <include name="sample-easyant-ivysettings.xml"/> |
| <include name="NOTICE"/> |
| <include name="DISCLAIMER"/> |
| <include name="README"/> |
| <include name="LICENSE"/> |
| <include name=".settings/**"/> |
| <include name=".project"/> |
| <include name=".classpath"/> |
| </patternset> |
| </zipfileset> |
| </bundle> |
| </target> |
| |
| <macrodef name="install-module"> |
| <attribute name="organisation"/> |
| <attribute name="module"/> |
| <attribute name="revision"/> |
| <sequential> |
| <ivy:install matcher="exactOrRegexp" from="apache-easyant-plugins" to="core" organisation="@{organisation}" |
| module="@{module}" revision="@{revision}" settingsRef="easyant.ivy.instance" overwrite="true"/> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="install-buildtype"> |
| <attribute name="organisation" default="org.apache.easyant.buildtypes"/> |
| <attribute name="module"/> |
| <attribute name="revision"/> |
| <sequential> |
| <install-module organisation="@{organisation}" module="@{module}" revision="@{revision}"/> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="install-plugin"> |
| <attribute name="organisation" default="org.apache.easyant.plugins"/> |
| <attribute name="module"/> |
| <attribute name="revision"/> |
| <sequential> |
| <install-module organisation="@{organisation}" module="@{module}" revision="@{revision}"/> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="install-skeleton"> |
| <attribute name="organisation" default="org.apache.easyant.skeletons"/> |
| <attribute name="module"/> |
| <attribute name="revision"/> |
| <sequential> |
| <install-module organisation="@{organisation}" module="@{module}" revision="@{revision}"/> |
| </sequential> |
| </macrodef> |
| |
| <target name="populate-jar-repo" |
| description="fetch plugins and buildtypes from online repository and prepare them to be shipped within easyant"> |
| <ea:configure-build-scoped-repository target="${basedir}/target/main/classes/" generateWrapperResoler="false" |
| name="core" settingsRef="easyant.ivy.instance"/> |
| |
| <install-plugin module="abstract-.*" revision="0.9"/> |
| <install-plugin module="antcontrib-activator" revision="0.9"/> |
| <install-plugin module="antunit" revision="0.9"/> |
| <install-plugin module="build-tools" revision="0.9"/> |
| <install-plugin module="clean-std" revision="0.9"/> |
| <install-plugin module="compile-java" revision="0.9"/> |
| <install-plugin module="compile-test-java" revision="0.9"/> |
| <install-plugin module="default-version-strategy" revision="0.9"/> |
| <install-plugin module="deps-lib" revision="0.9"/> |
| <install-plugin module="distribution" revision="0.9"/> |
| <install-plugin module="documentation" revision="0.9"/> |
| <install-plugin module="easyant-plugin-publication" revision="0.9"/> |
| <install-plugin module="ivy-.*" revision="0.9"/> |
| <install-plugin module="javadoc" revision="0.9"/> |
| <install-plugin module="manifest" revision="0.9"/> |
| <install-plugin module="offline" revision="0.9"/> |
| <install-plugin module="phases-std" revision="0.9"/> |
| <install-plugin module="resources-std" revision="0.9"/> |
| <install-plugin module="run-java" revision="0.9"/> |
| <install-plugin module="skeleton" revision="0.9"/> |
| <install-plugin module="source-jar" revision="0.9"/> |
| <install-plugin module="test-junit" revision="0.9"/> |
| |
| <install-buildtype module="build-std-java" revision="0.9"/> |
| <install-buildtype module="build-std-ant-plugin" revision="0.9"/> |
| <install-buildtype module="build-webapp-java" revision="0.9"/> |
| <install-buildtype module="meta-build" revision="0.9"/> |
| </target> |
| |
| </project> |