1
0

Compare commits

..

No commits in common. "deb086f4b9e9f6cdd6c1216511ac98f0a9c0624c" and "658ac1037597e17d6b331469199b219b56389805" have entirely different histories.

10 changed files with 8 additions and 54 deletions

View File

@ -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"

Binary file not shown.

View File

@ -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"],
) )
} }

View File

@ -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() {

View File

@ -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)

View File

@ -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))
} }
} }

View File

@ -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)
}
}

View File

@ -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))

View File

@ -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
} }

View File

@ -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>