You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
4.5 KiB
110 lines
4.5 KiB
13 years ago
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!--
|
||
|
Copyright 2010 SpringSource
|
||
|
|
||
|
Licensed 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="publish-common" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant">
|
||
|
|
||
|
<import file="common.xml"/>
|
||
|
|
||
|
<!-- Main targets -->
|
||
|
<target name="publish" depends="publish-ivy, publish-maven"
|
||
|
description="Publishes all artifacts to remote repositories"/>
|
||
|
|
||
|
<target name="publish-ivy" depends="ivy.init, resolve">
|
||
|
<delete quiet="true" file="${ivy.output.file}"/>
|
||
|
<mkdir dir="${ivy.output.dir}"/>
|
||
|
|
||
|
<ivy:publish resolver="${publication.resolver.prefix}-bundle-publish" pubdate="${timestamp}"
|
||
|
status="${release.type}">
|
||
|
<artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
|
||
|
<artifacts pattern="${jar.output.dir}/[artifact].[ext]"/>
|
||
|
<artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/>
|
||
|
<artifacts pattern="${license.dir}/[artifact].[ext]"/>
|
||
|
</ivy:publish>
|
||
|
</target>
|
||
|
|
||
|
<target name="publish-maven" depends="create.pom, snapshot.pom, maven.init" unless="local.build">
|
||
|
<maven:deploy file="${jar.output.file}">
|
||
|
<remoteRepository url="s3://${publish.bucket}/maven/bundles/${adjusted.release.type}">
|
||
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
||
|
</remoteRepository>
|
||
|
<pom file="${pom.output.file}"/>
|
||
|
<attach file="${source-jar.output.file}" classifier="sources"/>
|
||
|
</maven:deploy>
|
||
|
</target>
|
||
|
|
||
|
<target name="publish-maven-central" depends="maven.init">
|
||
|
<property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
|
||
|
<maven:deploy file="${jar.output.file}">
|
||
|
<remoteRepository url="${maven.central.repository}">
|
||
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
||
|
</remoteRepository>
|
||
|
<pom file="${local.pom.output.file}"/>
|
||
|
<attach file="${source-jar.output.file}" classifier="sources"/>
|
||
|
</maven:deploy>
|
||
|
</target>
|
||
|
|
||
|
<target name="install-maven" depends="create.pom, snapshot.pom, maven.init">
|
||
|
<maven:install file="${jar.output.file}">
|
||
|
<pom file="${pom.output.file}"/>
|
||
|
<attach file="${source-jar.output.file}" classifier="sources"/>
|
||
|
</maven:install>
|
||
|
</target>
|
||
|
|
||
|
<target name="install-maven-central" depends="maven.init">
|
||
|
<maven:install file="${jar.output.file}">
|
||
|
<pom file="${local.pom.output.file}"/>
|
||
|
<attach file="${source-jar.output.file}" classifier="sources"/>
|
||
|
</maven:install>
|
||
|
</target>
|
||
|
|
||
|
<!-- Other targets -->
|
||
|
<target name="maven.init" depends="ivy.init">
|
||
|
<ivy:cachepath resolveId="maven.ant.tasks.classpath" pathid="maven.ant.tasks.classpath"
|
||
|
organisation="org.apache.maven" module="com.springsource.org.apache.maven.ant"
|
||
|
revision="${org.apache.maven.ant.version}" conf="runtime" type="jar" inline="true" log="download-only"/>
|
||
|
<taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
|
||
|
classpathref="maven.ant.tasks.classpath"/>
|
||
|
<maven:install-provider groupId="org.springframework.build.aws" artifactId="org.springframework.build.aws.maven"
|
||
|
version="${org.springframework.build.aws.maven.version}"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="create.pom" depends="ivy.init, resolve">
|
||
|
<delete quiet="true" file="${pom.output.file}"/>
|
||
|
<mkdir dir="${pom.output.dir}"/>
|
||
|
|
||
|
<ivy:makepom ivyfile="${ivy.output.file}" pomfile="${pom.output.file}">
|
||
|
<mapping conf="compile" scope="compile"/>
|
||
|
<mapping conf="provided" scope="provided"/>
|
||
|
<mapping conf="dm-server-provided" scope="provided"/>
|
||
|
<mapping conf="runtime" scope="runtime"/>
|
||
|
<mapping conf="test" scope="test"/>
|
||
|
</ivy:makepom>
|
||
|
<replaceregexp flags="g" match="latest.integration" replace="${project.version}"
|
||
|
file="${pom.output.file}"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="snapshot.pom" depends="is.snapshot" if="snapshot.release">
|
||
|
<replaceregexp flags="g" match="(\d(.\d(.\d)?)?).${build.stamp}" replace="\1.BUILD-SNAPSHOT"
|
||
|
file="${pom.output.file}"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="is.snapshot">
|
||
|
<condition property="snapshot.release">
|
||
|
<equals arg1="integration" arg2="${release.type}"/>
|
||
|
</condition>
|
||
|
</target>
|
||
|
|
||
|
</project>
|