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 171eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan ViveretteString getFullSdkPath(String prebuiltsRoot) { 181eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette final String osName = System.getProperty("os.name").toLowerCase() 191eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette final boolean isMacOsX = 201eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette osName.contains("mac os x") || osName.contains("darwin") || osName.contains("osx"); 211eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette final String platform = isMacOsX ? 'darwin' : 'linux' 221eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette return "${prebuiltsRoot}/fullsdk-${platform}" 231eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette} 241eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette 259ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasdef supportRoot = ext.supportRootFolder 269ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasif (supportRoot == null) { 279ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas throw new RuntimeException("variable supportRootFolder is not set. you must set it before" + 289ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas " including this script") 299ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas} 309ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas 31a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikasapply from: "${supportRoot}/buildSrc/unbundled_check.gradle" 32a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas 33a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikasdef checkoutRoot = "${ext.supportRootFolder}/../.." 349ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos = new Properties() 359ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos.prebuiltsRoot = "${checkoutRoot}/prebuilts" 369ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasext.repos.prebuiltsRootUri = "file://${repos.prebuiltsRoot}" 379ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas 38a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikasext.repoNames = [// Android Gradle Plugin prebuilts updated manually 39a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas "${repos.prebuiltsRoot}/gradle-plugin", 40a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas // Miscellaneous prebuilts updated sporadically 419ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas "${repos.prebuiltsRoot}/tools/common/m2/repository", 42a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas // Historical releases updated as part of public release 431eefe7a4037bee45eff2cfac05124bb3b93cf60fAlan Viverette "${repos.prebuiltsRoot}/maven_repo/android", 440b10646cfd5d319855bd0c171594dc474738684eXyan Bhatnagar "${repos.prebuiltsRoot}/maven_repo/google-play-service-client-libraries-3p", 45a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas // Manually constructed, but soon to be updated by update_current.py 46a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas "${repos.prebuiltsRoot}/sdk/current/extras/material-design", 47a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas // Full checkout prebuilts updated by update_current.py 48a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas "${repos.prebuiltsRoot}/sdk/current/support/m2repository", 49a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas // Unbundled checkout prebuilts updated by fullsdk drop 50cb30642811f325654c34d2114df4e835d3ff823cSergey Vasilinets "${getFullSdkPath(repos.prebuiltsRoot)}/extras/android/m2repository", 51cb30642811f325654c34d2114df4e835d3ff823cSergey Vasilinets // temporary: com.android.support.constraint:constraint-layout:1.0.2 is there 52cb30642811f325654c34d2114df4e835d3ff823cSergey Vasilinets "${getFullSdkPath(repos.prebuiltsRoot)}/extras/m2repository/"] 539ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas 549ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas/** 559ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas * Adds maven repositories to the given repository handler. 569ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas */ 579ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikasdef addMavenRepositories(RepositoryHandler handler) { 589ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas repoNames.each { repo -> 599ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas handler.maven { 609ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas url repo 619ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas } 629ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas } 63a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas if (System.getenv("ALLOW_PUBLIC_REPOS") != null || (isUnbundledBuild(ext.supportRootFolder))) { 649ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas handler.mavenCentral() 659ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas handler.jcenter() 66aa9688ea659f43fa7d2054ea748c6dee1ef33e14Aurimas Liutikas handler.google() 67a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas handler.maven { 68a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas url "https://plugins.gradle.org/m2/" 69a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikas } 709ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas } 719ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas def androidPluginRepoOverride = System.getenv("GRADLE_PLUGIN_REPO") 729ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas if (androidPluginRepoOverride != null) { 739ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas handler.maven { 749ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas url androidPluginRepoOverride 759ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas } 769ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas } 779ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas} 789ab3b4c389856fa168165423297d468ccf108a90Aurimas Liutikas 79a2cbbfa1d3d019289c05263525b0bfd429fa3225Aurimas Liutikasext.repos.addMavenRepositories = this.&addMavenRepositories 80