blob: 62e7ee4f5f2fe015ef0a06754b541b4286d8cc2a [file] [log] [blame]
<?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:j="jelly:core"
xmlns:ant="jelly:ant"
xmlns:maven="jelly:maven"
xmlns:u="jelly:util"
>
<!-- ==================== -->
<!-- Default Global Goals -->
<!-- ==================== -->
<goal name="help">
<echo>Custom goals for this project are:</echo>
<echo> jdo11.build - builds all JDO1 projects</echo>
<echo> jdo11.default - calls the default goal for all JDO1 projects</echo>
<echo> jdo11.clean - cleans all JDO1 projects</echo>
<echo> jdo2.build - builds all JDO2 projects</echo>
<echo> jdo2.default - calls the default goal for all JDO2 projects</echo>
<echo> jdo2.clean - cleans all JDO2 projects</echo>
<echo> tck2.build - builds tck2 and dependent JDO2 projects</echo>
<echo> tck2.default - calls the default goal for tck2 and dependent JDO2 projects</echo>
<echo> tck2.clean - cleans tck2 and dependent JDO2 projects</echo>
<echo> tck2.dist - creates distributions of tck2 and dependent JDO2 projects</echo>
<echo> fostore20.clean - cleans fostore20 and dependencies</echo>
<echo> fostore20.build - builds fostore20 and dependencies</echo>
<echo> fostore20.default - calls the default goal for fostore20 and dependencies</echo>
<echo>Please check README.txt for more details.</echo>
</goal>
<!-- ========== -->
<!-- JDO1 Goals -->
<!-- ========== -->
<goal name="jdo11.build"
description="Builds all JDO1 projects">
<j:set var="maven.multiproject.includes">${jdo11.projects}</j:set>
<j:set var="goal">build</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="jdo11.default"
description="Calls the default goal for all JDO1 projects">
<j:set var="maven.multiproject.includes">${jdo11.projects}</j:set>
<j:set var="goal">default</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="jdo11.clean"
description="Cleans all JDO1 projects">
<j:set var="maven.multiproject.includes">${jdo11.projects}</j:set>
<attainGoal name="multiproject:clean"/>
</goal>
<!-- ========== -->
<!-- JDO2 Goals -->
<!-- ========== -->
<goal name="jdo2.build"
description="Builds all JDO2 projects">
<j:set var="maven.multiproject.includes">${jdo2.projects}</j:set>
<j:set var="goal">build</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="jdo2.default"
description="Calls the default goal for all JDO2 projects">
<j:set var="maven.multiproject.includes">${jdo2.projects}</j:set>
<j:set var="goal">default</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="jdo2.clean"
description="Cleans all JDO2 projects">
<j:set var="maven.multiproject.includes">${jdo2.projects}</j:set>
<attainGoal name="multiproject:clean"/>
</goal>
<goal name="tck2.build"
description="Builds tck2 and dependent JDO2 projects">
<j:set var="maven.multiproject.includes">${tck2.projects}</j:set>
<j:set var="goal">build</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="tck2.default"
description="Calls the default goal for tck2 and dependent JDO2 projects">
<j:set var="maven.multiproject.includes">${tck2.projects}</j:set>
<j:set var="goal">default</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="tck2.clean"
description="Cleans tck2 and dependent JDO2 projects">
<j:set var="maven.multiproject.includes">${tck2.projects}</j:set>
<attainGoal name="multiproject:clean"/>
</goal>
<goal name="tck2.dist"
description="Creates distributions of tck2 and dependent JDO2 projects">
<j:set var="maven.multiproject.includes">${tck2.projects}</j:set>
<j:set var="goal">dist</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="fostore20.build"
description="Builds fostore20 and dependencies">
<j:set var="maven.multiproject.includes">${fostore20.projects}</j:set>
<j:set var="goal">build</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="fostore20.default"
description="Calls the default goal for fostore20 and dependencies">
<j:set var="maven.multiproject.includes">${fostore20.projects}</j:set>
<j:set var="goal">default</j:set>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="fostore20.clean"
description="Cleans fostore20 and dependencies">
<j:set var="maven.multiproject.includes">${fostore20.projects}</j:set>
<attainGoal name="multiproject:clean"/>
</goal>
<!-- ==== -->
<!-- Misc -->
<!-- ==== -->
<goal name="multiproject:clean">
<attainGoal name="multiproject:projects-init"/>
<maven:reactor
basedir="${maven.multiproject.basedir}"
banner="Gathering project list"
includes="${maven.multiproject.includes}"
excludes="${maven.multiproject.excludes}"
postProcessing="true"
ignoreFailures="${maven.multiproject.ignoreFailures}"
collectionVar="reactorProjects"
collectOnly="true" />
<j:forEach var="reactorProject" items="${reactorProjects}">
<j:set var="_clean_dir">${reactorProject.context.getVariable("maven.build.dest")}</j:set>
<ant:delete dir="${_clean_dir}" failonerror="false" />
<j:set var="_clean_dir">${reactorProject.context.getVariable("maven.build.dir")}</j:set>
<ant:delete dir="${_clean_dir}" failonerror="false" />
<j:set var="_basedir">${reactorProject.context.getVariable("basedir")}</j:set>
<ant:delete file="${_basedir}/velocity.log" quiet="true" failonerror="false" />
<ant:delete file="${_basedir}/velocity.log.1" quiet="true" failonerror="false" />
<ant:delete file="${_basedir}/jcoverage.ser" quiet="true" failonerror="false" />
</j:forEach>
</goal>
<!-- ==================== -->
<!-- Distribution support -->
<!-- ==================== -->
<preGoal name="dist:build-src">
<echo>Copying top-level project.xml, project.properties, LICENSE.txt, NOTICE.txt, and README.txt to ${maven.dist.src.archive.dir}</echo>
<copy toDir="${maven.dist.src.archive.dir}">
<fileset dir="${basedir}/..">
<include name="project.properties"/>
<include name="project.xml"/>
<include name="README.txt"/>
<include name="LICENSE.txt"/>
<include name="NOTICE.txt"/>
</fileset>
</copy>
<echo>Creating ${maven.dist.src.archive.dir}/lib/ext</echo>
<mkdir dir="${maven.dist.src.archive.dir}/lib/ext"/>
</preGoal>
<preGoal name="dist:build-bin">
<echo>Copying top-level LICENSE.txt, NOTICE.txt, and README.txt to ${maven.dist.bin.archive.dir}</echo>
<copy toDir="${maven.dist.bin.archive.dir}">
<fileset dir="${basedir}/..">
<include name="README.txt"/>
<include name="LICENSE.txt"/>
<include name="NOTICE.txt"/>
</fileset>
</copy>
</preGoal>
<postGoal name="dist">
<attainGoal name="copy-release-artifacts"/>
</postGoal>
<goal name="copy-release-artifacts">
<attainGoal name="copy-distribution"/>
<attainGoal name="copy-dependency-artifacts"/>
</goal>
<goal name="copy-dependency-artifacts">
<mkdir dir="${jdo.releases.dist.dir}/m1-ibiblio-rsync-repository/${pom.groupId}/jars"/>
<mkdir dir="${jdo.releases.dist.dir}/m1-ibiblio-rsync-repository/${pom.groupId}/poms"/>
<!-- Copy the artifacts for the remote repository -->
<copy file="${maven.build.dir}/${maven.final.name}.jar"
todir="${jdo.releases.dist.dir}/m1-ibiblio-rsync-repository/${pom.groupId}/jars"/>
<copy file="project.xml"
toFile="${jdo.releases.dist.dir}/m1-ibiblio-rsync-repository/${pom.groupId}/poms/${maven.final.name}.pom" />
</goal>
<goal name="copy-distribution">
<mkdir dir="${jdo.releases.dist.dir}/db/jdo/${pom.currentVersion}"/>
<!-- Copy distributions -->
<copy todir="${jdo.releases.dist.dir}/db/jdo/${pom.currentVersion}">
<fileset dir="${maven.build.dir}/distributions"/>
</copy>
</goal>
</project>