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
<?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> |