Project template and support files for IW projects

project Technology update. 6 months ago
sbt-iw-plugin-presets/ src Technology update. 6 months ago
sbt-iw-projects/src/main/scala/works/iterative/ sbt Technology update. 6 months ago
src/main/ g8 G8 template fix 4 months ago
.envrc Initial upload. 3 years ago
.gitignore Ignore direnv subdir. 3 years ago
.scalafmt.conf Version upgrades. 11 months ago
README.markdown Minimalistic version working 3 years ago
build.sbt Version upgrades. 11 months ago
flake.lock Technology update. 1 year ago
flake.nix Version upgrades. 11 months ago
shell.nix Nix flake update, using flake-compat. 2 years ago
version.sbt Setting version to 0.3.24 2 months ago
README.markdown

IW Project Support

A Giter8 template for Iterative Works Scala projects!

The project contains default template for Scala projects, referencing plugins that help to maintain IW projects.

Vision

The goals are:

  • to simplify new project creation with favourite tools
  • to ease the maintenance of running projects, making it possible to upgrade the stack easily and uniformly accross all the projects

The envisioned process:

  1. Create project 1 using g8 iterative-works/iw-project-support.
  2. My favourite tools are readily available, without a need to specify versions and orgs/names.
  3. Develop, launch
  4. Update the dependencies to current ones, publish new version of the plugin.
  5. Update the plugin and get current tools
  6. Fix the code for the new libs and publish updates

This way the overhead of maintaining multiple projects should be lower, than having to do all the version updates manually.

Also, scalafix rewrites could be part of the project to ease the migrations even further.

Currently included

  • IWPluginPresets plugin that pulls in the default plugins used in all projects and shortcuts for a few other commonly used plugins (scalajs, lagom, play etc.)
  • IWMaterialsBOM plugin that adds shortcuts to currently used versions and settings of libraries used in IW projects (ZIO, Laminar etc.)
  • IWScalaProject auto triggered plugin which provides default settings for all projects and exports currently used scala versions

Template license

Written in 2021 by Michal Příhoda michal.prihoda@iterative.works

To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this template to the public domain worldwide. This template is distributed without any warranty. See http://creativecommons.org/publicdomain/zero/1.0/.