1
0

Use version properties inside pom.xml

This commit is contained in:
Hubert Van De Walle 2020-10-06 19:07:24 +02:00
parent a1dde23fb3
commit 8e6a14b3e0
5 changed files with 14 additions and 3 deletions

View File

@ -18,6 +18,7 @@ data class Dependency(
val scope: Scope,
val logger: String?,
val repository: String?,
val versionKey: String,
)
data class Repository(val name: String, val url: String)
@ -31,3 +32,5 @@ data class Project(
val dependencies: List<Dependency>,
val repositories: List<Repository>,
)
data class Version(val name: String, val value: String)

View File

@ -38,6 +38,7 @@ class Config {
values.getEnumOrElse("scope", Scope.Compile),
values["logger"],
values["repository"],
versionKey
)
}

View File

@ -2,6 +2,7 @@ package starter.templates
import com.mitchellbosecke.pebble.PebbleEngine
import starter.Project
import starter.Version
import starter.utils.prettyPrintXml
import starter.utils.render
@ -13,6 +14,7 @@ class PomTemplate(private val engine: PebbleEngine) : Template {
"dependencies" to project.dependencies.sortedBy { it.scope },
"repositories" to project.repositories,
"kotlinxSerialization" to project.dependencies.any { it.name == "Kotlinx-serialization" },
"versions" to project.dependencies.map { Version(name = it.versionKey, value = it.version) }.toSet()
)
project.inputs.forEach {

View File

@ -8,9 +8,9 @@
<dependency>
<groupId>{{ dep.groupId }}</groupId>
<artifactId>{{ dep.artifactId }}</artifactId>
<version>{{ dep.version }}</version>
<version>{{ "${" }}{{ dep.versionKey }}{{ ".version}" }}</version>
{% if dep.scope == "Test" %}
<scope>test</scope>
<scope>test</scope>
{% endif %}
</dependency>
{% endfor %}

View File

@ -12,6 +12,11 @@
<maven.compiler.source>${java.version}</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<main.class>{{ basePackage }}/{{ name | lower | capitalize }}Kt</main.class>
<!-- versions -->
{% for version in versions %}
<{{version.name}}.version>{{version.value}}</{{version.name}}.version>
{% endfor %}
</properties>
{% include "starter/pom/@dependencies" %}
@ -20,4 +25,4 @@
{% include "starter/pom/@plugins" %}
</project>
</project>