addon versioning

This commit is contained in:
dfsek
2021-11-25 09:32:43 -07:00
parent 017a4f8e08
commit f761559e6e
43 changed files with 135 additions and 30 deletions
+10 -3
View File
@@ -2,22 +2,29 @@ import com.dfsek.terra.configureCompilation
import com.dfsek.terra.configureDependencies import com.dfsek.terra.configureDependencies
import com.dfsek.terra.configureDistribution import com.dfsek.terra.configureDistribution
import com.dfsek.terra.configurePublishing import com.dfsek.terra.configurePublishing
import com.dfsek.terra.configureVersioning
import com.dfsek.terra.version import com.dfsek.terra.version
import com.dfsek.terra.versionProjects import com.dfsek.terra.versionProjects
import com.dfsek.terra.preRelease import com.dfsek.terra.preRelease
preRelease(true)
versionProjects(":common:api", version("6.0.0")) versionProjects(":common:api", version("6.0.0"))
versionProjects(":common:implementation", version("6.0.0")) versionProjects(":common:implementation", version("6.0.0"))
versionProjects(":platforms", version("6.0.0")) versionProjects(":platforms", version("6.0.0"))
preRelease(true)
allprojects { allprojects {
group = "com.dfsek.terra" group = "com.dfsek.terra"
configureDependencies()
afterEvaluate {
configureVersioning()
}
configureCompilation() configureCompilation()
configureDependencies()
configurePublishing() configurePublishing()
tasks.withType<JavaCompile>().configureEach { tasks.withType<JavaCompile>().configureEach {
@@ -13,6 +13,7 @@ import org.gradle.kotlin.dsl.getByName
import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.register
import org.gradle.kotlin.dsl.withType import org.gradle.kotlin.dsl.withType
import org.gradle.language.jvm.tasks.ProcessResources import org.gradle.language.jvm.tasks.ProcessResources
import org.apache.tools.ant.filters.ReplaceTokens
fun Project.configureCompilation() { fun Project.configureCompilation() {
apply(plugin = "maven-publish") apply(plugin = "maven-publish")
@@ -34,14 +35,13 @@ fun Project.configureCompilation() {
tasks.withType<ProcessResources> { tasks.withType<ProcessResources> {
include("**/*.*") include("**/*.*")
filter<org.apache.tools.ant.filters.ReplaceTokens>( filter<ReplaceTokens>(
"tokens" to mapOf( "tokens" to mapOf(
"VERSION" to project.version.toString(), "DESCRIPTION" to properties["terra.description"],
"DESCRIPTION" to project.properties["terra.description"], "WIKI" to properties["terra.wiki"],
"WIKI" to project.properties["terra.wiki"], "SOURCE" to properties["terra.source"],
"SOURCE" to project.properties["terra.source"], "ISSUES" to properties["terra.issues"],
"ISSUES" to project.properties["terra.issues"], "LICENSE" to properties["terra.license"]
"LICENSE" to project.properties["terra.license"]
) )
) )
} }
@@ -1,6 +1,10 @@
package com.dfsek.terra package com.dfsek.terra
import org.apache.tools.ant.filters.ReplaceTokens
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.kotlin.dsl.filter
import org.gradle.kotlin.dsl.withType
import org.gradle.language.jvm.tasks.ProcessResources
var isPrerelease = false var isPrerelease = false
@@ -8,7 +12,7 @@ fun preRelease(preRelease: Boolean) {
isPrerelease = preRelease isPrerelease = preRelease
} }
fun Project.versionProjects(project:String, version:String) { fun Project.versionProjects(project: String, version: String) {
project(project).subprojects.forEach { project(project).subprojects.forEach {
it.version = version it.version = version
} }
@@ -20,3 +24,14 @@ fun Project.version(version: String): String {
else //Only use git hash if it's a prerelease. else //Only use git hash if it's a prerelease.
"$version-BETA+${getGitHash()}" "$version-BETA+${getGitHash()}"
} }
fun Project.configureVersioning() {
tasks.withType<ProcessResources> {
include("**/*.*")
filter<ReplaceTokens>(
"tokens" to mapOf(
"VERSION" to version.toString()
)
)
}
}
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
} }
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: biome-provider-image id: biome-provider-image
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.biome.image.ImageBiomeProviderAddon" - "com.dfsek.terra.addons.biome.image.ImageBiomeProviderAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: biome-provider-pipeline id: biome-provider-pipeline
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.biome.pipeline.BiomePipelineAddon" - "com.dfsek.terra.addons.biome.pipeline.BiomePipelineAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: biome-provider-single id: biome-provider-single
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.biome.single.SingleBiomeProviderAddon" - "com.dfsek.terra.addons.biome.single.SingleBiomeProviderAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: chunk-generator-noise-3d id: chunk-generator-noise-3d
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.chunkgenerator.NoiseChunkGenerator3DAddon" - "com.dfsek.terra.addons.chunkgenerator.NoiseChunkGenerator3DAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-biome id: config-biome
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.biome.BiomeAddon" - "com.dfsek.terra.addons.biome.BiomeAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-carver id: config-carver
version: 0.1.0 version: @VERSION@
entrypoints: [] entrypoints: []
website: website:
issues: https://github.com/PolyhedralDev/Terra-config-carver/issues issues: https://github.com/PolyhedralDev/Terra-config-carver/issues
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-distributors id: config-distributors
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.feature.distributor.DistributorAddon" - "com.dfsek.terra.addons.feature.distributor.DistributorAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-feature id: config-feature
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.feature.FeatureAddon" - "com.dfsek.terra.addons.feature.FeatureAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-flora id: config-flora
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.flora.FloraAddon" - "com.dfsek.terra.addons.flora.FloraAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-locators id: config-locators
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.feature.locator.LocatorAddon" - "com.dfsek.terra.addons.feature.locator.LocatorAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-noise-function id: config-noise-function
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.noise.NoiseAddon" - "com.dfsek.terra.addons.noise.NoiseAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-ore id: config-ore
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.ore.OreAddon" - "com.dfsek.terra.addons.ore.OreAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-palette id: config-palette
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.palette.PaletteAddon" - "com.dfsek.terra.addons.palette.PaletteAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi("com.googlecode.json-simple:json-simple:1.1.1") shadedApi("com.googlecode.json-simple:json-simple:1.1.1")
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: config-structure id: config-structure
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.structure.StructureAddon" - "com.dfsek.terra.addons.structure.StructureAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: generation-stage-feature id: generation-stage-feature
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.generation.feature.FeatureGenerationAddon" - "com.dfsek.terra.addons.generation.feature.FeatureGenerationAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
} }
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: generation-stage-structure id: generation-stage-structure
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.generation.structure.StructureGenerationAddon" - "com.dfsek.terra.addons.generation.structure.StructureGenerationAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedImplementation("com.dfsek.tectonic:yaml:2.1.2") shadedImplementation("com.dfsek.tectonic:yaml:2.1.2")
shadedApi(project(":common:addons:manifest-addon-loader")) shadedApi(project(":common:addons:manifest-addon-loader"))
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: language-yaml id: language-yaml
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.yaml.YamlAddon" - "com.dfsek.terra.addons.yaml.YamlAddon"
website: website:
@@ -1,3 +1,7 @@
import com.dfsek.terra.version
version = version("0.1.0")
dependencies { dependencies {
shadedApi("commons-io:commons-io:2.6") shadedApi("commons-io:commons-io:2.6")
shadedImplementation("com.dfsek.tectonic:yaml:2.1.2") shadedImplementation("com.dfsek.tectonic:yaml:2.1.2")
@@ -1,4 +1,7 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.dfsek.terra.version
version = version("0.1.0")
plugins { plugins {
id("com.github.johnrengelman.shadow") id("com.github.johnrengelman.shadow")
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: structure-sponge-loader id: structure-sponge-loader
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.sponge.SpongeSchematicAddon" - "com.dfsek.terra.addons.sponge.SpongeSchematicAddon"
website: website:
@@ -1,4 +1,8 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.dfsek.terra.version
version = version("0.1.0")
plugins { plugins {
id("com.github.johnrengelman.shadow") id("com.github.johnrengelman.shadow")
@@ -2,7 +2,7 @@ schema-version: 1
contributors: contributors:
- Terra contributors - Terra contributors
id: structure-terrascript-loader id: structure-terrascript-loader
version: 0.1.0 version: @VERSION@
entrypoints: entrypoints:
- "com.dfsek.terra.addons.terrascript.TerraScriptAddon" - "com.dfsek.terra.addons.terrascript.TerraScriptAddon"
website: website: