mirror of
https://github.com/EngineHub/WorldEdit.git
synced 2024-12-15 04:41:37 +08:00
89 lines
2.4 KiB
Plaintext
89 lines
2.4 KiB
Plaintext
import org.ajoberstar.grgit.Grgit
|
|
|
|
// needed for fabric to know where FF executor is....
|
|
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
maven {
|
|
name = "Fabric"
|
|
url = uri("https://maven.fabricmc.net/")
|
|
}
|
|
}
|
|
dependencies {
|
|
classpath("net.fabricmc:fabric-loom:${versions.loom}")
|
|
}
|
|
}
|
|
plugins {
|
|
id("org.enginehub.codecov")
|
|
jacoco
|
|
}
|
|
|
|
if (!project.hasProperty("gitCommitHash")) {
|
|
apply(plugin = "org.ajoberstar.grgit")
|
|
ext["gitCommitHash"] = try {
|
|
extensions.getByName<Grgit>("grgit").head()?.abbreviatedId
|
|
} catch (e: Exception) {
|
|
logger.warn("Error getting commit hash", e)
|
|
|
|
"no.git.id"
|
|
}
|
|
}
|
|
|
|
// Work around https://github.com/gradle/gradle/issues/4823
|
|
subprojects {
|
|
if (buildscript.sourceFile?.extension?.toLowerCase() == "kts"
|
|
&& parent != rootProject) {
|
|
generateSequence(parent) { project -> project.parent.takeIf { it != rootProject } }
|
|
.forEach { evaluationDependsOn(it.path) }
|
|
}
|
|
}
|
|
|
|
logger.lifecycle("""
|
|
*******************************************
|
|
You are building WorldEdit!
|
|
|
|
If you encounter trouble:
|
|
1) Read COMPILING.md if you haven't yet
|
|
2) Try running 'build' in a separate Gradle run
|
|
3) Use gradlew and not gradle
|
|
4) If you still need help, ask on Discord! https://discord.gg/enginehub
|
|
|
|
Output files will be in [subproject]/build/libs
|
|
*******************************************
|
|
""")
|
|
|
|
applyCommonConfiguration()
|
|
applyRootArtifactoryConfig()
|
|
|
|
val totalReport = tasks.register<JacocoReport>("jacocoTotalReport") {
|
|
for (proj in subprojects) {
|
|
proj.apply(plugin = "jacoco")
|
|
proj.plugins.withId("java") {
|
|
executionData(
|
|
fileTree(proj.buildDir.absolutePath).include("**/jacoco/*.exec")
|
|
)
|
|
sourceSets(proj.the<JavaPluginConvention>().sourceSets["main"])
|
|
reports {
|
|
xml.isEnabled = true
|
|
xml.destination = rootProject.buildDir.resolve("reports/jacoco/report.xml")
|
|
html.isEnabled = true
|
|
}
|
|
dependsOn(proj.tasks.named("test"))
|
|
}
|
|
}
|
|
}
|
|
afterEvaluate {
|
|
totalReport.configure {
|
|
classDirectories.setFrom(classDirectories.files.map {
|
|
fileTree(it).apply {
|
|
exclude("**/*AutoValue_*")
|
|
exclude("**/*Registration.*")
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
codecov {
|
|
reportTask.set(totalReport)
|
|
}
|