1*6777b538SAndroid Build Coastguard Worker{# Copyright 2016 The Chromium Authors #} 2*6777b538SAndroid Build Coastguard Worker{# Use of this source code is governed by a BSD-style license that can be #} 3*6777b538SAndroid Build Coastguard Worker{# found in the LICENSE file. #} 4*6777b538SAndroid Build Coastguard Worker{% macro expand_sourceset(variables, prefix) %} 5*6777b538SAndroid Build Coastguard Worker{% if variables is defined %} 6*6777b538SAndroid Build Coastguard Worker {{ prefix }} { 7*6777b538SAndroid Build Coastguard Worker{% if variables.android_manifest is defined %} 8*6777b538SAndroid Build Coastguard Worker manifest.srcFile "{{ variables.android_manifest }}" 9*6777b538SAndroid Build Coastguard Worker{% endif %} 10*6777b538SAndroid Build Coastguard Worker{% if variables.java_dirs is defined %} 11*6777b538SAndroid Build Coastguard Worker java.srcDirs = [ 12*6777b538SAndroid Build Coastguard Worker{% for path in variables.java_dirs %} 13*6777b538SAndroid Build Coastguard Worker "{{ path }}", 14*6777b538SAndroid Build Coastguard Worker{% endfor %} 15*6777b538SAndroid Build Coastguard Worker ] 16*6777b538SAndroid Build Coastguard Worker{% endif %} 17*6777b538SAndroid Build Coastguard Worker{% if variables.java_excludes is defined %} 18*6777b538SAndroid Build Coastguard Worker java.filter.exclude([ 19*6777b538SAndroid Build Coastguard Worker{% for path in variables.java_excludes %} 20*6777b538SAndroid Build Coastguard Worker "{{ path }}", 21*6777b538SAndroid Build Coastguard Worker{% endfor %} 22*6777b538SAndroid Build Coastguard Worker ]) 23*6777b538SAndroid Build Coastguard Worker{% endif %} 24*6777b538SAndroid Build Coastguard Worker{% if variables.jni_libs is defined %} 25*6777b538SAndroid Build Coastguard Worker jniLibs.srcDirs = [ 26*6777b538SAndroid Build Coastguard Worker{% for path in variables.jni_libs %} 27*6777b538SAndroid Build Coastguard Worker "{{ path }}", 28*6777b538SAndroid Build Coastguard Worker{% endfor %} 29*6777b538SAndroid Build Coastguard Worker ] 30*6777b538SAndroid Build Coastguard Worker{% endif %} 31*6777b538SAndroid Build Coastguard Worker{% if variables.res_dirs is defined %} 32*6777b538SAndroid Build Coastguard Worker res.srcDirs = [ 33*6777b538SAndroid Build Coastguard Worker{% for path in variables.res_dirs %} 34*6777b538SAndroid Build Coastguard Worker "{{ path }}", 35*6777b538SAndroid Build Coastguard Worker{% endfor %} 36*6777b538SAndroid Build Coastguard Worker ] 37*6777b538SAndroid Build Coastguard Worker{% endif %} 38*6777b538SAndroid Build Coastguard Worker } 39*6777b538SAndroid Build Coastguard Worker{% endif %} 40*6777b538SAndroid Build Coastguard Worker{% endmacro %} 41*6777b538SAndroid Build Coastguard Worker// Generated by //build/android/generate_gradle.py 42*6777b538SAndroid Build Coastguard Worker 43*6777b538SAndroid Build Coastguard Worker{% if template_type in ('android_library', 'android_junit') %} 44*6777b538SAndroid Build Coastguard Workerapply plugin: "com.android.library" 45*6777b538SAndroid Build Coastguard Worker{% elif template_type == 'android_apk' %} 46*6777b538SAndroid Build Coastguard Workerapply plugin: "com.android.application" 47*6777b538SAndroid Build Coastguard Worker{% endif %} 48*6777b538SAndroid Build Coastguard Worker 49*6777b538SAndroid Build Coastguard Workerandroid { 50*6777b538SAndroid Build Coastguard Worker compileSdkVersion "{{ compile_sdk_version }}" 51*6777b538SAndroid Build Coastguard Worker namespace = "org.chromium.chrome" 52*6777b538SAndroid Build Coastguard Worker 53*6777b538SAndroid Build Coastguard Worker defaultConfig { 54*6777b538SAndroid Build Coastguard Worker vectorDrawables.useSupportLibrary = true 55*6777b538SAndroid Build Coastguard Worker minSdkVersion {{ min_sdk_version }} 56*6777b538SAndroid Build Coastguard Worker targetSdkVersion {{ target_sdk_version }} 57*6777b538SAndroid Build Coastguard Worker } 58*6777b538SAndroid Build Coastguard Worker 59*6777b538SAndroid Build Coastguard Worker compileOptions { 60*6777b538SAndroid Build Coastguard Worker sourceCompatibility JavaVersion.VERSION_17 61*6777b538SAndroid Build Coastguard Worker targetCompatibility JavaVersion.VERSION_17 62*6777b538SAndroid Build Coastguard Worker } 63*6777b538SAndroid Build Coastguard Worker 64*6777b538SAndroid Build Coastguard Worker{% if native is defined %} 65*6777b538SAndroid Build Coastguard Worker externalNativeBuild { 66*6777b538SAndroid Build Coastguard Worker cmake { 67*6777b538SAndroid Build Coastguard Worker path "CMakeLists.txt" 68*6777b538SAndroid Build Coastguard Worker } 69*6777b538SAndroid Build Coastguard Worker } 70*6777b538SAndroid Build Coastguard Worker{% endif %} 71*6777b538SAndroid Build Coastguard Worker 72*6777b538SAndroid Build Coastguard Worker sourceSets { 73*6777b538SAndroid Build Coastguard Worker{% for name in ['main', 'test', 'androidTest', 'debug', 'release'] %} 74*6777b538SAndroid Build Coastguard Worker {{ name }} { 75*6777b538SAndroid Build Coastguard Worker aidl.srcDirs = [] 76*6777b538SAndroid Build Coastguard Worker assets.srcDirs = [] 77*6777b538SAndroid Build Coastguard Worker java.srcDirs = [] 78*6777b538SAndroid Build Coastguard Worker jni.srcDirs = [] 79*6777b538SAndroid Build Coastguard Worker renderscript.srcDirs = [] 80*6777b538SAndroid Build Coastguard Worker res.srcDirs = [] 81*6777b538SAndroid Build Coastguard Worker resources.srcDirs = [] 82*6777b538SAndroid Build Coastguard Worker } 83*6777b538SAndroid Build Coastguard Worker{% endfor %} 84*6777b538SAndroid Build Coastguard Worker 85*6777b538SAndroid Build Coastguard Worker{{ expand_sourceset(main, 'main') }} 86*6777b538SAndroid Build Coastguard Worker{{ expand_sourceset(test, 'test') }} 87*6777b538SAndroid Build Coastguard Worker{% if android_test is defined %} 88*6777b538SAndroid Build Coastguard Worker{% for t in android_test %} 89*6777b538SAndroid Build Coastguard Worker{{ expand_sourceset(t, 'androidTest') }} 90*6777b538SAndroid Build Coastguard Worker{% endfor %} 91*6777b538SAndroid Build Coastguard Worker{% endif %} 92*6777b538SAndroid Build Coastguard Worker } 93*6777b538SAndroid Build Coastguard Worker} 94*6777b538SAndroid Build Coastguard Worker 95*6777b538SAndroid Build Coastguard Worker{% include 'dependencies.jinja' %} 96*6777b538SAndroid Build Coastguard Worker 97*6777b538SAndroid Build Coastguard WorkerafterEvaluate { 98*6777b538SAndroid Build Coastguard Worker def tasksToDisable = tasks.findAll { 99*6777b538SAndroid Build Coastguard Worker return (it.name.equals('generateDebugSources') // causes unwanted AndroidManifest.java 100*6777b538SAndroid Build Coastguard Worker || it.name.equals('generateReleaseSources') 101*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('BuildConfig') // causes unwanted BuildConfig.java 102*6777b538SAndroid Build Coastguard Worker || it.name.equals('preDebugAndroidTestBuild') 103*6777b538SAndroid Build Coastguard Worker{% if not use_gradle_process_resources %} 104*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('Assets') 105*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('Resources') 106*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('ResValues') 107*6777b538SAndroid Build Coastguard Worker{% endif %} 108*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('Aidl') 109*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('Renderscript') 110*6777b538SAndroid Build Coastguard Worker || it.name.endsWith('Shaders')) 111*6777b538SAndroid Build Coastguard Worker } 112*6777b538SAndroid Build Coastguard Worker tasksToDisable.each { Task task -> 113*6777b538SAndroid Build Coastguard Worker task.enabled = false 114*6777b538SAndroid Build Coastguard Worker } 115*6777b538SAndroid Build Coastguard Worker} 116