Browse Source

Add application gradle option to allow running custom Kt files

master
Abe Pazos 2 years ago
committed by Edwin Jakobs
parent
commit
01d45029e6
  1. 10
      README.md
  2. 9
      build.gradle.kts

10
README.md

@ -10,13 +10,23 @@ If you are looking at this from IntelliJ IDEA you can start by expanding the _pr
You will find some [basic instructions](https://guide.openrndr.org/setUpYourFirstProgram.html) in the [OPENRNDR guide](https://guide.openrndr.org) You will find some [basic instructions](https://guide.openrndr.org/setUpYourFirstProgram.html) in the [OPENRNDR guide](https://guide.openrndr.org)
## Gradle tasks ## Gradle tasks
- `run` runs the TemplateProgram - `run` runs the TemplateProgram
- `jar` creates an executable platform specific jar file with all dependencies - `jar` creates an executable platform specific jar file with all dependencies
- `jpackageZip` creates a zip with a stand-alone executable for the current platform (works with Java 14 only) - `jpackageZip` creates a zip with a stand-alone executable for the current platform (works with Java 14 only)
## Cross builds ## Cross builds
To create runnable jars for a platform different from the platform you use to build one uses `./gradlew jar --PtargetPlatform=<platform>`. The supported platforms are `windows`, `macos`, `linux-x64` and `linux-arm64`. To create runnable jars for a platform different from the platform you use to build one uses `./gradlew jar --PtargetPlatform=<platform>`. The supported platforms are `windows`, `macos`, `linux-x64` and `linux-arm64`.
## Run other Kotlin programs from the command line
By default the `run` task runs the program called `TemplateProgram.kt`.
If you have other programs under your src/ folder and want
to run them from the command line use
`./gradlew -Papplication=MyProgram` to run `MyProgram.kt`.
A full package name can be specified like this: `-Papplication=foo.bar.MyProgram`.
## Github Actions ## Github Actions
This repository contains a number of Github Actions in `./github/workflows`. This repository contains a number of Github Actions in `./github/workflows`.

9
build.gradle.kts

@ -139,6 +139,13 @@ tasks.withType<KotlinCompile> {
// ------------------------------------------------------------------------------------------------------------------ // // ------------------------------------------------------------------------------------------------------------------ //
project.setProperty("mainClassName", applicationMainClass) project.setProperty("mainClassName", applicationMainClass)
application {
if (hasProperty("application")) {
mainClass.set("${property("application")}Kt")
}
}
tasks { tasks {
named<ShadowJar>("shadowJar") { named<ShadowJar>("shadowJar") {
manifest { manifest {
@ -297,4 +304,4 @@ if (properties["openrndr.tasks"] == "true") {
group = " \uD83E\uDD8C OPENRNDR" group = " \uD83E\uDD8C OPENRNDR"
dependsOn("jpackageZip") dependsOn("jpackageZip")
} }
} }

Loading…
Cancel
Save