blob: 0ca906984d99bc4e410bce6343c0307dc4066b85 [file] [log] [blame]
/*
* Copyright (C) 2019 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 groovy.lang.Tuple;
def init = new Properties()
ext.init = init
def getOutDir(subdir = "") {
/*
* The OUT_DIR is a temporary directory you can use to put things during the build.
*/
def outDir = System.env.OUT_DIR
def buildSrcOut
if (outDir == null) {
def checkoutRoot = System.getProperty("CHECKOUT_ROOT")
if (checkoutRoot == null) {
checkoutRoot = new File("${buildscript.sourceFile.parent}/../../..")
}
outDir = new File("${checkoutRoot}/out${subdir}")
buildSrcOut = new File("${checkoutRoot}/out/buildSrc")
} else {
outDir = new File(outDir)
buildSrcOut = new File("${outDir}/buildSrc")
}
return new Tuple(outDir, buildSrcOut)
}
def chooseOutDir(subdir = "") {
def (outDir, buildSrcOut) = getOutDir(subdir)
project.ext.buildSrcOut = buildSrcOut
project.ext.outDir = outDir
buildDir = new File(outDir, "$project.name/build")
.getCanonicalFile()
subprojects {
// Change buildDir first so that all plugins pick up the new value.
project.buildDir = new File("$project.parent.buildDir/../$project.name/build")
}
}
ext.init.getOutDir = this.&getOutDir
ext.init.chooseOutDir = this.&chooseOutDir