2023-03-15 21:52:13 +00:00
|
|
|
// SPDX-FileCopyrightText: 2022 The CC: Tweaked Developers
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2022-09-11 14:11:32 +01:00
|
|
|
plugins {
|
|
|
|
`java-gradle-plugin`
|
|
|
|
`kotlin-dsl`
|
2023-12-19 18:12:21 +00:00
|
|
|
alias(libs.plugins.gradleVersions)
|
|
|
|
alias(libs.plugins.versionCatalogUpdate)
|
2022-09-11 14:11:32 +01:00
|
|
|
}
|
|
|
|
|
2022-11-06 15:07:13 +00:00
|
|
|
// Duplicated in settings.gradle.kts
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
gradlePluginPortal()
|
|
|
|
|
Clean up Javadocs a little
I've no motivation for modding right now, but always got time for build
system busywork!
CC:T (and CC before that) has always published its API docs. However,
they're not always the most helpful — they're useful if you know what
you're looking for, but aren't a good getting-started guide.
Part of the issue here is there's no examples, and everything is
described pretty abstractly. I have occasionally tried to improve this
(e.g. the peripheral docs in bdffabc08e2eb9895f966c949acc8334a2bf4475),
but it's a long road.
This commit adds a new example mod, which registers peripherals, an API
and a turtle upgrade. While the mod itself isn't exported as part of the
docs, we reference blocks of it using Java's new {@snippet} tag.
- Switch the Forge project to use NeoForge's new Legacy MDG plugin. We
don't *need* to do this, but it means the build logic for Forge and
NeoForge is more closely aligned.
- Add a new SnippetTaglet, which is a partial backport of Java 18+'s
{@snippet}.
- Add an example mod. This is a working multi-loader mod, complete with
datagen (albeit with no good multi-loader abstractions).
- Move our existing <pre>{@code ...}</pre> blocks into the example mod,
replacing them with {@snippet}s.
- Add a new overview page to the docs, providing some getting-started
information. We had this already in the dan200.computercraft.api
package docs, but it's not especially visible there.
2025-01-09 20:47:51 +00:00
|
|
|
maven("https://maven.neoforged.net") {
|
|
|
|
name = "NeoForge"
|
2022-11-06 15:07:13 +00:00
|
|
|
content {
|
Clean up Javadocs a little
I've no motivation for modding right now, but always got time for build
system busywork!
CC:T (and CC before that) has always published its API docs. However,
they're not always the most helpful — they're useful if you know what
you're looking for, but aren't a good getting-started guide.
Part of the issue here is there's no examples, and everything is
described pretty abstractly. I have occasionally tried to improve this
(e.g. the peripheral docs in bdffabc08e2eb9895f966c949acc8334a2bf4475),
but it's a long road.
This commit adds a new example mod, which registers peripherals, an API
and a turtle upgrade. While the mod itself isn't exported as part of the
docs, we reference blocks of it using Java's new {@snippet} tag.
- Switch the Forge project to use NeoForge's new Legacy MDG plugin. We
don't *need* to do this, but it means the build logic for Forge and
NeoForge is more closely aligned.
- Add a new SnippetTaglet, which is a partial backport of Java 18+'s
{@snippet}.
- Add an example mod. This is a working multi-loader mod, complete with
datagen (albeit with no good multi-loader abstractions).
- Move our existing <pre>{@code ...}</pre> blocks into the example mod,
replacing them with {@snippet}s.
- Add a new overview page to the docs, providing some getting-started
information. We had this already in the dan200.computercraft.api
package docs, but it's not especially visible there.
2025-01-09 20:47:51 +00:00
|
|
|
includeGroup("net.neoforged")
|
2022-11-06 15:07:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-29 20:59:16 +00:00
|
|
|
maven("https://maven.fabricmc.net/") {
|
|
|
|
name = "Fabric"
|
2022-11-06 15:07:13 +00:00
|
|
|
content {
|
2024-01-29 20:59:16 +00:00
|
|
|
includeGroup("net.fabricmc")
|
2022-11-06 15:07:13 +00:00
|
|
|
}
|
|
|
|
}
|
2022-11-10 19:32:13 +00:00
|
|
|
|
2024-06-26 18:07:56 +01:00
|
|
|
maven("https://maven.squiddev.cc") {
|
2024-01-29 20:59:16 +00:00
|
|
|
name = "SquidDev"
|
2022-11-10 19:32:13 +00:00
|
|
|
content {
|
2024-01-29 20:59:16 +00:00
|
|
|
includeGroup("cc.tweaked.vanilla-extract")
|
2022-11-10 19:32:13 +00:00
|
|
|
}
|
|
|
|
}
|
2022-11-06 15:07:13 +00:00
|
|
|
}
|
|
|
|
|
2022-10-22 17:47:39 +01:00
|
|
|
dependencies {
|
2022-11-06 10:28:49 +00:00
|
|
|
implementation(libs.errorProne.plugin)
|
2022-10-29 18:17:02 +01:00
|
|
|
implementation(libs.kotlin.plugin)
|
2022-10-22 17:47:39 +01:00
|
|
|
implementation(libs.spotless)
|
2022-11-06 15:07:13 +00:00
|
|
|
|
2022-11-10 19:32:13 +00:00
|
|
|
implementation(libs.fabric.loom)
|
2023-10-26 22:06:40 +01:00
|
|
|
implementation(libs.ideaExt)
|
2023-03-15 23:20:07 +00:00
|
|
|
implementation(libs.minotaur)
|
Clean up Javadocs a little
I've no motivation for modding right now, but always got time for build
system busywork!
CC:T (and CC before that) has always published its API docs. However,
they're not always the most helpful — they're useful if you know what
you're looking for, but aren't a good getting-started guide.
Part of the issue here is there's no examples, and everything is
described pretty abstractly. I have occasionally tried to improve this
(e.g. the peripheral docs in bdffabc08e2eb9895f966c949acc8334a2bf4475),
but it's a long road.
This commit adds a new example mod, which registers peripherals, an API
and a turtle upgrade. While the mod itself isn't exported as part of the
docs, we reference blocks of it using Java's new {@snippet} tag.
- Switch the Forge project to use NeoForge's new Legacy MDG plugin. We
don't *need* to do this, but it means the build logic for Forge and
NeoForge is more closely aligned.
- Add a new SnippetTaglet, which is a partial backport of Java 18+'s
{@snippet}.
- Add an example mod. This is a working multi-loader mod, complete with
datagen (albeit with no good multi-loader abstractions).
- Move our existing <pre>{@code ...}</pre> blocks into the example mod,
replacing them with {@snippet}s.
- Add a new overview page to the docs, providing some getting-started
information. We had this already in the dan200.computercraft.api
package docs, but it's not especially visible there.
2025-01-09 20:47:51 +00:00
|
|
|
implementation(libs.modDevGradle)
|
2024-01-29 20:59:16 +00:00
|
|
|
implementation(libs.vanillaExtract)
|
2022-10-22 17:47:39 +01:00
|
|
|
}
|
|
|
|
|
2022-09-11 14:11:32 +01:00
|
|
|
gradlePlugin {
|
|
|
|
plugins {
|
2022-10-22 20:47:47 +01:00
|
|
|
register("cc-tweaked") {
|
|
|
|
id = "cc-tweaked"
|
|
|
|
implementationClass = "cc.tweaked.gradle.CCTweakedPlugin"
|
|
|
|
}
|
|
|
|
|
2022-09-11 14:11:32 +01:00
|
|
|
register("cc-tweaked.illuaminate") {
|
|
|
|
id = "cc-tweaked.illuaminate"
|
|
|
|
implementationClass = "cc.tweaked.gradle.IlluaminatePlugin"
|
|
|
|
}
|
2022-10-22 21:09:08 +01:00
|
|
|
|
|
|
|
register("cc-tweaked.node") {
|
|
|
|
id = "cc-tweaked.node"
|
|
|
|
implementationClass = "cc.tweaked.gradle.NodePlugin"
|
|
|
|
}
|
2022-09-11 14:11:32 +01:00
|
|
|
}
|
|
|
|
}
|
2023-12-19 18:12:21 +00:00
|
|
|
|
|
|
|
versionCatalogUpdate {
|
2025-01-12 18:26:51 +00:00
|
|
|
sortByKey = false
|
|
|
|
keep { keepUnusedLibraries = true }
|
|
|
|
catalogFile = file("../gradle/libs.versions.toml")
|
2023-12-19 18:12:21 +00:00
|
|
|
}
|