12eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar/*
22eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * Copyright (C) 2016 The Android Open Source Project
32eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar *
42eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * Licensed under the Apache License, Version 2.0 (the "License");
52eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * you may not use this file except in compliance with the License.
62eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * You may obtain a copy of the License at
72eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar *
82eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar *      http://www.apache.org/licenses/LICENSE-2.0
92eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar *
102eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * Unless required by applicable law or agreed to in writing, software
112eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * distributed under the License is distributed on an "AS IS" BASIS,
122eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * See the License for the specific language governing permissions and
142eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar * limitations under the License.
152eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar */
16b938b2eab0a90d4f9482067f3802f54c4834d2c1Aurimas Liutikas
17526389b5eb93f99eaf4dba0b0c75b0b7df9a0f65Aurimas Liutikasimport androidx.build.DacOptions
18526389b5eb93f99eaf4dba0b0c75b0b7df9a0f65Aurimas Liutikas
191638535d6211a53187422aab94792fee85abca0cSergey Vasilinetsapply from: "${ext.supportRootFolder}/buildSrc/init.gradle"
201638535d6211a53187422aab94792fee85abca0cSergey Vasilinetsinit.setSdkInLocalPropertiesFile()
21450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar
222eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar// repository creation task
23450ed382339544eaf6b7886bc765522fc3446148Yigit Boyardef buildServerAnchorTask = rootProject.tasks.create(name : "runBuildServerCompilationTasks",
24450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar    description: "Anchor task for everything we want to run in build server.")
25450ed382339544eaf6b7886bc765522fc3446148Yigit Boyar
261638535d6211a53187422aab94792fee85abca0cSergey Vasilinetsrepos.addMavenRepositories(repositories)
271638535d6211a53187422aab94792fee85abca0cSergey Vasilinetsinit.setupRepoOutAndBuildNumber()
281638535d6211a53187422aab94792fee85abca0cSergey Vasilinetsinit.configureSubProjects()
291638535d6211a53187422aab94792fee85abca0cSergey Vasilinetsinit.setupRelease()
301638535d6211a53187422aab94792fee85abca0cSergey Vasilinets// always build offline docs for flatfoot specific builds.
31a74ee23e7d29eb98dbf54b810826825a9e0a66e3Sergey Vasilinetsdef allDocsTask = init.enableDoclavaAndJDiff(this, new DacOptions("android/arch", "ARCH_DATA"))
32e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyar
33e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyar// flatfoot docs
34e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyardef zipFlatfootDocsTask = rootProject.tasks.create(name : "createFlatfootDocsArchive", type : Zip) {
35e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyar    from rootProject.docsDir
36e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyar    destinationDir distDir
37d38298284cef36dfa8b0749c675fc653b3ea7935Yigit Boyar    baseName = "flatfoot-docs"
38e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyar}
39e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit Boyar
40e1bbf71e07cdf216510faed6174e30e78b862bd8Yigit BoyarbuildServerAnchorTask.dependsOn zipFlatfootDocsTask
41a74ee23e7d29eb98dbf54b810826825a9e0a66e3Sergey VasilinetszipFlatfootDocsTask.dependsOn allDocsTask
42a9ac19d133f6d727d979027aef8318d90fbd8e88Yigit BoyarbuildServerAnchorTask.dependsOn createDiffArchive
43450ed382339544eaf6b7886bc765522fc3446148Yigit BoyarbuildServerAnchorTask.dependsOn createArchive
44c62cb5335923b041b7cd64cc879f9b0b889f457cYigit BoyarrootProject.tasks.whenTaskAdded { task ->
45254247ab20a3c790b70a03fa7141ce603a25119cSumir Kataria    if ("dejetifyArchive".equals(task.name)) {
46254247ab20a3c790b70a03fa7141ce603a25119cSumir Kataria        task.enabled = false
47c62cb5335923b041b7cd64cc879f9b0b889f457cYigit Boyar    }
48c62cb5335923b041b7cd64cc879f9b0b889f457cYigit Boyar}
492eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar
502eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyarsubprojects {
515401646a273834c0c6c909b94bc4b7223b577940Yigit Boyar    project.tasks.whenTaskAdded { task ->
525401646a273834c0c6c909b94bc4b7223b577940Yigit Boyar        if (task.name.startsWith("assembleAndroidTest")) {
535401646a273834c0c6c909b94bc4b7223b577940Yigit Boyar            buildServerAnchorTask.dependsOn task
545401646a273834c0c6c909b94bc4b7223b577940Yigit Boyar        }
55fdb1d9725aacf5559d1a5b895408e78d11dd4795Yigit Boyar        if (task.name.startsWith("assembleDebug")) {
56fdb1d9725aacf5559d1a5b895408e78d11dd4795Yigit Boyar            buildServerAnchorTask.dependsOn task
57fdb1d9725aacf5559d1a5b895408e78d11dd4795Yigit Boyar        }
585401646a273834c0c6c909b94bc4b7223b577940Yigit Boyar    }
592eb51995b418b034f58416876b6d27c74e19e4c7Yigit Boyar}
60