{# Copyright 2016 The Chromium Authors #}
{# 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

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

sourceSets {
    main {
        java.srcDirs = [
{% for path in main.java_dirs %}
            "{{ path }}",
{% endfor %}
        ]
{% if main.java_excludes is defined %}
        java.filter.exclude([
{% for path in main.java_excludes %}
            "{{ path }}",
{% endfor %}
        ])
{% endif %}
    }
}

sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17

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

{% include 'dependencies.jinja' %}
