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