{# 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. #}
// Generated by //build/android/generate_gradle.py
{% if template_type == 'root' %}

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:2.2.0"
    }
}

{% elif template_type in ('java_library', 'java_binary') %}

apply plugin: "java"
{% if template_type == 'java_binary' %}
apply plugin: "application"
{% endif %}

sourceSets {
    main {
        java.srcDirs = [
{% for path in java_dirs %}
            "{{ path }}",
{% endfor %}
        ]
    }
}

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

{% if template_type == 'java_binary' %}
mainClassName = "{{ main_class }}"
applicationName = "{{ target_name }}"
{% endif %}
{% if template_type in ('java_binary', 'java_library') %}
archivesBaseName = "{{ target_name }}"
{% endif %}

{% else %}

{% 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 }}
    buildToolsVersion "{{ build_tools_version }}"
    publishNonDefault true

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    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 %}

        main.manifest.srcFile "{{ android_manifest }}"

{% if template_type == 'android_library' %}
        main {
{% else %}
        test {
{% endif %}
            java.srcDirs = [
{% for path in java_dirs %}
                "{{ path }}",
{% endfor %}
            ]
        }
    }
}

{% endif %}
{% if template_type != 'root' %}

dependencies {
{% for path in prebuilts %}
    {{ depCompileName }} files("{{ path }}")
{% endfor %}
{% for proj in java_project_deps %}
    {{ depCompileName }} project(":{{ proj }}")
{% endfor %}
{% for proj in android_project_deps %}
    {{ depCompileName }} project(path: ":{{ proj }}", configuration: "debug")
{% endfor %}
}

{% if template_type.startswith('android') %}
android.variantFilter { variant ->
    if (variant.buildType.name.equals('release')) {
        variant.setIgnore(true);
    }
}

afterEvaluate {
    def tasksToDisable = tasks.findAll {
        return (it.name.equals('generateDebugSources')  // causes unwanted AndroidManifest.java
                || it.name.equals('generateReleaseSources')
                || it.name.endsWith('Assets')
                || it.name.endsWith('BuildConfig')  // causes unwanted BuildConfig.java
{% if not use_gradle_process_resources %}
                || 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
    }
}

{% endif %}
{% endif %}
