Use version properties inside pom.xml
This commit is contained in:
parent
a1dde23fb3
commit
8e6a14b3e0
@ -18,6 +18,7 @@ data class Dependency(
|
|||||||
val scope: Scope,
|
val scope: Scope,
|
||||||
val logger: String?,
|
val logger: String?,
|
||||||
val repository: String?,
|
val repository: String?,
|
||||||
|
val versionKey: String,
|
||||||
)
|
)
|
||||||
|
|
||||||
data class Repository(val name: String, val url: String)
|
data class Repository(val name: String, val url: String)
|
||||||
@ -31,3 +32,5 @@ data class Project(
|
|||||||
val dependencies: List<Dependency>,
|
val dependencies: List<Dependency>,
|
||||||
val repositories: List<Repository>,
|
val repositories: List<Repository>,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
data class Version(val name: String, val value: String)
|
||||||
|
|||||||
@ -38,6 +38,7 @@ class Config {
|
|||||||
values.getEnumOrElse("scope", Scope.Compile),
|
values.getEnumOrElse("scope", Scope.Compile),
|
||||||
values["logger"],
|
values["logger"],
|
||||||
values["repository"],
|
values["repository"],
|
||||||
|
versionKey
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package starter.templates
|
|||||||
|
|
||||||
import com.mitchellbosecke.pebble.PebbleEngine
|
import com.mitchellbosecke.pebble.PebbleEngine
|
||||||
import starter.Project
|
import starter.Project
|
||||||
|
import starter.Version
|
||||||
import starter.utils.prettyPrintXml
|
import starter.utils.prettyPrintXml
|
||||||
import starter.utils.render
|
import starter.utils.render
|
||||||
|
|
||||||
@ -13,6 +14,7 @@ class PomTemplate(private val engine: PebbleEngine) : Template {
|
|||||||
"dependencies" to project.dependencies.sortedBy { it.scope },
|
"dependencies" to project.dependencies.sortedBy { it.scope },
|
||||||
"repositories" to project.repositories,
|
"repositories" to project.repositories,
|
||||||
"kotlinxSerialization" to project.dependencies.any { it.name == "Kotlinx-serialization" },
|
"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 {
|
project.inputs.forEach {
|
||||||
|
|||||||
@ -8,9 +8,9 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>{{ dep.groupId }}</groupId>
|
<groupId>{{ dep.groupId }}</groupId>
|
||||||
<artifactId>{{ dep.artifactId }}</artifactId>
|
<artifactId>{{ dep.artifactId }}</artifactId>
|
||||||
<version>{{ dep.version }}</version>
|
<version>{{ "${" }}{{ dep.versionKey }}{{ ".version}" }}</version>
|
||||||
{% if dep.scope == "Test" %}
|
{% if dep.scope == "Test" %}
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</dependency>
|
</dependency>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@ -12,6 +12,11 @@
|
|||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<main.class>{{ basePackage }}/{{ name | lower | capitalize }}Kt</main.class>
|
<main.class>{{ basePackage }}/{{ name | lower | capitalize }}Kt</main.class>
|
||||||
|
<!-- versions -->
|
||||||
|
{% for version in versions %}
|
||||||
|
<{{version.name}}.version>{{version.value}}</{{version.name}}.version>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
{% include "starter/pom/@dependencies" %}
|
{% include "starter/pom/@dependencies" %}
|
||||||
@ -20,4 +25,4 @@
|
|||||||
|
|
||||||
{% include "starter/pom/@plugins" %}
|
{% include "starter/pom/@plugins" %}
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user