Files
Iris/settings.gradle
T
Brian Neumann-Fopiano 324cf9e095 🧹
2026-07-30 12:31:39 -04:00

58 lines
2.2 KiB
Groovy

/*
* Iris is a World Generator for Minecraft Bukkit Servers
* Copyright (c) 2021 Arcane Arts (Volmit Software)
*
* 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 <https://www.gnu.org/licenses/>.
*/
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
}
rootProject.name = 'Iris'
apply from: new File(settingsDir, 'gradle/volmlib-resolution.settings.gradle')
include(':core', ':core:agent')
include(':probe')
include(':spi')
include(':adapters:bukkit:plugin')
include(':adapters:bukkit:nms:v26_2_R1')
/*
* Opt-in: surface the three modded adapter builds to the IDE.
*
* ./gradlew -PincludeModdedAdapters=true ...
*
* OFF by default, and deliberately so. Each adapter settings file does
* `includeBuild('../..')` back onto this build so it can substitute `art.arcane:core` and
* `art.arcane:spi` with the root projects. Including the adapters from here therefore closes a
* composite cycle (root -> adapter -> root) and registers the same VolmLib checkout from two
* participants at once. The release path does not need it: `fabricJar`/`forgeJar`/`neoforgeJar`
* invoke each adapter through its own wrapper as a standalone build (see build.gradle), which is
* also what keeps Loom, ForgeGradle, and ModDevGradle off one plugin classpath.
*
* Enable it only for IDE import, and expect to disable it again if Gradle rejects the cycle.
*/
boolean includeModdedAdapters = providers.gradleProperty('includeModdedAdapters')
.orElse('false')
.map { String value -> value.equalsIgnoreCase('true') }
.get()
if (includeModdedAdapters) {
includeBuild('adapters/fabric')
includeBuild('adapters/forge')
includeBuild('adapters/neoforge')
}