<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>


	<settings defaultResolver="external-lookup" defaultLatestStrategy="latest-lexico"/>

	<caches resolutionCacheDir="${ivy.cache.dir}/resolution" repositoryCacheDir="${ivy.cache.dir}/repository"
			ivyPattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
			artifactPattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
			useOrigin="true" checkUpToDate="false"/>

<!--
	<typedef name="s3" classname="org.springframework.aws.ivy.S3Resolver"/>
	<macrodef name="s3repo"> 
		<attribute name="bucket"/>
		<attribute name="artifact.type"/>
		<attribute name="release.type"/>
		<s3 descriptor="required" accessKey="${accessKey}" secretKey="${secretKey}">
			<ivy pattern="s3://@{bucket}/ivy/@{artifact.type}/@{release.type}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
			<artifact pattern="s3://@{bucket}/ivy/@{artifact.type}/@{release.type}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
		</s3>
	</macrodef>
-->

<!--
	<macrodef name="localrepo">
		<filesystem descriptor="required">
			<ivy pattern="${local.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
			<artifact pattern="${local.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
		</filesystem>
	</macrodef>
-->

	<resolvers>
<!-- Integration repositories -->
<!--
		<filesystem name="integration" descriptor="required">
			<ivy pattern="${integration.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
			<artifact pattern="${integration.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
		</filesystem>
-->

<!-- Lookup repositories -->
		<chain name="external-lookup" returnFirst="true">
			<localrepo name="local-external-repository"/>
			<s3repo name="bundle-external-repository"	bucket="repository.springsource.com" artifact.type="bundles" release.type="external"/>
			<s3repo name="library-external-repository"	bucket="repository.springsource.com" artifact.type="libraries" release.type="external"/>
		</chain>

		<chain name="spring-portfolio-lookup" returnFirst="true">
			<resolver ref="integration"/>
			<localrepo name="local"/>
			<s3repo name="bundle-release-repository"	bucket="repository.springsource.com" artifact.type="bundles" release.type="release"/>
			<s3repo name="bundle-milestone-repository"	bucket="repository.springsource.com" artifact.type="bundles" release.type="milestone"/>
			<s3repo name="bundle-snapshot-repository"	bucket="repository.springsource.com" artifact.type="bundles" release.type="snapshot"/>
			<s3repo name="library-release-repository"	bucket="repository.springsource.com" artifact.type="libraries" release.type="release"/>
			<s3repo name="library-milestone-repository"	bucket="repository.springsource.com" artifact.type="libraries" release.type="milestone"/>
			<s3repo name="library-snapshot-repository"	bucket="repository.springsource.com" artifact.type="libraries" release.type="snapshot"/>
		</chain>

<!-- Publishing repositories -->
		<s3repo name="ebr-bundle-publish"	bucket="${publish.bucket}"	artifact.type="bundles" 	release.type="${adjusted.release.type}"/>
		<s3repo name="ebr-library-publish"	bucket="${publish.bucket}"	artifact.type="libraries"	release.type="${adjusted.release.type}"/>
		<localrepo name="local-bundle-publish"/>
		<localrepo name="local-library-publish"/>
	</resolvers>

	<modules>
		<module organisation="org.springframework.*"	name="*"	resolver="spring-portfolio-lookup"/>
		<module organisation="com.springsource.*"		name="*"	resolver="spring-portfolio-lookup"/>
	</modules>

</ivysettings>
