普通文本  |  68行  |  2.01 KB

/*
 * 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.
 */

/**
 * Generic build.gradle file that can be used for API specific support lib implementations.
 * This file is used only if Android Studio opens the project.
 */
apply plugin: 'com.android.library'
def apiModule = gradle.ext.getApiModule(project)
logger.info ("apiModule for ${project.projectDir} is $apiModule. "
        + "compileSDK: ${apiModule.apiForSourceSet} minSDK: ${apiModule.api}")
android {
    compileSdkVersion apiModule.apiForSourceSet
    // these api modules all use the same package name so we should not package their BuildConfig
    // files.
    packageBuildConfig false

    sourceSets {
        main.manifest.srcFile '../AndroidManifest.xml'
        main.java.srcDirs = ['.']

        apiModule.resourceFolders.each {
            main.res.srcDirs += "../$it"
        }
        apiModule.assetFolders.each {
            main.assets.srcDirs += "../$it"
        }
        apiModule.javaResourceFolders.each {
            main.resources.srcDirs += "../$it"
        }
    }

    lintOptions {
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    enforceUniquePackageName = false
}


dependencies {
    if (apiModule.prev != null) {
        compile project(apiModule.prev.moduleName)
    } else {
        apiModule.parentModuleDependencies.each { dep ->
            compile project(dep)
        }
    }
}