sake92 / mill-scala3-library-starter.g8

Giter8 template for a Scala 3 library with Mill

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mill-scala3-library-starter.g8

A mildly opinionated Giter8 template for a Scala 3 library with Mill build tool.

Quickstart

  1. Create a new, empty GitHub repo, with main branch
  2. Clone the repo, and run this inside it:
    mill -i init sake92/mill-scala3-library-starter.g8 -o .
  3. Tell git that mill is executable:
    git update-index --chmod=+x ./mill
  4. Develop, commit, push

Enjoy!

Features

Build

Simple build for a Scala 3 library.

If you want to cross build for ScalaJS/ScalaNative, please refer to the Mill docs.
Or simply copy-paste my setup from Tupson

CI

Runs tests on Java 11, 17, 21.


CD

Releasing is done with Java 11.

Make sure you have credentials for publishing to Sonatype and a GPG key created.
Before releasing you need to set up the following secrets:

  • SONATYPE_USERNAME
  • SONATYPE_PASSWORD
  • PGP_PASSPHRASE
  • PGP_SECRET

Please follow the docs from mill-ci-release


Docs

Make sure you set up GitHub Pages to use gh-pages branch, from root folder /

Documentation with Hepek SSG and GitHub Pages deployment

It follows the DIVIO's Documentation System for structuring the docs in a meaningful way.

About

Giter8 template for a Scala 3 library with Mill

License:Creative Commons Zero v1.0 Universal


Languages

Language:Shell 39.6%Language:Scala 32.3%Language:Batchfile 27.1%Language:JavaScript 0.6%Language:CSS 0.4%