mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-11-14 05:44:52 +00:00
2d11b51c62
- Replace usages of WiredNetwork.connect/disconnect/remove with the WiredNode equivalents. - Convert "testLarge" into a proper JMH benchmark. - Don't put a peripheral on every node in the benchmarks. This isn't entirely representative, and means the peripheral juggling code ends up dominating the benchmark time.
108 lines
3.3 KiB
Plaintext
108 lines
3.3 KiB
Plaintext
// SPDX-FileCopyrightText: 2022 The CC: Tweaked Developers
|
|
//
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
import cc.tweaked.gradle.*
|
|
|
|
plugins {
|
|
id("cc-tweaked.vanilla")
|
|
id("cc-tweaked.gametest")
|
|
id("cc-tweaked.illuaminate")
|
|
id("cc-tweaked.publishing")
|
|
}
|
|
|
|
minecraft {
|
|
accessWideners(
|
|
"src/main/resources/computercraft.accesswidener",
|
|
"src/main/resources/computercraft-common.accesswidener",
|
|
)
|
|
}
|
|
|
|
configurations {
|
|
register("cctJavadoc")
|
|
}
|
|
|
|
repositories {
|
|
maven("https://maven.minecraftforge.net/") {
|
|
content {
|
|
includeModule("org.spongepowered", "mixin")
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// Pull in our other projects. See comments in MinecraftConfigurations on this nastiness.
|
|
implementation(project(":core"))
|
|
implementation(commonClasses(project(":common-api")))
|
|
clientImplementation(clientClasses(project(":common-api")))
|
|
|
|
compileOnly(libs.bundles.externalMods.common)
|
|
clientCompileOnly(variantOf(libs.emi) { classifier("api") })
|
|
|
|
annotationProcessorEverywhere(libs.autoService)
|
|
testFixturesAnnotationProcessor(libs.autoService)
|
|
|
|
testImplementation(testFixtures(project(":core")))
|
|
testImplementation(libs.bundles.test)
|
|
testRuntimeOnly(libs.bundles.testRuntime)
|
|
|
|
testImplementation(libs.jmh)
|
|
testAnnotationProcessor(libs.jmh.processor)
|
|
|
|
testModCompileOnly(libs.mixin)
|
|
testModImplementation(testFixtures(project(":core")))
|
|
testModImplementation(testFixtures(project(":common")))
|
|
testModImplementation(libs.bundles.kotlin)
|
|
|
|
testFixturesImplementation(testFixtures(project(":core")))
|
|
|
|
"cctJavadoc"(libs.cctJavadoc)
|
|
}
|
|
|
|
illuaminate {
|
|
version.set(libs.versions.illuaminate)
|
|
}
|
|
|
|
val luaJavadoc by tasks.registering(Javadoc::class) {
|
|
description = "Generates documentation for Java-side Lua functions."
|
|
group = JavaBasePlugin.DOCUMENTATION_GROUP
|
|
|
|
val sourceSets = listOf(sourceSets.main.get(), project(":core").sourceSets.main.get())
|
|
for (sourceSet in sourceSets) {
|
|
source(sourceSet.java)
|
|
classpath += sourceSet.compileClasspath
|
|
}
|
|
|
|
destinationDir = layout.buildDirectory.dir("docs/luaJavadoc").get().asFile
|
|
|
|
val options = options as StandardJavadocDocletOptions
|
|
options.docletpath = configurations["cctJavadoc"].files.toList()
|
|
options.doclet = "cc.tweaked.javadoc.LuaDoclet"
|
|
options.addStringOption("project-root", rootProject.file(".").absolutePath)
|
|
options.noTimestamp(false)
|
|
|
|
javadocTool.set(
|
|
javaToolchains.javadocToolFor {
|
|
languageVersion.set(CCTweakedPlugin.JAVA_VERSION)
|
|
},
|
|
)
|
|
}
|
|
|
|
val lintLua by tasks.registering(IlluaminateExec::class) {
|
|
group = JavaBasePlugin.VERIFICATION_GROUP
|
|
description = "Lint Lua (and Lua docs) with illuaminate"
|
|
|
|
// Config files
|
|
inputs.file(rootProject.file("illuaminate.sexp")).withPropertyName("illuaminate.sexp")
|
|
// Sources
|
|
inputs.files(rootProject.fileTree("doc")).withPropertyName("docs")
|
|
inputs.files(project(":core").fileTree("src/main/resources/data/computercraft/lua")).withPropertyName("lua rom")
|
|
inputs.files(luaJavadoc)
|
|
|
|
args = listOf("lint")
|
|
workingDir = rootProject.projectDir
|
|
|
|
doFirst { if (System.getenv("GITHUB_ACTIONS") != null) println("::add-matcher::.github/matchers/illuaminate.json") }
|
|
doLast { if (System.getenv("GITHUB_ACTIONS") != null) println("::remove-matcher owner=illuaminate::") }
|
|
}
|