This is the plugin for Rider that enables Meadow apps to be built, debugged and deployed to a Meadow device.
Initial Release of the Rider plugin for Meadow from Wilderness Labs.
If you just want to start developing the plugin and don't want to build it (yet), then execute this shell command:
$ ./gradlew prepare
This will download the initial set of dependencies necessary for the plugin development and set up Rider SDK for .NET part of the project. After that, open either the frontend part of the plugin (the directory containing build.gradle.kts
) using IntelliJ IDEA, or the Rider_Meadow_Plugin.sln
using Rider.
downloaded automatically during the build
- .NET SDK 8.0 or later.
git clone [email protected]/WildernessLabs/Meadow.CLI.git
in sibling folder to this repository
To build the plugin, execute this shell command:
$ ./gradlew buildPlugin
This action will use [Gradle JVM Wrapper][gradle-jvm-wrapper] to automatically
download the recommended JDK version that's used for builds, and will download a
required Gradle version. If this isn't necessary, you could use your own
versions of Gradle and JRE by running the build task with gradle buildPlugin
.
After that, the plugin ZIP distribution will be created in the
build/distributions
directory.
The following command will build the plugin and run it using a sandboxed
instance of Rider (set the required version via build.gradle
).
$ ./gradlew runIde
Execute the following shell command:
$ ./gradlew :check
After running ./gradlew
at least once, set up your project SDK to the following folder:
%LOCALAPPDATA%\gradle-jvm
(Windows),${HOME}/.local/share/gradle-jvm
(Unix-based OS).
This JDK is guaranteed to contain all the components necessary to build the plugin.
This plugin consists of two parts: the backend one (written in C#) and the frontend one (written in Kotlin). Each part requires a corresponding IDE. To develop the backend, it's recommended to open Rider_Meadow_Plugin.sln
with JetBrains Rider. To develop a frontend, it's recommended to use IntelliJ IDEA (Community edition should be enough).