@glodev

Как создать стартовую сборку в gradle (Kotlin, KotlinDSL,Gradle)?

Вопрос очень простой, как использую 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
                    )
                )
            }

        }
    }

Ссылка на полный проект
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
TonyHunt
@TonyHunt
Part-time developer – full-time geek.
Набросал пример Hello World на Kotlin и как получить JAR файл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы