import com.dfsek.terra.configureCompilation import com.dfsek.terra.configureDependencies import com.dfsek.terra.configureDistribution import com.dfsek.terra.configurePublishing import com.dfsek.terra.forSubProjects import com.dfsek.terra.preRelease import com.dfsek.terra.version import com.dfsek.terra.versionProjects preRelease(true) versionProjects(":common:api", version("6.0.0")) versionProjects(":common:implementation", version("6.0.0")) versionProjects(":platforms", version("6.0.0")) allprojects { group = "com.dfsek.terra" configureCompilation() configureDependencies() configurePublishing() tasks.withType().configureEach { options.isFork = true options.isIncremental = true } tasks.withType().configureEach { useJUnitPlatform() maxHeapSize = "2G" ignoreFailures = false failFast = true maxParallelForks = (Runtime.getRuntime().availableProcessors() - 1).takeIf { it > 0 } ?: 1 reports.html.required.set(false) reports.junitXml.required.set(false) } tasks.withType().configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } tasks.withType().configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } } afterEvaluate { forSubProjects(":platforms") { configureDistribution() } forSubProjects(":common:addons") { dependencies { "compileOnly"(project(":common:api")) "testImplementation"(project(":common:api")) } } }