build-support/ivy/ivysettings.xml (24 lines of code) (raw):
<?xml version="1.0"?>
<!--
Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
Licensed under the Apache License, Version 2.0 (see LICENSE).
-->
<ivysettings>
<settings defaultResolver="pants-chain-repos"/>
<property name="m2.repo.relpath" value="[organisation]/[module]/[revision]"/>
<property name="m2.repo.pom" value="${m2.repo.relpath}/[module]-[revision].pom"/>
<property name="m2.repo.artifact"
value="${m2.repo.relpath}/[artifact]-[revision](-[classifier]).[ext]"/>
<property name="m2.repo.dir" value="${user.home}/.m2/repository" override="false"/>
<property name="kythe.artifact" value="[organisation]/[artifact]/[revision]/[artifact]-[revision].[ext]"/>
<!-- for retrieving jacoco snapshot, remove when a version containing cli is released -->
<!-- see https://github.com/pantsbuild/pants/issues/5010 -->
<property name="sonatype.nexus.snapshots.url" value="https://oss.sonatype.org/content/repositories/snapshots/" />
<properties environment="env"/>
<resolvers>
<chain name="pants-chain-repos" returnFirst="true">
<!-- By default ivy does not require metadata (or successful metadata downloads).
This can lead to jars downloading without their transitive deps which leads
to confusing failures later when classpaths are constructed and used.
We setup the maven central resolver to require successful pom downloads here. -->
<ibiblio name="maven-central" m2compatible="true" descriptor="required"/>
<!-- The mvn standard local filesystem repo/cache -->
<filesystem name="local.m2" m2compatible="true" local="true" checkmodified="true">
<ivy pattern="${m2.repo.dir}/${m2.repo.pom}"/>
<artifact pattern="${m2.repo.dir}/${m2.repo.artifact}"/>
</filesystem>
<!-- Custom repo for Kythe jars, as Google don't currently publish them anywhere. -->
<url name="toolchainlabs/binhost">
<artifact pattern="https://github.com/toolchainlabs/binhost/raw/master/${kythe.artifact}" />
</url>
</chain>
</resolvers>
</ivysettings>