a template for openrndr project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Abe Pazos 2113b159fe Update README.md (updating dependencies) 2 years ago
.github/workflows Fix location of data inside macos app bundle, update workflows 2 years ago
data Add cheeta image for easy guide example usage 4 years ago
gradle Upgrade to log4j 2.20.0, jackson 2.14.2, kotlin 1.18.10, kotlin-logging 3.0.5,kotlin-csv 1.8.0 2 years ago
src/main Upgrade to Kotlin 1.6.0, Gradle 7.3 3 years ago
.gitattributes Update gradle to 6.8 (#15) 4 years ago
.gitignore Update .gitignore 3 years ago
README.md Update README.md (updating dependencies) 2 years ago
build.gradle.kts Fix jpackage macos app bundles 2 years ago
gradle.properties Add OPENRNDR task aliases 2 years ago
gradlew Upgrade to Gradle 8.0.2 2 years ago
gradlew.bat Upgrade to Gradle 8.0.2 2 years ago
settings.gradle.kts Prefer mavenCentral before mavenLocal 2 years ago

README.md

OPENRNDR template project

A feature rich template for creating OPENRNDR programs based on Gradle/Kts

The template consists of a configuration for Gradle and an example OPENRNDR program. The Gradle configuration should serve as the go-to starting point for writing OPENRNDR-based software.

If you are looking at this from IntelliJ IDEA you can start by expanding the project tab on the left. You will find a template program in src/main/kotlin/TemplateProgram.kt

You will find some basic instructions in the OPENRNDR guide

Gradle tasks

  • run runs the TemplateProgram
  • 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)

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.

Updating OPENRNDR, ORX and other dependencies

The openrndr-template depends on various packages including the core openrndr and the orx extensions.

The version numbers of these dependencies are specified in the libs.versions.toml file. If you want to learn about file format visit the Gradle documentation website.

Newer versions of OPENRNDR and ORX bring useful features and bug fixes. In the Maven repository you can find a list with openrndr versions and orx versions. To use the most recent versions copy the version numbers at the top of those lists into the toml file, for example:

openrndr = "0.4.3-alpha3"
orx = "0.4.3-alpha3"

You can add other dependencies you project may need to the build.gradle.kts file.

Remember to reload the Gradle configuration after changing any dependencies.

Run other Kotlin programs from the command line

By default ./gradlew run runs a program called TemplateProgram.kt but a different one can be provided as an argument:

To run src/main/kotlin/myProgram.kt

./gradlew -Popenrndr.application=MyProgramKt

To run src/main/kotlin/foo/bar/myProgram.kt (assuming package foo.bar in myProgram.kt)

./gradlew -Popenrndr.application=foo.bar.MyProgramKt

Github Actions

This repository contains a number of Github Actions in ./github/workflows. The actions enable a basic build run on commit, plus publication actions that are executed when a commit is tagged with a version number like v0.* or v1.*.