<?xml version="1.0" encoding="UTF-8"?>
<project name="publish-resource" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant">

	<import file="common.xml"/>
	<import file="../common/publish.xml"/>

	<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}-library-publish" pubdate="${timestamp}"
				status="${release.type}">
			<artifacts pattern="${artifacts.dir}/[artifact].[ext]"/>
			<artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
		</ivy:publish>
	</target>

	<target name="publish-maven" depends="create.pom, ivy.init, maven.init, resolve" unless="local.build">
		<maven:deploy>
			<remoteRepository url="s3://${publish.bucket}/maven/libraries/${adjusted.release.type}">
				<authentication username="${accessKey}" passphrase="${secretKey}"/>
			</remoteRepository>
			<pom file="${pom.output.file}"/>
		</maven:deploy>
	</target>

	<target name="publish-maven-local" depends="create.pom, snapshot.pom, maven.init">
		<maven:install>
			<pom file="${pom.output.file}"/>
		</maven:install>
	</target>

	<target name="publish-maven-central" depends="maven.init">
		<property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
		<maven:deploy>
			<remoteRepository url="${maven.central.repository}"/>
			<pom file="${local.pom.output.file}"/>
		</maven:deploy>
	</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 match="&lt;packaging&gt;jar&lt;/packaging&gt;"
				replace="&lt;packaging&gt;pom&lt;/packaging&gt;"
				file="${pom.output.file}"/>
	</target>

</project>