blob: 7166e8ee6e4fc6a36c53daec9f3bcb6f9a8713de [file] [log] [blame]
Yigit Boyar88c16ce2017-02-08 16:06:14 -08001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Aurimas Liutikas526389b2018-02-27 14:01:24 -080016
Jake Wharton3c3f8f42018-07-17 22:40:28 -040017import androidx.build.AndroidXPlugin
Aurimas Liutikas526389b2018-02-27 14:01:24 -080018import androidx.build.DacOptions
Sergey Vasilinetsc74c7fb52018-05-29 14:50:22 -070019import androidx.build.PublishDocsRulesKt
Alan Viverettecc5197e2016-06-13 12:45:07 -040020
Jeff Gastond79ef852018-01-09 17:53:15 -050021def currentJvmVersion = org.gradle.api.JavaVersion.current()
22if (currentJvmVersion.getMajorVersion() != "8") {
23 throw new Exception("Unsupported java version '" + currentJvmVersion.toString() + "'. Please install java 8.\n" +
24"\n" +
25"If you have already installed java 8, you can instruct Gradle to use it by setting the environment variable JAVA_HOME equal to its file path.")
26}
27
28
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080029buildscript {
Yigit Boyar88c16ce2017-02-08 16:06:14 -080030 ext.supportRootFolder = project.projectDir
Aurimas Liutikas9ab3b4c32017-04-19 09:33:27 -070031 apply from: 'buildSrc/repos.gradle'
Yigit Boyar88c16ce2017-02-08 16:06:14 -080032 apply from: 'buildSrc/init.gradle'
Sergey Vasilinets6aa53ca2017-11-03 12:20:28 -070033 apply from: 'buildSrc/build_dependencies.gradle'
Yigit Boyar95c6a872017-03-03 10:54:49 -080034 init.setSdkInLocalPropertiesFile()
Aurimas Liutikas9ab3b4c32017-04-19 09:33:27 -070035 repos.addMavenRepositories(repositories)
Aurimas Liutikas75b3d2e2017-03-15 10:34:55 -070036
37 dependencies {
Sergey Vasilinets6aa53ca2017-11-03 12:20:28 -070038 classpath build_libs.gradle
39 classpath build_libs.jacoco
Chris Craik15486292018-01-17 15:34:59 -080040 classpath build_libs.kotlin.gradle_plugin
Aurimas Liutikas75b3d2e2017-03-15 10:34:55 -070041 }
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080042}
Aurimas Liutikasf09d8582017-01-20 21:49:51 -080043
Aurimas Liutikas9ab3b4c32017-04-19 09:33:27 -070044repos.addMavenRepositories(repositories)
Alan Viverettecc5197e2016-06-13 12:45:07 -040045
Yigit Boyar88c16ce2017-02-08 16:06:14 -080046init.setupRepoOutAndBuildNumber()
Alan Viverettecc5197e2016-06-13 12:45:07 -040047
Yigit Boyar88c16ce2017-02-08 16:06:14 -080048init.configureSubProjects()
Alan Viverettecc5197e2016-06-13 12:45:07 -040049
Sergey Vasilinetsa74ee232018-05-29 18:54:04 -070050def buildTask = init.configureBuildOnServer()
Aurimas Liutikas38e8f4d92017-06-16 08:31:03 -070051
Jake Wharton3c3f8f42018-07-17 22:40:28 -040052apply plugin: AndroidXPlugin
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080053
Jake Wharton3c3f8f42018-07-17 22:40:28 -040054// AndroidX needed before jetify since it accesses the createArchive task name directly.
Jeff Gaston5d480f82018-01-29 11:41:32 -050055apply from: 'buildSrc/jetify.gradle'
56
Sergey Vasilinetsa74ee232018-05-29 18:54:04 -070057def allDocs = init.enableDoclavaAndJDiff(this, new DacOptions("androidx", "ANDROIDX_DATA"),
Sergey Vasilinetsc74c7fb52018-05-29 14:50:22 -070058 [PublishDocsRulesKt.RELEASE_RULE])
Yigit Boyar95c6a872017-03-03 10:54:49 -080059
Sergey Vasilinetsa74ee232018-05-29 18:54:04 -070060buildTask.dependsOn(allDocs)
61