Compare commits
No commits in common. "deb086f4b9e9f6cdd6c1216511ac98f0a9c0624c" and "658ac1037597e17d6b331469199b219b56389805" have entirely different histories.
deb086f4b9
...
658ac10375
@ -31,7 +31,6 @@ artifactId = "http4k-server-jetty"
|
|||||||
version = "3.260.0"
|
version = "3.260.0"
|
||||||
category = "server"
|
category = "server"
|
||||||
default = true
|
default = true
|
||||||
logger = "org.eclipse.jetty"
|
|
||||||
|
|
||||||
[dependencies.http4k-server-apache]
|
[dependencies.http4k-server-apache]
|
||||||
groupId = "org.http4k"
|
groupId = "org.http4k"
|
||||||
@ -50,14 +49,12 @@ groupId = "io.javalin"
|
|||||||
artifactId = "javalin"
|
artifactId = "javalin"
|
||||||
version = "3.10.1"
|
version = "3.10.1"
|
||||||
category = "server"
|
category = "server"
|
||||||
logger = "org.eclipse.jetty"
|
|
||||||
|
|
||||||
[dependencies.pebble]
|
[dependencies.pebble]
|
||||||
groupId = "io.pebbletemplates"
|
groupId = "io.pebbletemplates"
|
||||||
artifactId = "pebble"
|
artifactId = "pebble"
|
||||||
version = "3.1.4"
|
version = "3.1.4"
|
||||||
default = true
|
default = true
|
||||||
logger = "com.mitchellbosecke.pebble"
|
|
||||||
|
|
||||||
[dependencies.logback]
|
[dependencies.logback]
|
||||||
groupId = "ch.qos.logback"
|
groupId = "ch.qos.logback"
|
||||||
@ -82,21 +79,18 @@ groupId = "org.flywaydb"
|
|||||||
artifactId = "flyway-core"
|
artifactId = "flyway-core"
|
||||||
version = "6.5.4"
|
version = "6.5.4"
|
||||||
category = "database"
|
category = "database"
|
||||||
logger = "org.flywaydb.core"
|
|
||||||
|
|
||||||
[dependencies.HikariCP]
|
[dependencies.HikariCP]
|
||||||
groupId = "com.zaxxer"
|
groupId = "com.zaxxer"
|
||||||
artifactId = "HikariCP"
|
artifactId = "HikariCP"
|
||||||
version = "3.4.5"
|
version = "3.4.5"
|
||||||
category = "database"
|
category = "database"
|
||||||
logger = "com.zaxxer.hikari"
|
|
||||||
|
|
||||||
[dependencies.Ktorm]
|
[dependencies.Ktorm]
|
||||||
groupId = "me.liuwj.ktorm"
|
groupId = "me.liuwj.ktorm"
|
||||||
artifactId = "ktorm-core"
|
artifactId = "ktorm-core"
|
||||||
version = "3.0.0"
|
version = "3.0.0"
|
||||||
category = "database"
|
category = "database"
|
||||||
logger = "me.liuwj.ktorm.database"
|
|
||||||
|
|
||||||
[dependencies.Ktorm-Mysql]
|
[dependencies.Ktorm-Mysql]
|
||||||
groupId = "me.liuwj.ktorm"
|
groupId = "me.liuwj.ktorm"
|
||||||
|
|||||||
BIN
example.zip
BIN
example.zip
Binary file not shown.
@ -20,7 +20,6 @@ class Config {
|
|||||||
values.getOrElse("default", false),
|
values.getOrElse("default", false),
|
||||||
values.getEnumOrElse("category", Category.Other),
|
values.getEnumOrElse("category", Category.Other),
|
||||||
values.getEnumOrElse("scope", Scope.Compile),
|
values.getEnumOrElse("scope", Scope.Compile),
|
||||||
values["logger"],
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package starter
|
|||||||
import org.koin.core.context.startKoin
|
import org.koin.core.context.startKoin
|
||||||
import org.koin.dsl.bind
|
import org.koin.dsl.bind
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
import starter.templates.LogbackTemplate
|
|
||||||
import starter.templates.MainTemplate
|
import starter.templates.MainTemplate
|
||||||
import starter.templates.PomTemplate
|
import starter.templates.PomTemplate
|
||||||
import starter.templates.Template
|
import starter.templates.Template
|
||||||
@ -19,7 +18,6 @@ val mainModule = module {
|
|||||||
val templateModule = module {
|
val templateModule = module {
|
||||||
single { PomTemplate(get()) } bind Template::class
|
single { PomTemplate(get()) } bind Template::class
|
||||||
single { MainTemplate(get()) } bind Template::class
|
single { MainTemplate(get()) } bind Template::class
|
||||||
single { LogbackTemplate(get()) } bind Template::class
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun main() {
|
fun main() {
|
||||||
|
|||||||
@ -15,8 +15,7 @@ data class Dependency(
|
|||||||
val version: String,
|
val version: String,
|
||||||
val default: Boolean,
|
val default: Boolean,
|
||||||
val category: Category,
|
val category: Category,
|
||||||
val scope: Scope,
|
val scope: Scope
|
||||||
val logger: String?,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
data class Input(val name: String, val display: String, val value: String? = null)
|
data class Input(val name: String, val display: String, val value: String? = null)
|
||||||
|
|||||||
@ -9,11 +9,11 @@ class ProjectZip(private val templates: List<Template>) {
|
|||||||
fun createZip(project: Project): String {
|
fun createZip(project: Project): String {
|
||||||
val name: String
|
val name: String
|
||||||
|
|
||||||
ZipOutput(sanitizeFilename(project.name)).use { zip ->
|
ZipOutput(sanitizeFilename(project.name)).use {
|
||||||
name = zip.name
|
name = it.name
|
||||||
|
|
||||||
templates.filter { it.enabled(project) }.forEach { template ->
|
templates.forEach { template ->
|
||||||
zip.write(template.path(project), template.render(project))
|
it.write(template.path(project), template.render(project))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,20 +0,0 @@
|
|||||||
package starter.templates
|
|
||||||
|
|
||||||
import com.mitchellbosecke.pebble.PebbleEngine
|
|
||||||
import starter.Project
|
|
||||||
import starter.utils.prettyPrintXml
|
|
||||||
import starter.utils.render
|
|
||||||
|
|
||||||
class LogbackTemplate(private val engine: PebbleEngine) : Template {
|
|
||||||
override fun path(project: Project) = "src/main/resources/logback.xml"
|
|
||||||
|
|
||||||
override fun enabled(project: Project) = project.dependencies.any { it.name == "logback" }
|
|
||||||
|
|
||||||
override fun render(project: Project): String {
|
|
||||||
val args = mapOf(
|
|
||||||
"loggers" to project.dependencies.mapNotNull { it.logger }.toSet()
|
|
||||||
)
|
|
||||||
val rendered = engine.render("starter/logback/logback", args)
|
|
||||||
return prettyPrintXml(rendered)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -6,7 +6,7 @@ import starter.utils.render
|
|||||||
|
|
||||||
class MainTemplate(private val engine: PebbleEngine) : Template {
|
class MainTemplate(private val engine: PebbleEngine) : Template {
|
||||||
override fun path(project: Project) =
|
override fun path(project: Project) =
|
||||||
"src/main/kotlin/" + project.basePackage.replace('.', '/') + "/" + project.name.toLowerCase().capitalize() + ".kt"
|
project.basePackage.replace('.', '/') + "/" + project.name.toLowerCase().capitalize() + ".kt"
|
||||||
|
|
||||||
override fun render(project: Project) =
|
override fun render(project: Project) =
|
||||||
engine.render("starter/main/main", mapOf("basePackage" to project.basePackage))
|
engine.render("starter/main/main", mapOf("basePackage" to project.basePackage))
|
||||||
|
|||||||
@ -4,6 +4,5 @@ import starter.Project
|
|||||||
|
|
||||||
interface Template {
|
interface Template {
|
||||||
fun path(project: Project): String
|
fun path(project: Project): String
|
||||||
fun enabled(project: Project): Boolean = true
|
|
||||||
fun render(project: Project): String
|
fun render(project: Project): String
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +0,0 @@
|
|||||||
<configuration>
|
|
||||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
|
||||||
<withJansi>true</withJansi>
|
|
||||||
<encoder>
|
|
||||||
<pattern>%cyan(%d{YYYY-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %green(%logger{36}) - %msg%n
|
|
||||||
</pattern>
|
|
||||||
</encoder>
|
|
||||||
</appender>
|
|
||||||
<root level="DEBUG">
|
|
||||||
<appender-ref ref="STDOUT"/>
|
|
||||||
</root>
|
|
||||||
{% for logger in loggers %}
|
|
||||||
<logger name="{{ logger }}" level="INFO"/>
|
|
||||||
{% endfor %}
|
|
||||||
</configuration>
|
|
||||||
Loading…
x
Reference in New Issue
Block a user