| {# Copyright 2016 The Chromium Authors. All rights reserved. #} |
| {# Use of this source code is governed by a BSD-style license that can be #} |
| {# found in the LICENSE file. #} |
| {% macro expand_sourceset(variables, prefix) %} |
| {% if variables is defined %} |
| {{ prefix }} { |
| {% if variables.android_manifest is defined %} |
| manifest.srcFile "{{ variables.android_manifest }}" |
| {% endif %} |
| {% if variables.java_dirs is defined %} |
| java.srcDirs = [ |
| {% for path in variables.java_dirs %} |
| "{{ path }}", |
| {% endfor %} |
| ] |
| {% endif %} |
| {% if variables.java_excludes is defined %} |
| java.filter.exclude([ |
| {% for path in variables.java_excludes %} |
| "{{ path }}", |
| {% endfor %} |
| ]) |
| {% endif %} |
| {% if variables.jni_libs is defined %} |
| jniLibs.srcDirs = [ |
| {% for path in variables.jni_libs %} |
| "{{ path }}", |
| {% endfor %} |
| ] |
| {% endif %} |
| {% if variables.res_dirs is defined %} |
| res.srcDirs = [ |
| {% for path in variables.res_dirs %} |
| "{{ path }}", |
| {% endfor %} |
| ] |
| {% endif %} |
| } |
| {% endif %} |
| {% endmacro %} |
| // Generated by //build/android/generate_gradle.py |
| |
| {% if template_type in ('android_library', 'android_junit') %} |
| apply plugin: "com.android.library" |
| {% elif template_type == 'android_apk' %} |
| apply plugin: "com.android.application" |
| {% endif %} |
| |
| android { |
| compileSdkVersion "{{ compile_sdk_version }}" |
| |
| defaultConfig { |
| vectorDrawables.useSupportLibrary = true |
| minSdkVersion 24 |
| targetSdkVersion {{ target_sdk_version }} |
| } |
| |
| compileOptions { |
| sourceCompatibility JavaVersion.VERSION_1_8 |
| targetCompatibility JavaVersion.VERSION_1_8 |
| } |
| |
| {% if native is defined %} |
| externalNativeBuild { |
| cmake { |
| path "CMakeLists.txt" |
| } |
| } |
| {% endif %} |
| |
| sourceSets { |
| {% for name in ['main', 'test', 'androidTest', 'debug', 'release'] %} |
| {{ name }} { |
| aidl.srcDirs = [] |
| assets.srcDirs = [] |
| java.srcDirs = [] |
| jni.srcDirs = [] |
| renderscript.srcDirs = [] |
| res.srcDirs = [] |
| resources.srcDirs = [] |
| } |
| {% endfor %} |
| |
| {{ expand_sourceset(main, 'main') }} |
| {{ expand_sourceset(test, 'test') }} |
| {% if android_test is defined %} |
| {% for t in android_test %} |
| {{ expand_sourceset(t, 'androidTest') }} |
| {% endfor %} |
| {% endif %} |
| } |
| } |
| |
| {% include 'dependencies.jinja' %} |
| |
| afterEvaluate { |
| def tasksToDisable = tasks.findAll { |
| return (it.name.equals('generateDebugSources') // causes unwanted AndroidManifest.java |
| || it.name.equals('generateReleaseSources') |
| || it.name.endsWith('BuildConfig') // causes unwanted BuildConfig.java |
| || it.name.equals('preDebugAndroidTestBuild') |
| {% if not use_gradle_process_resources %} |
| || it.name.endsWith('Assets') |
| || it.name.endsWith('Resources') |
| || it.name.endsWith('ResValues') |
| {% endif %} |
| || it.name.endsWith('Aidl') |
| || it.name.endsWith('Renderscript') |
| || it.name.endsWith('Shaders')) |
| } |
| tasksToDisable.each { Task task -> |
| task.enabled = false |
| } |
| } |