blob: 7137467e4be7fbdd66a7a89a99c4a154f256cb50 [file]
<!--
-
- 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="jca" xmlns:artifact="antlib:org.apache.maven.artifact.ant" default="build">
<property name="module.depends" value="common client"/>
<property name="module.name" value="jca"/>
<property name="module.genpom" value="true"/>
<property name="module.genpom.args" value="-Sgeronimo-j2ee-connector_1.5_spec=provided -Sgeronimo-jta_1.1_spec=provided -Sgeronimo-jms_1.1_spec=provided -Sgeronimo-ejb_3.0_spec=provided -Sgeronimo-servlet_2.5_spec=provided -Sgeronimo-kernel=provided"/>
<import file="../module.xml"/>
<property name="rar.name.prefix" value="${project.name}-ra"/>
<property name="module.rar" value="${build.lib}/${rar.name.prefix}-${project.version}.rar"/>
<property name="rar.resources" value="rar/src/main/resources"/>
<property name="rar.scratch.pom" value="${build.scratch}/${rar.name.prefix}-${project.version}.pom"/>
<target name="rar" depends="jar" description="creates a rar file containing the module jar, client jars, etc">
<jar destfile="${module.rar}">
<fileset dir="${rar.resources}">
<include name="**/*.xml"/>
</fileset>
<fileset dir="${build.lib}">
<include name="${project.name}-jca-${project.version}.jar"/>
<include name="${project.name}-client-${project.version}.jar"/>
<include name="${project.name}-common-${project.version}.jar"/>
</fileset>
</jar>
</target>
<!-- Create properties file for examples -->
<target name="example-properties-file">
<copy file="example/build-properties.xml.temp" tofile="example/build-properties.xml" overwrite="true">
<filterset>
<filter token="project.version" value="${project.version}"/>
</filterset>
</copy>
</target>
<!-- Copy jars for standalone examples -->
<target name="example-jars">
<mkdir dir="example/lib"/>
<copy todir="example/lib">
<fileset dir="${build.lib}">
<include name="${project.name}-jca-${project.version}.jar"/>
<include name="${project.name}-client-${project.version}.jar"/>
<include name="${project.name}-common-${project.version}.jar"/>
</fileset>
</copy>
</target>
<target name="examples" depends="example-properties-file, example-jars"/>
<target name="postbuild" depends="rar, examples"/>
<!-- Override module.xml 'libs' target to avoid copying the jar files dependencies
into the 'build/lib' dir, since they will be supplied by the app server -->
<target name="libs"/>
<!--Overrides, but depends on, [module.]pom target in module.xml -->
<target name="pom" depends="module.pom" if="module.genpom">
<jython path="${mllib.dir}">
<args>
<arg line='"${project.root}/genpom"'/>
<arg line='-s "${project.root}/lib/poms"'/>
<arg line='-o "${rar.scratch.pom}"'/>
<arg line="-u ${project.url}"/>
<arg line="-g ${project.groupid}"/>
<arg line="-v ${project.version.maven}${maven.version.suffix}"/>
<arg line="-a ${rar.name.prefix}"/>
<arg line="-t rar"/>
</args>
</jython>
</target>
<!--Overrides, but depends on, [module.]release-mvn target in module.xml -->
<target name="release-mvn" depends="module.release-mvn" if="module.genpom" description="Install the artifacts into the local repository and prepare the release artifacts">
<artifact:pom id="rar.pom" file="${rar.scratch.pom}"/>
<artifact:install file="${module.rar}" pomRefId="rar.pom" settingsFile="${maven.settings.xml}">
<localRepository path="${maven.local.repo}"/>
</artifact:install>
<artifact:deploy file="${module.rar}" pomRefId="rar.pom" uniqueVersion="${maven.unique.version}" settingsFile="${maven.settings.xml}">
<localRepository path="${maven.local.repo}"/>
<remoteRepository url="${maven.remote.repo}"/>
</artifact:deploy>
</target>
<!--Overrides, but depends on, [module.]deploy-snapshot target in module.xml -->
<target name="deploy-snapshot" depends="module.deploy-snapshot" if="module.genpom" description="deploy a snapshot build to nexus">
<!-- In order to use this target you need to have predefined a username and password for the
server with id ${maven.snapshots.repo.id} in your m2 settings file, e.g ~/.m2/settings.xml -->
<artifact:pom id="rar.pom" file="${rar.scratch.pom}"/>
<fail message="The pom version must include -SNAPSHOT. Version found was: ${rar.pom.version}">
<condition>
<not>
<contains substring="-SNAPSHOT" string="${rar.pom.version}" />
</not>
</condition>
</fail>
<artifact:install file="${module.rar}" pomRefId="rar.pom" settingsFile="${maven.settings.xml}">
<localRepository path="${maven.local.repo}"/>
</artifact:install>
<artifact:deploy file="${module.rar}" pomRefId="rar.pom">
<localRepository path="${maven.local.repo}"/>
<remoteRepository id="${maven.snapshots.repo.id}" url="${maven.snapshots.repo.url}"/>
</artifact:deploy>
</target>
</project>