kotlin-dsl-samples icon indicating copy to clipboard operation
kotlin-dsl-samples copied to clipboard

No clear sample/cannot override mainClassName for a task

Open NoPhaseNoKill opened this issue 5 years ago • 0 comments
trafficstars

Expected Behavior

Should be able to override mainClassName for a task.

Current Behavior

Uses the application's mainClassName - and does not use task's overridden mainClassName. Currently it's using SomeService.kt, and I want it to be RunSomeServiceLocally.kt

Context

I'm trying to use a gradle task to run a local instance of a file which is found in the test directory.

Consider the following folder structure: src/main/kotlin/com.service/SomeService.kt src/test/kotlin/com.service/RunSomeServiceLocally.kt

Basically I want to make it so that when I do ./gradlew run - it uses the RunSomeServiceLocally.kt file.

Steps to Reproduce (for bugs)

Below is how I have configured the build.gradle.kts file:

application {
  mainClassName = "com.service.SomeService"
}

repositories {
  mavenLocal()
}

plugins {
  kotlin("jvm") version "1.3.72"
  application
}

tasks {
  named<JavaExec>("run").configure {
    main = "com.service.RunSomeServiceLocally"
    classpath = sourceSets.test.get().runtimeClasspath
  }
}

Your Environment

  • gradle --version: Gradle 6.0.1
  • Version of IntelliJ: #IU-201.6668.121
  • Version of the Kotlin Plugin used in IntelliJ: 1.3.72 edit: formatting

NoPhaseNoKill avatar Apr 20 '20 15:04 NoPhaseNoKill