The Muse Automation Framework can be extended to add new value sources via Java, Kotlin and JavaScript.

Java

The Java support for adding custom value sources is the most complete - because all built-in and Selenium sources are built this way. A .jar added to the /lib subfolder will be auto-loaded when the project is opened. Note that a muse-package attribute in the .jar manifest is required to tell Muse which packages to search for custom value sources. See the Gradle build file for an example.

The Muse Automation Framework contains many built-in value sources for your reference. Look in the core/src/main/java/org/museautomation/builtins/value and /condition folders.

Packaging

In order for Muse to know where to look for custom implementations, a muse-package attribute in the .jar manifest is required. See the Gradle build file for an example.

Kotlin

Value Sources can also be implemented in Kotlin just like Java. The Kotlin core libraries are included with the Muse distribution.

Javascript

Support for this is still maturing. See the examples project download for an example. There are a few .js files in the examples project folder that create custom steps that can be added to tasks (e.g. Javascript > Increment String).