| /* |
| * Copyright (C) 2016 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 android.support.DacOptions |
| import android.support.LibraryVersions |
| import org.gradle.internal.os.OperatingSystem |
| |
| def root = ext.supportRootFolder |
| ext.inAppToolkitProject = rootProject.name == "app-toolkit" |
| |
| if (ext.inAppToolkitProject) { |
| apply from: "${ext.supportRootFolder}/buildSrc/init.gradle" |
| init.setSdkInLocalPropertiesFile() |
| } |
| |
| def checkoutRoot = "${root}/../.." |
| ext.checkoutRoot = checkoutRoot |
| ext.prebuiltsRoot = "$checkoutRoot/prebuilts" |
| ext.prebuiltsRootUri = "file://${prebuiltsRoot}" |
| |
| final String platform = OperatingSystem.current().isMacOsX() ? 'darwin' : 'linux' |
| final String fullSdkPath = new File("${checkoutRoot}/prebuilts/fullsdk-${platform}").getCanonicalPath() |
| System.setProperty('android.home', fullSdkPath) |
| File props = file("local.properties") |
| props.write "sdk.dir=${fullSdkPath}" |
| |
| def buildDir |
| def distDir |
| def supportLibBuildDir |
| |
| if (ext.runningInBuildServer) { |
| supportLibBuildDir = new File(System.env.OUT_DIR + '/gradle/frameworks/support/build').getCanonicalFile(); |
| buildDir = new File(System.env.OUT_DIR + '/gradle/frameworks/app-toolkit/build').getCanonicalFile() |
| distDir = new File(System.env.DIST_DIR).getCanonicalFile() |
| } else { |
| supportLibBuildDir = file("${checkoutRoot}/out/host/gradle/frameworks/support/build") |
| buildDir = file("${checkoutRoot}/out/host/gradle/frameworks/app-toolkit/build") |
| distDir = file("${checkoutRoot}/out/dist") |
| } |
| |
| def localMavenRepo = "file://${new File(buildDir, "flatfoot_repo").absolutePath}" |
| ext.testApkDistOut = distDir |
| ext.testResultsDistDir = new File(distDir, "host-test-reports") |
| ext.localMavenRepo = localMavenRepo |
| file(localMavenRepo).delete() |
| file(localMavenRepo).mkdirs() |
| |
| ext.repoNames += ["file://${new File(supportLibBuildDir, "support_repo").absolutePath}"] |
| |
| apply from: "${ext.supportRootFolder}/app-toolkit/dependencies.gradle" |
| |
| // repository creation task |
| def buildServerAnchorTask = rootProject.tasks.create(name : "runBuildServerCompilationTasks", |
| description: "Anchor task for everything we want to run in build server.") |
| |
| if (ext.inAppToolkitProject) { |
| // always build offline docs for flatfoot specific builds. |
| ext.docsDac = new DacOptions("android/arch", "ARCH_DATA") |
| repos.addMavenRepositories(repositories) |
| init.setupRepoOutAndBuildNumber() |
| init.configureSubProjects() |
| init.setupRelease() |
| init.enableDoclavaAndJDiff(this) |
| rootProject.tasks["generateDocs"].exclude '**/R.java' |
| } |
| |
| |
| // flatfoot docs |
| def zipFlatfootDocsTask = rootProject.tasks.create(name : "createFlatfootDocsArchive", type : Zip) { |
| from rootProject.docsDir |
| destinationDir distDir |
| baseName = "flatfoot-docs" |
| } |
| |
| buildServerAnchorTask.dependsOn zipFlatfootDocsTask |
| zipFlatfootDocsTask.dependsOn rootProject.tasks["generateDocs"] |
| buildServerAnchorTask.dependsOn createDiffArchive |
| buildServerAnchorTask.dependsOn createArchive |
| |
| subprojects { |
| repos.addMavenRepositories(project.repositories) |
| if (project.name == 'doclava' || project.name == 'jdiff') { |
| project.tasks.whenTaskAdded { task -> |
| if (task instanceof org.gradle.api.tasks.testing.Test) { |
| task.enabled = false |
| } |
| } |
| return |
| } |
| |
| if (project.getPath().contains("integration-tests")) { |
| // disable upload tasks |
| project.tasks.whenTaskAdded { task -> |
| if (task instanceof Upload || task.name == "generateSourceProps") { |
| task.enabled = false |
| } |
| } |
| } |
| |
| project.tasks.whenTaskAdded { task -> |
| if (task.name.startsWith("assembleAndroidTest")) { |
| buildServerAnchorTask.dependsOn task |
| } |
| if (task.name.startsWith("assembleDebug")) { |
| buildServerAnchorTask.dependsOn task |
| } |
| } |
| } |