diff --git a/conventions/helpers/build.gradle.kts b/conventions/helpers/build.gradle.kts index 5bbff41..d4cdb39 100644 --- a/conventions/helpers/build.gradle.kts +++ b/conventions/helpers/build.gradle.kts @@ -10,4 +10,12 @@ gradlePlugin { id = "de.siphalor.tweed5.minecraft.mod.component" implementationClass = "de.siphalor.tweed5.gradle.plugin.minecraft.mod.MinecraftModComponentPlugin" } + plugins.register("moduleInfo") { + id = "de.siphalor.tweed5.module-info" + implementationClass = "de.siphalor.tweed5.gradle.plugin.module_info.ModuleInfoPlugin" + } + plugins.register("rootProperties") { + id = "de.siphalor.tweed5.root-properties" + implementationClass = "de.siphalor.tweed5.gradle.plugin.root_properties.RootPropertiesPlugin" + } } diff --git a/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/module_info/ModuleInfoExtension.kt b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/module_info/ModuleInfoExtension.kt new file mode 100644 index 0000000..877a0dc --- /dev/null +++ b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/module_info/ModuleInfoExtension.kt @@ -0,0 +1,8 @@ +package de.siphalor.tweed5.gradle.plugin.module_info + +import org.gradle.api.provider.Property + +abstract class ModuleInfoExtension { + abstract val name: Property + abstract val description: Property +} diff --git a/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/module_info/ModuleInfoPlugin.kt b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/module_info/ModuleInfoPlugin.kt new file mode 100644 index 0000000..1b76863 --- /dev/null +++ b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/module_info/ModuleInfoPlugin.kt @@ -0,0 +1,10 @@ +package de.siphalor.tweed5.gradle.plugin.module_info + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class ModuleInfoPlugin : Plugin { + override fun apply(target: Project) { + target.extensions.create("moduleInfo", ModuleInfoExtension::class.java) + } +} diff --git a/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/root_properties/RootPropertiesExtension.kt b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/root_properties/RootPropertiesExtension.kt new file mode 100644 index 0000000..cfb6f22 --- /dev/null +++ b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/root_properties/RootPropertiesExtension.kt @@ -0,0 +1,10 @@ +package de.siphalor.tweed5.gradle.plugin + +import org.gradle.api.provider.MapProperty +import org.gradle.api.provider.Provider + +abstract class RootPropertiesExtension { + abstract val properties: MapProperty + + operator fun get(key: String): Provider = properties.getting(key) +} diff --git a/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/root_properties/RootPropertiesPlugin.kt b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/root_properties/RootPropertiesPlugin.kt new file mode 100644 index 0000000..f11a08c --- /dev/null +++ b/conventions/helpers/src/main/kotlin/de/siphalor/tweed5/gradle/plugin/root_properties/RootPropertiesPlugin.kt @@ -0,0 +1,32 @@ +package de.siphalor.tweed5.gradle.plugin.root_properties + +import de.siphalor.tweed5.gradle.plugin.RootPropertiesExtension +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.provider.ProviderFactory +import org.gradle.kotlin.dsl.apply +import java.util.Properties +import javax.inject.Inject + +abstract class RootPropertiesPlugin : Plugin { + @get:Inject + abstract val providers: ProviderFactory + + override fun apply(project: Project) { + val rootPropertiesFile = if (project.layout.settingsDirectory.file(".gitmodules").asFile.exists()) { + project.layout.settingsDirectory.file("gradle.properties") + } else { + project.layout.settingsDirectory.file("../gradle.properties") + } + + val rootProperties = providers.fileContents(rootPropertiesFile).asBytes.map { propsBytes -> + Properties().apply { + load(propsBytes.inputStream()) + }.map { it.key.toString() to it.value.toString() }.toMap() + } + + project.extensions.create("rootProperties", RootPropertiesExtension::class.java).apply { + properties.value(rootProperties) + } + } +} diff --git a/conventions/src/main/kotlin/de.siphalor.tweed5.expanded-sources-jar.gradle.kts b/conventions/src/main/kotlin/de.siphalor.tweed5.expanded-sources-jar.gradle.kts index ea2439d..5b2efcd 100644 --- a/conventions/src/main/kotlin/de.siphalor.tweed5.expanded-sources-jar.gradle.kts +++ b/conventions/src/main/kotlin/de.siphalor.tweed5.expanded-sources-jar.gradle.kts @@ -17,7 +17,7 @@ val expandedSourcesElements = configurations.consumable("expandedSourcesElements val delombok = tasks.getByName("delombok") -val sourcesJar by tasks.registering(Jar::class) { +val sourcesJar = tasks.register("sourcesJar") { group = LifecycleBasePlugin.BUILD_GROUP dependsOn(delombok) diff --git a/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.base.gradle.kts b/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.base.gradle.kts index bc4f3f2..e9c15af 100644 --- a/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.base.gradle.kts +++ b/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.base.gradle.kts @@ -2,6 +2,8 @@ plugins { id("com.gradleup.shadow") java `java-library` + id("de.siphalor.tweed5.root-properties") + id("de.siphalor.tweed5.module-info") id("de.siphalor.tweed5.shadow.explicit") id("de.siphalor.tweed5.minecraft.mod.component") } @@ -24,9 +26,9 @@ fun formatJarsForJson(jars: FileCollection): String { tasks.register("processMinecraftModResources") { inputs.property("id", project.name) inputs.property("version", project.version) - inputs.property("name", properties["module.name"]) - inputs.property("description", properties["module.description"]) - inputs.property("repoUrl", properties["git.url"]) + inputs.property("name", moduleInfo.name) + inputs.property("description", moduleInfo.description) + inputs.property("repoUrl", rootProperties["git.url"]) inputs.files(minecraftJijElements) val jars = objects.fileCollection().apply { from(minecraftJijElements) } @@ -36,9 +38,9 @@ tasks.register("processMinecraftModResources") { mapOf( "id" to project.name.replace('-', '_'), "version" to project.version, - "name" to properties["module.name"], - "description" to properties["module.description"], - "repoUrl" to properties["git.url"], + "name" to moduleInfo.name, + "description" to moduleInfo.description, + "repoUrl" to rootProperties["git.url"].get(), "jars" to formatJarsForJson(jars) ) ) @@ -52,9 +54,9 @@ tasks.register("processMinecraftModResources") { tasks.register("processMinecraftTestmodResources") { inputs.property("id", project.name) inputs.property("version", project.version) - inputs.property("name", properties["module.name"]) - inputs.property("description", properties["module.description"]) - inputs.property("repoUrl", properties["git.url"]) + inputs.property("name", moduleInfo.name) + inputs.property("description", moduleInfo.description) + inputs.property("repoUrl", rootProperties["git.url"]) inputs.files(minecraftJijElements) val jars = objects.fileCollection().apply { from(minecraftJijElements) } @@ -64,9 +66,9 @@ tasks.register("processMinecraftTestmodResources") { mapOf( "id" to "${project.name.replace('-', '_')}_testmod", "version" to project.version, - "name" to "${properties["module.name"]} (test mod)", - "description" to properties["module.description"], - "repoUrl" to properties["git.url"], + "name" to "${moduleInfo.name.get()} (test mod)", + "description" to moduleInfo.description, + "repoUrl" to rootProperties["git.url"].get(), "jars" to formatJarsForJson(jars) ) ) diff --git a/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.dummy.gradle.kts b/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.dummy.gradle.kts index e398e56..2b129ff 100644 --- a/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.dummy.gradle.kts +++ b/conventions/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.dummy.gradle.kts @@ -2,8 +2,8 @@ import org.gradle.api.publish.internal.PublicationInternal plugins { `maven-publish` - id("de.siphalor.tweed5.publishing") id("de.siphalor.tweed5.minecraft.mod.base") + id("de.siphalor.tweed5.publishing") } val minecraftModJar = tasks.register("minecraftModJar") { diff --git a/conventions/src/main/kotlin/de.siphalor.tweed5.publishing.gradle.kts b/conventions/src/main/kotlin/de.siphalor.tweed5.publishing.gradle.kts index 6f54523..1a02113 100644 --- a/conventions/src/main/kotlin/de.siphalor.tweed5.publishing.gradle.kts +++ b/conventions/src/main/kotlin/de.siphalor.tweed5.publishing.gradle.kts @@ -1,6 +1,8 @@ plugins { `java-library` `maven-publish` + id("de.siphalor.tweed5.root-properties") + id("de.siphalor.tweed5.module-info") } group = rootProject.group @@ -23,11 +25,11 @@ publishing { publications.all { if (this is MavenPublication) { pom { - name = project.property("module.name") as String - description = project.property("module.description") as String - url = project.property("git.url") as String + name = moduleInfo.name + description = moduleInfo.description + url = rootProperties["git.url"] scm { - url = project.property("git.url") as String + url = rootProperties["git.url"] } } } diff --git a/conventions/src/main/kotlin/de.siphalor.tweed5.root-properties.gradle.kts b/conventions/src/main/kotlin/de.siphalor.tweed5.root-properties.gradle.kts deleted file mode 100644 index 1d3714d..0000000 --- a/conventions/src/main/kotlin/de.siphalor.tweed5.root-properties.gradle.kts +++ /dev/null @@ -1,8 +0,0 @@ -import java.util.Properties - -val rootPropertiesFile = project.layout.settingsDirectory.file("../gradle.properties").asFile -if (rootPropertiesFile.exists()) { - Properties() - .apply { rootPropertiesFile.inputStream().use { load(it) } } - .forEach { (key, value) -> project.ext.set(key.toString(), value.toString()) } -} diff --git a/tweed5-minecraft/build.gradle.kts b/tweed5-minecraft/build.gradle.kts index fedf377..3172437 100644 --- a/tweed5-minecraft/build.gradle.kts +++ b/tweed5-minecraft/build.gradle.kts @@ -4,4 +4,4 @@ plugins { } group = "de.siphalor.tweed5.minecraft" -version = project.property("tweed5.version").toString() +version = rootProperties["tweed5.version"].get() diff --git a/tweed5-minecraft/buildSrc/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.cross-version.gradle.kts b/tweed5-minecraft/buildSrc/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.cross-version.gradle.kts index 9d17db4..0a2ffda 100644 --- a/tweed5-minecraft/buildSrc/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.cross-version.gradle.kts +++ b/tweed5-minecraft/buildSrc/src/main/kotlin/de.siphalor.tweed5.minecraft.mod.cross-version.gradle.kts @@ -3,13 +3,12 @@ import de.siphalor.tweed5.gradle.plugin.minecraft.mod.MinecraftModded import net.fabricmc.loom.api.LoomGradleExtensionAPI import net.fabricmc.loom.task.RemapJarTask import net.fabricmc.loom.util.Constants -import java.nio.file.Files -import java.nio.file.StandardCopyOption import java.util.Properties plugins { java id("de.siphalor.minecraft-modding-toolkit.project-plugin") + id("de.siphalor.tweed5.root-properties") id("de.siphalor.tweed5.unit-tests") id("de.siphalor.tweed5.publishing") id("de.siphalor.tweed5.expanded-sources-jar") @@ -40,11 +39,11 @@ val archivesBaseName = "${project.name}-mc$minecraftVersionDescriptor" base { archivesName.set(archivesBaseName) } -val shortVersion = project.property("tweed5.version").toString() +val shortVersion = rootProperties["tweed5.version"].get() val minecraftVersion = getMcCatalogVersion("minecraft") version = "$shortVersion+mc$minecraftVersion" -val testmod by sourceSets.creating { +val testmod = sourceSets.create("testmod") { compileClasspath += sourceSets.main.get().compileClasspath runtimeClasspath += sourceSets.main.get().runtimeClasspath } @@ -56,10 +55,12 @@ smcmtk { extensions.configure() { runs { - create("testmodClient") { - client() - name("${properties["module.name"]} Test Mod (client)") - source(testmod) + afterEvaluate { + register("testmodClient") { + client() + name("${moduleInfo.name.get()} Test Mod (client)") + source(testmod) + } } } } diff --git a/tweed5-minecraft/bundle-pojo-weaving/build.gradle.kts b/tweed5-minecraft/bundle-pojo-weaving/build.gradle.kts index b46a3b5..e0a37f5 100644 --- a/tweed5-minecraft/bundle-pojo-weaving/build.gradle.kts +++ b/tweed5-minecraft/bundle-pojo-weaving/build.gradle.kts @@ -2,6 +2,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.bundle") } +moduleInfo { + name = "Tweed 5 Bundle for POJO weaving" + description = "Bundle of pre-packaged Tweed modules for creating configs from POJOs." +} + dependencies { minecraftJij("de.siphalor.tweed5:tweed5-annotation-inheritance:${project.version}") minecraftJij("de.siphalor.tweed5:tweed5-naming-format:${project.version}") diff --git a/tweed5-minecraft/bundle-pojo-weaving/gradle.properties b/tweed5-minecraft/bundle-pojo-weaving/gradle.properties deleted file mode 100644 index 1e73ff7..0000000 --- a/tweed5-minecraft/bundle-pojo-weaving/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Bundle for POJO weaving -module.description = Bundle of pre-packaged Tweed modules for creating configs from POJOs. diff --git a/tweed5-minecraft/bundle/build.gradle.kts b/tweed5-minecraft/bundle/build.gradle.kts index 7aa274e..8703fa2 100644 --- a/tweed5-minecraft/bundle/build.gradle.kts +++ b/tweed5-minecraft/bundle/build.gradle.kts @@ -2,6 +2,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.bundle") } +moduleInfo { + name = "Tweed 5 Bundle" + description = "Bundle of pre-packaged Tweed modules that are usually required for your Minecraft mod config needs." +} + dependencies { minecraftJij("de.siphalor.tweed5:tweed5-attributes-extension:${project.version}") minecraftJij("de.siphalor.tweed5:tweed5-construct:${project.version}") diff --git a/tweed5-minecraft/bundle/gradle.properties b/tweed5-minecraft/bundle/gradle.properties deleted file mode 100644 index c5d992a..0000000 --- a/tweed5-minecraft/bundle/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -module.name = Tweed 5 Bundle -module.description = Bundle of pre-packaged Tweed modules \ - that are usually required for your Minecraft mod config needs. diff --git a/tweed5-minecraft/coat-bridge/build.gradle.kts b/tweed5-minecraft/coat-bridge/build.gradle.kts index b9b58e7..bd06347 100644 --- a/tweed5-minecraft/coat-bridge/build.gradle.kts +++ b/tweed5-minecraft/coat-bridge/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.cross-version") } +moduleInfo { + name = "Tweed 5 Coat Bridge" + description = "Provides a system that allows to generate a Coat config screen for a Tweed config." +} + dependencies { compileOnly("de.siphalor.tweed5:tweed5-core") compileOnly("de.siphalor.tweed5:tweed5-attributes-extension") diff --git a/tweed5-minecraft/coat-bridge/gradle.properties b/tweed5-minecraft/coat-bridge/gradle.properties deleted file mode 100644 index 207effe..0000000 --- a/tweed5-minecraft/coat-bridge/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Coat Bridge -module.description = Provides a system that allows to generate a Coat config screen for a Tweed config. diff --git a/tweed5-minecraft/fabric-helper/build.gradle.kts b/tweed5-minecraft/fabric-helper/build.gradle.kts index 1a88ca9..aa26893 100644 --- a/tweed5-minecraft/fabric-helper/build.gradle.kts +++ b/tweed5-minecraft/fabric-helper/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.cross-version") } +moduleInfo { + name = "Tweed 5 Fabric Helper" + description = "A collection of utility classes to make working with Tweed 5 configurations easier on Fabric." +} + dependencies { modCompileOnly(fabricApi.module("fabric-networking-api-v1", mcLibs.versions.fabric.api.get())) compileOnly("de.siphalor.tweed5:tweed5-comment-loader-extension") diff --git a/tweed5-minecraft/fabric-helper/gradle.properties b/tweed5-minecraft/fabric-helper/gradle.properties deleted file mode 100644 index efe68ef..0000000 --- a/tweed5-minecraft/fabric-helper/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Fabric Helper -module.description = A collection of utility classes to make working with Tweed 5 configurations easier on Fabric. diff --git a/tweed5-minecraft/gradle.properties b/tweed5-minecraft/gradle.properties index 2c68ee8..bdf22d0 100644 --- a/tweed5-minecraft/gradle.properties +++ b/tweed5-minecraft/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs = -Xmx2G org.gradle.configuration-cache = true -minecraft.version.descriptor = 26.2.0 +minecraft.version.descriptor = 1.16.5 diff --git a/tweed5-minecraft/logging/build.gradle.kts b/tweed5-minecraft/logging/build.gradle.kts index 55fa0de..b6786ab 100644 --- a/tweed5-minecraft/logging/build.gradle.kts +++ b/tweed5-minecraft/logging/build.gradle.kts @@ -2,6 +2,12 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Logging" + description = """Fork and relocation of Apache Commons Logging. +Contains a small fix to support older Log4j versions. Also removes some obsolete classes.""" +} + val vendoredCommonsLogging = project.layout.settingsDirectory.file("vendor/commons-logging").asFile dependencies { diff --git a/tweed5-minecraft/logging/gradle.properties b/tweed5-minecraft/logging/gradle.properties deleted file mode 100644 index 5d105ea..0000000 --- a/tweed5-minecraft/logging/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -module.name = Tweed 5 Logging -module.description = Fork and relocation of Apache Commons Logging.\n\ - Contains a small fix to support older Log4j versions. \ - Also removes some obsolete classes. diff --git a/tweed5-minecraft/networking/build.gradle.kts b/tweed5-minecraft/networking/build.gradle.kts index 3e8dd03..330b513 100644 --- a/tweed5-minecraft/networking/build.gradle.kts +++ b/tweed5-minecraft/networking/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.cross-version") } +moduleInfo { + name = "Tweed 5 Netwoking" + description = "Minecraft networking support for Tweed 5" +} + dependencies { modCompileOnly(fabricApi.module("fabric-networking-api-v1", mcLibs.versions.fabric.api.get())) compileOnly("de.siphalor.tweed5:tweed5-core") diff --git a/tweed5-minecraft/networking/gradle.properties b/tweed5-minecraft/networking/gradle.properties deleted file mode 100644 index bf3c488..0000000 --- a/tweed5-minecraft/networking/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Netwoking -module.description = Minecraft networking support for Tweed 5 diff --git a/tweed5/annotation-inheritance/build.gradle.kts b/tweed5/annotation-inheritance/build.gradle.kts index 278d730..08adfa5 100644 --- a/tweed5/annotation-inheritance/build.gradle.kts +++ b/tweed5/annotation-inheritance/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Annotation Inheritance" + description = "Provides a mechanism to create meta-annotations. This allows bundling annotations that are commonly used together into a single convenience annotation." +} + configurations.minecraftModApiElements { exclude("org.ow2.asm", "asm") } diff --git a/tweed5/annotation-inheritance/gradle.properties b/tweed5/annotation-inheritance/gradle.properties deleted file mode 100644 index 44f11b5..0000000 --- a/tweed5/annotation-inheritance/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -module.name = Tweed 5 Annotation Inheritance -module.description = Provides a mechanism to create meta-annotations. \ - This allows bundling annotations that are commonly used together into a single convenience annotation. diff --git a/tweed5/attributes-extension/build.gradle.kts b/tweed5/attributes-extension/build.gradle.kts index 5a08390..3eaa31b 100644 --- a/tweed5/attributes-extension/build.gradle.kts +++ b/tweed5/attributes-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Attributes Extension" + description = "A Tweed extension that allows defining generic attributes on config entries." +} + dependencies { implementation(project(":tweed5-core")) compileOnly(project(":tweed5-serde-extension")) diff --git a/tweed5/attributes-extension/gradle.properties b/tweed5/attributes-extension/gradle.properties deleted file mode 100644 index e01cfcf..0000000 --- a/tweed5/attributes-extension/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Attributes Extension -module.description = A Tweed extension that allows defining generic attributes on config entries. diff --git a/tweed5/build.gradle.kts b/tweed5/build.gradle.kts index f492f73..e34603c 100644 --- a/tweed5/build.gradle.kts +++ b/tweed5/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } group = "de.siphalor.tweed5" -version = project.property("tweed5.version").toString() +version = rootProperties["tweed5.version"].get() configurations.aggregateTestReportResults { attributes { @@ -32,10 +32,10 @@ dependencies { reporting { reports { - val aggregatedTestReport by creating(AggregateTestReport::class) { + create("aggregatedTestReport") { testSuiteName = "test" } - val aggregatedCoverageReport by creating(JacocoCoverageReport::class) { + create("aggregatedCoverageReport") { testSuiteName = "test" } } diff --git a/tweed5/comment-loader-extension/build.gradle.kts b/tweed5/comment-loader-extension/build.gradle.kts index b76e19b..584595e 100644 --- a/tweed5/comment-loader-extension/build.gradle.kts +++ b/tweed5/comment-loader-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Comment Loader Extension" + description = "Tweed 5 module that allows dynamically loading comments from data files, e.g., for i18n" +} + dependencies { implementation(project(":tweed5-core")) implementation(project(":tweed5-default-extensions")) diff --git a/tweed5/comment-loader-extension/gradle.properties b/tweed5/comment-loader-extension/gradle.properties deleted file mode 100644 index 80f1853..0000000 --- a/tweed5/comment-loader-extension/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Comment Loader Extension -module.description = Tweed 5 module that allows dynamically loading comments from data files, e.g., for i18n diff --git a/tweed5/construct/build.gradle.kts b/tweed5/construct/build.gradle.kts index c1bf9fe..aac1e1b 100644 --- a/tweed5/construct/build.gradle.kts +++ b/tweed5/construct/build.gradle.kts @@ -2,3 +2,8 @@ plugins { id("de.siphalor.tweed5.base-module") id("de.siphalor.tweed5.minecraft.mod.dummy") } + +moduleInfo { + name = "Tweed 5 Construct" + description = "Provides a generic factory system for creating instances of subclasses with predefined constructor arguments. This solves Java's lack of constructor inheritance by enabling flexible object instantiation patterns." +} diff --git a/tweed5/construct/gradle.properties b/tweed5/construct/gradle.properties deleted file mode 100644 index bb41432..0000000 --- a/tweed5/construct/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -module.name = Tweed 5 Construct -module.description = Provides a generic factory system for creating instances of subclasses with predefined constructor arguments. \ - This solves Java's lack of constructor inheritance by enabling flexible object instantiation patterns. diff --git a/tweed5/core/build.gradle.kts b/tweed5/core/build.gradle.kts index 71e3d60..9fee216 100644 --- a/tweed5/core/build.gradle.kts +++ b/tweed5/core/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Core" + description = "Provides core APIs and functionality for Tweed 5, like entries, containers and extensions." +} + dependencies { implementation(project(":tweed5-construct")) api(project(":tweed5-patchwork")) diff --git a/tweed5/core/gradle.properties b/tweed5/core/gradle.properties deleted file mode 100644 index fd89027..0000000 --- a/tweed5/core/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Core -module.description = Provides core APIs and functionality for Tweed 5, like entries, containers and extensions. diff --git a/tweed5/default-extensions/build.gradle.kts b/tweed5/default-extensions/build.gradle.kts index e0bef75..518c6ea 100644 --- a/tweed5/default-extensions/build.gradle.kts +++ b/tweed5/default-extensions/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Default Extensions" + description = "A collection of commonly used Tweed 5 extensions bundled for convenience." +} + dependencies { api(project(":tweed5-core")) api(project(":tweed5-serde-extension")) diff --git a/tweed5/default-extensions/gradle.properties b/tweed5/default-extensions/gradle.properties deleted file mode 100644 index 05b237e..0000000 --- a/tweed5/default-extensions/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Default Extensions -module.description = A collection of commonly used Tweed 5 extensions bundled for convenience. diff --git a/tweed5/naming-format/build.gradle.kts b/tweed5/naming-format/build.gradle.kts index ec0993e..1729e2d 100644 --- a/tweed5/naming-format/build.gradle.kts +++ b/tweed5/naming-format/build.gradle.kts @@ -2,3 +2,8 @@ plugins { id("de.siphalor.tweed5.base-module") id("de.siphalor.tweed5.minecraft.mod.dummy") } + +moduleInfo { + name = "Tweed 5 Naming Format" + description = "Utilities and conventions for parsing and converting between different naming formats. Examples include camelCase, snake_case, kebab-case, and more." +} diff --git a/tweed5/naming-format/gradle.properties b/tweed5/naming-format/gradle.properties deleted file mode 100644 index 30f3335..0000000 --- a/tweed5/naming-format/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -module.name = Tweed 5 Naming Format -module.description = Utilities and conventions for parsing and converting between different naming formats. \ - Examples include camelCase, snake_case, kebab-case, and more. diff --git a/tweed5/patchwork/build.gradle.kts b/tweed5/patchwork/build.gradle.kts index ec0993e..4d18637 100644 --- a/tweed5/patchwork/build.gradle.kts +++ b/tweed5/patchwork/build.gradle.kts @@ -2,3 +2,8 @@ plugins { id("de.siphalor.tweed5.base-module") id("de.siphalor.tweed5.minecraft.mod.dummy") } + +moduleInfo { + name = "Tweed 5 Patchwork" + description = "Provides extendable data structures that provide strong encapsulation and type safe access." +} diff --git a/tweed5/patchwork/gradle.properties b/tweed5/patchwork/gradle.properties deleted file mode 100644 index cc420fa..0000000 --- a/tweed5/patchwork/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Patchwork -module.description = Provides extendable data structures that provide strong encapsulation and type safe access. diff --git a/tweed5/serde-api/build.gradle.kts b/tweed5/serde-api/build.gradle.kts index ec0993e..15bc35c 100644 --- a/tweed5/serde-api/build.gradle.kts +++ b/tweed5/serde-api/build.gradle.kts @@ -2,3 +2,8 @@ plugins { id("de.siphalor.tweed5.base-module") id("de.siphalor.tweed5.minecraft.mod.dummy") } + +moduleInfo { + name = "Tweed 5 Serde API" + description = "An abstract reader and writer system as a base layer for supporting different serialization formats." +} diff --git a/tweed5/serde-api/gradle.properties b/tweed5/serde-api/gradle.properties deleted file mode 100644 index 84a7d36..0000000 --- a/tweed5/serde-api/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Serde API -module.description = An abstract reader and writer system as a base layer for supporting different serialization formats. diff --git a/tweed5/serde-extension/build.gradle.kts b/tweed5/serde-extension/build.gradle.kts index 54018be..9c9d07e 100644 --- a/tweed5/serde-extension/build.gradle.kts +++ b/tweed5/serde-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Serde Extension" + description = "A Tweed extension that provides support for reading and writing entries using Tweed's serde API." +} + dependencies { api(project(":tweed5-core")) api(project(":tweed5-patchwork")) diff --git a/tweed5/serde-extension/gradle.properties b/tweed5/serde-extension/gradle.properties deleted file mode 100644 index c00256e..0000000 --- a/tweed5/serde-extension/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Serde Extension -module.description = A Tweed extension that provides support for reading and writing entries using Tweed's serde API. diff --git a/tweed5/serde-gson/build.gradle.kts b/tweed5/serde-gson/build.gradle.kts index c948166..0c01909 100644 --- a/tweed5/serde-gson/build.gradle.kts +++ b/tweed5/serde-gson/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Gson" + description = "Tweed 5 module that adds support for reading and writing JSON using the Gson library." +} + dependencies { implementation(project(":tweed5-serde-api")) api(libs.gson) diff --git a/tweed5/serde-gson/gradle.properties b/tweed5/serde-gson/gradle.properties deleted file mode 100644 index f6aadf4..0000000 --- a/tweed5/serde-gson/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Gson -module.description = Tweed 5 module that adds support for reading and writing JSON using the Gson library. diff --git a/tweed5/serde-hjson/build.gradle.kts b/tweed5/serde-hjson/build.gradle.kts index abf7088..32532f6 100644 --- a/tweed5/serde-hjson/build.gradle.kts +++ b/tweed5/serde-hjson/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Hjson" + description = "Tweed 5 module that adds support for reading and writing Hjson files." +} + dependencies { api(project(":tweed5-serde-api")) diff --git a/tweed5/serde-hjson/gradle.properties b/tweed5/serde-hjson/gradle.properties deleted file mode 100644 index ad91e8a..0000000 --- a/tweed5/serde-hjson/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Hjson -module.description = Tweed 5 module that adds support for reading and writing Hjson files. diff --git a/tweed5/serde-jackson/build.gradle.kts b/tweed5/serde-jackson/build.gradle.kts index e7fab7f..d2ad773 100644 --- a/tweed5/serde-jackson/build.gradle.kts +++ b/tweed5/serde-jackson/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Jackson" + description = "Tweed 5 module that adds support for reading and writing JSON files using the Jackson library." +} + dependencies { implementation(project(":tweed5-serde-api")) implementation(libs.jackson.core) diff --git a/tweed5/serde-jackson/gradle.properties b/tweed5/serde-jackson/gradle.properties deleted file mode 100644 index 68bd3ba..0000000 --- a/tweed5/serde-jackson/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Jackson -module.description = Tweed 5 module that adds support for reading and writing JSON files using the Jackson library. diff --git a/tweed5/type-utils/build.gradle.kts b/tweed5/type-utils/build.gradle.kts index ec0993e..ed21310 100644 --- a/tweed5/type-utils/build.gradle.kts +++ b/tweed5/type-utils/build.gradle.kts @@ -2,3 +2,8 @@ plugins { id("de.siphalor.tweed5.base-module") id("de.siphalor.tweed5.minecraft.mod.dummy") } + +moduleInfo { + name = "Tweed 5 Type Utils" + description = "Various utilities to ease processing Java types with reflection." +} diff --git a/tweed5/type-utils/gradle.properties b/tweed5/type-utils/gradle.properties deleted file mode 100644 index 048dd99..0000000 --- a/tweed5/type-utils/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Type Utils -module.description = Various utilities to ease processing Java types with reflection. diff --git a/tweed5/utils/build.gradle.kts b/tweed5/utils/build.gradle.kts index ec0993e..880d757 100644 --- a/tweed5/utils/build.gradle.kts +++ b/tweed5/utils/build.gradle.kts @@ -2,3 +2,8 @@ plugins { id("de.siphalor.tweed5.base-module") id("de.siphalor.tweed5.minecraft.mod.dummy") } + +moduleInfo { + name = "Tweed 5 Utils" + description = "Generic utility classes for Tweed 5." +} diff --git a/tweed5/utils/gradle.properties b/tweed5/utils/gradle.properties deleted file mode 100644 index 7bae128..0000000 --- a/tweed5/utils/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Tweed 5 Utils -module.description = Generic utility classes for Tweed 5. diff --git a/tweed5/weaver-pojo-attributes-extension/build.gradle.kts b/tweed5/weaver-pojo-attributes-extension/build.gradle.kts index cf3e32c..3fbb06c 100644 --- a/tweed5/weaver-pojo-attributes-extension/build.gradle.kts +++ b/tweed5/weaver-pojo-attributes-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Attributes Extension for Tweed5 Weaver POJO" + description = "Adds support for declaring generic attributes using annotations to the Tweed5 Weaver POJO." +} + dependencies { api(project(":tweed5-weaver-pojo")) api(project(":tweed5-attributes-extension")) diff --git a/tweed5/weaver-pojo-attributes-extension/gradle.properties b/tweed5/weaver-pojo-attributes-extension/gradle.properties deleted file mode 100644 index ac3359e..0000000 --- a/tweed5/weaver-pojo-attributes-extension/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Attributes Extension for Tweed5 Weaver POJO -module.description = Adds support for declaring generic attributes using annotations to the Tweed5 Weaver POJO. diff --git a/tweed5/weaver-pojo-presets-extension/build.gradle.kts b/tweed5/weaver-pojo-presets-extension/build.gradle.kts index 520b309..053a9f2 100644 --- a/tweed5/weaver-pojo-presets-extension/build.gradle.kts +++ b/tweed5/weaver-pojo-presets-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Presets Extension for Tweed 5 Weaver POJO" + description = "Allows declaring presets on POJOs using annotations." +} + dependencies { api(project(":tweed5-construct")) api(project(":tweed5-default-extensions")) diff --git a/tweed5/weaver-pojo-presets-extension/gradle.properties b/tweed5/weaver-pojo-presets-extension/gradle.properties deleted file mode 100644 index 01ddfb1..0000000 --- a/tweed5/weaver-pojo-presets-extension/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Presets Extension for Tweed 5 Weaver POJO -module.description = Allows declaring presets on POJOs using annotations. diff --git a/tweed5/weaver-pojo-serde-extension/build.gradle.kts b/tweed5/weaver-pojo-serde-extension/build.gradle.kts index 0b0ba0f..04c7a7c 100644 --- a/tweed5/weaver-pojo-serde-extension/build.gradle.kts +++ b/tweed5/weaver-pojo-serde-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Serde Extension for Tweed 5 Weaver POJO" + description = "Adds support for declaring and deriving serializers and deserializers for Tweed 5's Serde API from annotations." +} + dependencies { api(project(":tweed5-weaver-pojo")) api(project(":tweed5-serde-extension")) diff --git a/tweed5/weaver-pojo-serde-extension/gradle.properties b/tweed5/weaver-pojo-serde-extension/gradle.properties deleted file mode 100644 index 233e90e..0000000 --- a/tweed5/weaver-pojo-serde-extension/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -module.name = Serde Extension for Tweed 5 Weaver POJO -module.description = Adds support for declaring and deriving serializers and deserializers for Tweed 5's Serde API \ - from annotations. diff --git a/tweed5/weaver-pojo-validation-extension/build.gradle.kts b/tweed5/weaver-pojo-validation-extension/build.gradle.kts index 520b309..e900609 100644 --- a/tweed5/weaver-pojo-validation-extension/build.gradle.kts +++ b/tweed5/weaver-pojo-validation-extension/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Validation Extension for Tweed 5 Weaver POJO" + description = "Allows declaring validation constraints on POJOs using annotations." +} + dependencies { api(project(":tweed5-construct")) api(project(":tweed5-default-extensions")) diff --git a/tweed5/weaver-pojo-validation-extension/gradle.properties b/tweed5/weaver-pojo-validation-extension/gradle.properties deleted file mode 100644 index 3afdcf4..0000000 --- a/tweed5/weaver-pojo-validation-extension/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -module.name = Validation Extension for Tweed 5 Weaver POJO -module.description = Allows declaring validation constraints on POJOs using annotations. diff --git a/tweed5/weaver-pojo/build.gradle.kts b/tweed5/weaver-pojo/build.gradle.kts index d76414b..78f6d57 100644 --- a/tweed5/weaver-pojo/build.gradle.kts +++ b/tweed5/weaver-pojo/build.gradle.kts @@ -3,6 +3,11 @@ plugins { id("de.siphalor.tweed5.minecraft.mod.dummy") } +moduleInfo { + name = "Tweed 5 Weaver POJO" + description = "Provides a mechanism to derive a Tweed 5 entry structure from a POJO using its structure and annotations." +} + dependencies { implementation(project(":tweed5-construct")) api(project(":tweed5-annotation-inheritance")) diff --git a/tweed5/weaver-pojo/gradle.properties b/tweed5/weaver-pojo/gradle.properties deleted file mode 100644 index d818148..0000000 --- a/tweed5/weaver-pojo/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -module.name = Tweed 5 Weaver POJO -module.description = Provides a mechanism to derive a Tweed 5 entry structure \ - from a POJO using its structure and annotations.