| /* |
| * Copyright (C) 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| import org.gradle.internal.os.OperatingSystem |
| |
| buildscript { |
| repositories { |
| maven { url '../../prebuilts/gradle-plugin' } |
| maven { url '../../prebuilts/tools/common/m2/repository' } |
| maven { url '../../prebuilts/tools/common/m2/internal' } |
| } |
| dependencies { |
| classpath 'com.android.tools.build:gradle:2.3.0' |
| } |
| } |
| |
| apply from: 'version.gradle' |
| |
| final String platform = OperatingSystem.current().isMacOsX() ? 'darwin' : 'linux' |
| System.setProperty('android.dir', "${rootDir}/../../") |
| final String fullSdkPath = "${rootDir}/../../prebuilts/fullsdk-${platform}" |
| if (file(fullSdkPath).exists()) { |
| gradle.ext.currentSdk = 26 |
| ext.buildToolsVersion = '26.0.0' |
| project.ext.androidJar = files("${fullSdkPath}/platforms/android-${gradle.currentSdk}/android.jar") |
| System.setProperty('android.home', "${rootDir}/../../prebuilts/fullsdk-${platform}") |
| File props = file("local.properties") |
| props.write "sdk.dir=${fullSdkPath}" |
| } else { |
| gradle.ext.currentSdk = 'current' |
| ext.buildToolsVersion = '26.0.0' |
| project.ext.androidJar = files("${project.rootDir}/../../prebuilts/sdk/current/android.jar") |
| File props = file("local.properties") |
| props.write "android.dir=../../" |
| } |
| |
| /* |
| * With the build server you are given two env variables. |
| * The OUT_DIR is a temporary directory you can use to put things during the build. |
| * The DIST_DIR is where you want to save things from the build. |
| * |
| * The build server will copy the contents of DIST_DIR to somewhere and make it available. |
| */ |
| if (System.env.DIST_DIR != null && System.env.OUT_DIR != null) { |
| buildDir = new File(System.env.OUT_DIR + '/gradle/frameworks/support/build').getCanonicalFile() |
| project.ext.distDir = new File(System.env.DIST_DIR).getCanonicalFile() |
| } else { |
| buildDir = file('../../out/host/gradle/frameworks/support/build') |
| project.ext.distDir = file('../../out/dist') |
| } |
| |
| ext.supportRepoOut = new File(buildDir, 'support_repo') |
| |
| // upload anchor for subprojects to upload their artifacts |
| // to the local repo. |
| task dist(type: Zip) { |
| group = BasePlugin.BUILD_GROUP |
| description 'Builds distribution artifacts.' |
| |
| from project.ext.supportRepoOut |
| into 'm2repository' |
| destinationDir project.ext.distDir |
| baseName = String.format("top-of-tree-m2repository-%s", project.multidexVersion) |
| |
| doLast { |
| logger.warn "Compressed maven artifacts to ${archivePath}" |
| } |
| } |
| |
| subprojects { |
| // Change buildDir first so that all plugins pick up the new value. |
| project.buildDir = project.file("${project.parent.buildDir}/../${project.name}/build") |
| |
| apply plugin: 'maven' |
| |
| version = rootProject.multidexVersion |
| group = 'com.android.support' |
| |
| dist.dependsOn project.tasks.uploadArchives |
| |
| project.plugins.whenPluginAdded { plugin -> |
| if ("com.android.build.gradle.LibraryPlugin".equals(plugin.class.name)) { |
| project.android.buildToolsVersion = rootProject.buildToolsVersion |
| } |
| } |
| } |