Вопрос очень простой, как использую 3 технологии сделать сборку проекта.
Обратившись на гитхаб
https://github.com/gradle/kotlin-dsl-samples/tree/...
Возьмем пример, получим ошибку, не определен маин клас в манифесте, хорошо определим маин клас, получим ошибку что метод должен быть статическим. Сделаем статически вынесем функцию из класса (аналог статического метода на java) получим ошибку времени выполнения.
Прошу помочь и показать пример хелов ворд на стеке 3 технологий Kotlin, KotlinDSL,Gradle
Дополнение: скрипт запуска, выполняем таск билд
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
plugins {
java
kotlin("jvm") version "1.3.70-eap-184"
application
}
group = "dev.glo"
version = "1.0-SNAPSHOT"
val mainClassNameProject = "dev.glo.MainKt"
application.mainClassName = "$mainClassNameProject"
repositories {
maven { setUrl("https://dl.bintray.com/kotlin/kotlin-eap") }
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
testImplementation(kotlin("test"))
implementation("com.google.guava", "guava", "28.2-jre")
}
sourceSets["main"].withConvention(KotlinSourceSet::class) { kotlin.srcDir("src/main/dev/glo") }
configure<JavaPluginConvention> {
sourceCompatibility = JavaVersion.VERSION_1_8
}
tasks {
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
jar {
manifest {
attributes(
mapOf(
"Implementation-Title" to project.name,
"Implementation-Version" to project.version,
"Main-Class" to mainClassNameProject
)
)
}
}
}
Ссылка на полный проект