Support downloading from other Maven repositories Developers may now request buck to use a local mirror by setting the URL into local.properties, a file already ignored under the current buck build process, e.g.: download.GERRIT = http://nexus.my-company.com/ download.MAVEN_CENTRAL = http://nexus.my-company.com/ To support this usage buck now passes to download_jar.py only the name of the repository in the URL. download_jar parses local.properties (if present) and replaces the "MAVEN_CENTRAL:" prefix with the URL supplied by the user. Because the URL can vary cache entries in buck-cache are now using the SHA-1 we expect/verify against, instead of the SHA-1 of the URL. This makes it easier to find a specific JAR in the cache. The artifact, version and SHA-1 as named in the maven_jar() rule are the strings used in the file name in buck-cache. If no SHA-1 verification happens (e.g. source attachment JARs that are not included into the build) then sha1(canonical_url) is used. Here the canonical URL uses the repository id prefix string, e.g.: MAVEN_CENTRAL:org/apache/mina/mina-core/2.0.5/mina-core-2.0.5-sources.jar Change-Id: I5a469ab15fd36b81bf76f6b51e1110dfdcf04c86
diff --git a/lib/maven.defs b/lib/maven.defs index a179deb8..2d2d656 100644 --- a/lib/maven.defs +++ b/lib/maven.defs
@@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -GERRIT = 'http://gerrit-maven.commondatastorage.googleapis.com' -MAVEN_CENTRAL = 'http://repo1.maven.org/maven2' +GERRIT = 'GERRIT:' +MAVEN_CENTRAL = 'MAVEN_CENTRAL:' def define_license(name): n = 'LICENSE-' + name