#
# Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
# SPDX-License-Identifier: GPL-3.0-only
#
org.gradle.parallel=true
org.gradle.configureondemand=false
org.gradle.caching=true

# Enable filesystem watching
org.gradle.vfs.watch=true

# Enable experimental configuration caching
org.gradle.configuration-cache=true

# Enable Kotlin incremental compilation
kotlin.incremental=true

# Kotlin code style
kotlin.code.style=official

# Enable incremental annotation processor for KAPT
kapt.incremental.apt=true

# Turn off AP discovery in compile path to enable compile avoidance
kapt.include.compile.classpath=false

# New incremental compilation for Kotlin
kotlin.compiler.preciseCompilationResultsBackup=true
kotlin.build.report.output=file
kotlin.compiler.suppressExperimentalICOptimizationsWarning=true

# Make all Kotlin DSL warnings fail build
org.gradle.kotlin.dsl.allWarningsAsErrors=true

# Enable AndroidX
android.useAndroidX=true

# Disable mostly unused default Android build features
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.shaders=false
android.library.defaults.buildfeatures.androidresources=false

# Disallow resolution of dependencies at configuration time
android.dependencyResolutionAtConfigurationTime.disallow=true

# Disallow parsing the manifest too early in the build process
android.disableEarlyManifestParsing=true

# Disable warnings about unsupported features
android.suppressUnsupportedOptionWarnings=android.dependencyResolutionAtConfigurationTime.disallow,android.disableEarlyManifestParsing,android.suppressUnsupportedOptionWarnings

# Maven publishing
GROUP=com.github.android-password-store

# OSSRH sometimes struggles with slow deployments, so this makes Gradle
# more tolerant to those delays.
SONATYPE_CONNECT_TIMEOUT_SECONDS=120
SONATYPE_CLOSE_TIMEOUT_SECONDS=1800

# Add opens for KAPT
# https://youtrack.jetbrains.com/issue/KT-45545#focus=Comments-27-4862682.0-0
org.gradle.jvmargs=-Dfile.encoding=UTF-8 \
  --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED  \
  --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED

kotlin.daemon.jvmargs=-Dfile.encoding=UTF-8 \
  --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED  \
  --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED