eleven19 / mill-morphir   0.1.0

Apache License 2.0 GitHub

A mill plugin to aid in building morphir projects and workspaces

Scala versions: 2.13
{Artifact, BinaryVersion, Project, Version, UserState, Env} Mill plugins: 0.11

mill-morphir

A Mill plugin for working with Morphir projects and workspaces.

Compatibility

Mill Version mill-morphir Version
1.0.6+ 0.0.1-SNAPSHOT

Installation

Add the following to your build.mill (or build.sc):

import $ivy.`io.eleven19.mill::mill-morphir::0.0.1-SNAPSHOT`
import io.eleven19.mill.morphir._

Note: Since this is a Snapshot version, you may need to add the Sonatype Snapshots repository or publish locally first.

Usage

This plugin provides modules to integrate Morphir tools (like morphir-elm) into your Mill build pipeline.

Morphir Module

Extend MorphirModule to add Morphir capabilities to your module.

object myproject extends MorphirModule {
  // Configuration
}

Development

Prerequisites

We use mise to manage our development tools.

  1. Install mise.
  2. Run mise install to set up specific versions of java, node, and utilities.

Alternatively, manually install:

  • Java: 17+
  • Mill: 1.0.6 (or use ./mill)
  • Node.js: 20+
  • morphir-elm: npm install -g morphir-elm

Common Tasks (via Mise)

mise run build      # Compile
mise run test       # Run all tests
mise run release    # Trigger release

Manual Commands

Build

Compile the project:

./mill -i __.compile

Testing

Run unit tests:

./mill -i plugin.test.test

Run integration tests (requires morphir-elm):

./mill -i itest.test

formatting

Check format:

./mill -i __.checkFormat

Reformat:

./mill -i __.reformat