/* * 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 . */ 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') }