/morphir-jvm

Tools to work with the Morphir IR on/using the JVM.

Primary LanguageScalaApache License 2.0Apache-2.0

Morphir JVM binding

This repo contains tools to work with the Morphir IR on the JVM. It will include data models for the IR, JSON serialization and developer tooling.

How to build and test

Morphir-jvm use mill as its build tool.

IntelliJ Setup for Linux

If you are using IntelliJ IDEA to edit morphir-jvm's Scala code, you can create the IntelliJ project files via:

./mill mill.scalalib.GenIdea/idea

BSP Setup

If you are using Visual Studio Code, IntelliJ, or any of the Editors which support BSP you can also generate BSP config files via:

./mill mill.contrib.Bloop/install

Run Tests

./mill __.test

or in watch mode:

./mill -w __.test

Formatting Code

Code needs to be formatted according to scalafmt rules. To run scalafmt on all the source code using:

./mill mill.scalalib.scalafmt.ScalafmtModule/reformatAll __.sources

or in watch mode to reformat changed files:

./mill -w mill.scalalib.scalafmt.ScalafmtModule/reformatAll __.sources

IntelliJ Setup for Windows

If you are using IntelliJ IDEA to edit morphir-jvm's Scala code, you can create the IntelliJ project files via:

.\mill mill.scalalib.GenIdea/idea

BSP Setup

If you are using Visual Studio Code, IntelliJ, or any of the Editors which support BSP you can also generate BSP config files via:

.\mill mill.contrib.Bloop/install

Run Tests

.\mill __.test

or in watch mode:

.\mill -w __.test

Formatting Code

Code needs to be formatted according to scalafmt rules. To run scalafmt on all the source code using:

.\mill mill.scalalib.scalafmt.ScalafmtModule/reformatAll __.sources

or in watch mode to reformat changed files:

.\mill -w mill.scalalib.scalafmt.ScalafmtModule/reformatAll __.sources

Contributing