Compare commits

..

1 Commits

Author SHA1 Message Date
hubert 10af871d2b Simplify js api 2021-04-03 22:27:41 +02:00
10 changed files with 27 additions and 60 deletions
+6 -5
View File
@@ -8,14 +8,15 @@ plugins {
version = "0.0.1-SNAPSHOT" version = "0.0.1-SNAPSHOT"
dependencies { dependencies {
implementation("org.slf4j:slf4j-api:2.0.7") implementation("org.slf4j:slf4j-api:2.0.0-alpha1")
runtimeOnly("org.slf4j:slf4j-simple:2.0.7") runtimeOnly("org.slf4j:slf4j-simple:2.0.0-alpha1")
implementation("io.pebbletemplates:pebble:3.2.1") implementation("io.pebbletemplates:pebble:3.1.5")
implementation("com.github.ajalt.clikt:clikt:3.5.2") implementation("com.github.ajalt.clikt:clikt:3.1.0")
implementation("org.graalvm.js:js:22.3.2") implementation("org.graalvm.js:js:21.0.0.2")
} }
application { application {
mainClassName = "scaffold.ScaffoldKt"
mainClass.set("scaffold.ScaffoldKt") mainClass.set("scaffold.ScaffoldKt")
applicationName = "scaffold" applicationName = "scaffold"
} }
+1 -2
View File
@@ -5,7 +5,6 @@ import com.github.ajalt.clikt.output.CliktConsole
import com.github.ajalt.clikt.output.TermUi import com.github.ajalt.clikt.output.TermUi
import com.github.ajalt.clikt.output.defaultCliktConsole import com.github.ajalt.clikt.output.defaultCliktConsole
@Suppress("DEPRECATION") // TODO: later..
class Prompt(private val console: CliktConsole = defaultCliktConsole()) { class Prompt(private val console: CliktConsole = defaultCliktConsole()) {
fun string(text: String, default: String?): String = TermUi.prompt( fun string(text: String, default: String?): String = TermUi.prompt(
@@ -27,7 +26,7 @@ class Prompt(private val console: CliktConsole = defaultCliktConsole()) {
showDefault = false, showDefault = false,
console = console console = console
) { ) {
when (it.lowercase()) { when (it.toLowerCase()) {
"y" -> true "y" -> true
"n" -> false "n" -> false
else -> throw UsageError("Can only be [y/n]") else -> throw UsageError("Can only be [y/n]")
+5 -4
View File
@@ -2,13 +2,14 @@ package scaffold.commands
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.ProgramResult import com.github.ajalt.clikt.core.ProgramResult
import com.github.ajalt.clikt.core.UsageError
import com.github.ajalt.clikt.parameters.arguments.argument import com.github.ajalt.clikt.parameters.arguments.argument
import com.github.ajalt.clikt.parameters.options.convert import com.github.ajalt.clikt.parameters.options.convert
import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.required import com.github.ajalt.clikt.parameters.options.required
import io.pebbletemplates.pebble.PebbleEngine import com.mitchellbosecke.pebble.PebbleEngine
import io.pebbletemplates.pebble.loader.FileLoader import com.mitchellbosecke.pebble.loader.FileLoader
import io.pebbletemplates.pebble.template.PebbleTemplate import com.mitchellbosecke.pebble.template.PebbleTemplate
import scaffold.Generator import scaffold.Generator
import scaffold.Generators import scaffold.Generators
import scaffold.Prompt import scaffold.Prompt
@@ -47,7 +48,7 @@ class GenerateCommand(private val generators: Generators) : CliktCommand("genera
override fun copy(input: String, output: String?) { override fun copy(input: String, output: String?) {
val inputPath = generator.treeRoot.resolve(input) val inputPath = generator.treeRoot.resolve(input)
val outputPath = output?.let { outputPathRoot.resolve(it) } ?: outputPathRoot.resolve(input) val outputPath = output?.let { outputPathRoot.resolve(it) } ?: outputPathRoot.resolve(inputPath)
Files.createDirectories(outputPath.parent) Files.createDirectories(outputPath.parent)
Files.copy(inputPath, outputPath) Files.copy(inputPath, outputPath)
} }
+7 -3
View File
@@ -2,12 +2,16 @@ plugins {
`kotlin-dsl` `kotlin-dsl`
} }
kotlinDslPluginOptions {
experimentalWarning.set(false)
}
repositories { repositories {
gradlePluginPortal() gradlePluginPortal()
} }
dependencies { dependencies {
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.21")) implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.4.31"))
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.21") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31")
implementation("com.github.johnrengelman:shadow:8.1.1") implementation("com.github.jengelman.gradle.plugins:shadow:6.1.0")
} }
@@ -7,9 +7,8 @@ repositories {
} }
java { java {
toolchain { targetCompatibility = JavaVersion.toVersion(11)
languageVersion.set(JavaLanguageVersion.of(19)) sourceCompatibility = JavaVersion.toVersion(11)
}
} }
tasks.withType<JavaCompile> { tasks.withType<JavaCompile> {
@@ -1,5 +1,3 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
@@ -20,10 +18,9 @@ tasks.withType<Test> {
} }
tasks.withType<KotlinCompile> { tasks.withType<KotlinCompile> {
compilerOptions { kotlinOptions {
jvmTarget.set(JvmTarget.JVM_19) jvmTarget = "11"
javaParameters.set(true) javaParameters = true
languageVersion.set(KotlinVersion.KOTLIN_2_0)
} }
} }
@@ -1,43 +1,10 @@
import org.gradle.jvm.toolchain.JavaToolchainService;
import java.io.ByteArrayOutputStream
task("buildNative") { task("buildNative") {
dependsOn("installShadowDist") dependsOn("installShadowDist")
outputs.file("${buildDir}/native/scaffold") outputs.file("${buildDir}/native/scaffold")
doLast { doLast {
val graalvmHome = project.extensions.findByType<JavaToolchainService>()?.launcherFor { val graalvmHome = System.getenv("GRAALVM_HOME") ?: error("GRAALVM_HOME is not set")
languageVersion.set(JavaLanguageVersion.of(19))
vendor.set(JvmVendorSpec.GRAAL_VM)
}
?.orNull
?.executablePath?.asFile?.toPath()?.parent?.parent?.toString()
?: System.getenv("GRAALVM_HOME")
?: error("GRAALVM_HOME is not set")
val out = ByteArrayOutputStream()
exec {
commandLine(
"${graalvmHome}/bin/gu",
"list",
"-v",
)
standardOutput = out
}
val installedComponents = out.toString().lines()
.filter { it.startsWith("ID") }
.map { it.substringAfter(':').trim() }
if ("native-image" !in installedComponents) {
throw GradleException("GRAALVM: Missing js component")
}
if ("js" !in installedComponents) {
throw GradleException("GRAALVM: Missing js component")
}
exec { exec {
commandLine( commandLine(
+1 -1
View File
@@ -1,3 +1,3 @@
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -Dfile.encoding=UTF-8
org.gradle.caching=true org.gradle.caching=true
org.gradle.parallel=true org.gradle.parallel=true
Binary file not shown.
+1 -2
View File
@@ -1,6 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists