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