# # Copyright (c) 2025 Meshtastic LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified in this file. # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Ensure important default jvmargs aren't overwritten. See https://github.com/gradle/gradle/issues/19750 org.gradle.jvmargs=-Xmx8g -XX:+UseG1GC -XX:MaxMetaspaceSize=2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects org.gradle.parallel=true # Disabled due to instability with KSP and modern Gradle features org.gradle.configureondemand=false # Enable caching between builds. org.gradle.caching=true # Enable configuration caching between builds. org.gradle.configuration-cache=true # Enable Isolated Projects (Gradle 9+ optimization) # Allows parallel configuration of projects by enforcing isolation constraints. # Disabled due to KSP incompatibility (NullPointerException in ApplicationManager) org.gradle.isolated-projects=false # Watches the file system for changes, allowing Gradle to reuse information about the file system # between builds. org.gradle.vfs.watch=true # AndroidX package structure to make it clearer which packages are bundled with the # Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true android.enableJetifier=false # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official # Disable build features that are enabled by default, # https://developer.android.com/build/releases/gradle-plugin#default-changes android.nonTransitiveRClass=true dependency.analysis.print.build.health=true ksp.useKSP2=true # Force KSP to run in a separate process to avoid IntelliJ ApplicationManager races in parallel builds ksp.run.in.process=false ksp.incremental=true ksp.incremental.classpath=true # Compose Compiler Reports enableComposeCompilerMetrics=false enableComposeCompilerReports=false android.newDsl=false