repos.gradle revision 0b10646cfd5d319855bd0c171594dc474738684e
19ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas/*
29ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * Copyright (C) 2017 The Android Open Source Project
39ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas *
49ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * Licensed under the Apache License, Version 2.0 (the "License");
59ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * you may not use this file except in compliance with the License.
69ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * You may obtain a copy of the License at
79ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas *
89ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas *      http://www.apache.org/licenses/LICENSE-2.0
99ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas *
109ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * Unless required by applicable law or agreed to in writing, software
119ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * distributed under the License is distributed on an "AS IS" BASIS,
129ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * See the License for the specific language governing permissions and
149ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * limitations under the License.
159ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas */
169ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas
179ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasimport org.gradle.api.artifacts.dsl.RepositoryHandler;
189ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas
191eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan ViveretteString getFullSdkPath(String prebuiltsRoot) {
201eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette    final String osName = System.getProperty("os.name").toLowerCase()
211eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette    final boolean isMacOsX =
221eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette            osName.contains("mac os x") || osName.contains("darwin") || osName.contains("osx");
231eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette    final String platform = isMacOsX ? 'darwin' : 'linux'
241eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette    return "${prebuiltsRoot}/fullsdk-${platform}"
251eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette}
261eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette
279ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasdef supportRoot = ext.supportRootFolder
289ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasif (supportRoot == null) {
299ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    throw new RuntimeException("variable supportRootFolder is not set. you must set it before" +
309ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas            " including this script")
319ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas}
329ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas
339ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasdef checkoutRoot = "${supportRoot}/../.."
349ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos = new Properties()
359ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos.prebuiltsRoot = "${checkoutRoot}/prebuilts"
369ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos.prebuiltsRootUri = "file://${repos.prebuiltsRoot}"
379ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas
389ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repoNames = ["${repos.prebuiltsRoot}/gradle-plugin",
399ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas                 "${repos.prebuiltsRoot}/tools/common/m2/repository",
409ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas                 "${repos.prebuiltsRoot}/tools/common/m2/internal",
411eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette                 "${repos.prebuiltsRoot}/maven_repo/android",
420b10646cfd5d319855bd0c171594dc474738684eXyan Bhatnagar                 "${repos.prebuiltsRoot}/maven_repo/google-play-service-client-libraries-3p",
431eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette                 "${getFullSdkPath(repos.prebuiltsRoot)}/extras/m2repository"]
449ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas
459ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas/**
469ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * Adds maven repositories to the given repository handler.
479ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas */
489ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasdef addMavenRepositories(RepositoryHandler handler) {
499ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    repoNames.each { repo ->
509ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas        handler.maven {
519ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas            url repo
529ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas        }
539ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    }
549ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    if (System.getenv("ALLOW_PUBLIC_REPOS") != null) {
559ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas        handler.mavenCentral()
569ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas        handler.jcenter()
57aa9688ea659f43fa7d2054ea748c6dee1ef33e14Aurimas Liutikas        handler.google()
589ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    }
599ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    def androidPluginRepoOverride = System.getenv("GRADLE_PLUGIN_REPO")
609ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    if (androidPluginRepoOverride != null) {
619ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas        handler.maven {
629ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas            url androidPluginRepoOverride
639ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas        }
649ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas    }
659ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas}
669ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas
679ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos.addMavenRepositories = this.&addMavenRepositories