works.iterative.mill

Members list

Type members

Classlikes

trait IWBomModule extends BomModule, PublishModule, ScalaModule, IWScalaVersions

Standard Bill of Materials (BOM) module for Iterative Works projects using Mill. This module centralizes dependency versioning across projects.

Standard Bill of Materials (BOM) module for Iterative Works projects using Mill. This module centralizes dependency versioning across projects.

A BOM module allows:

  1. Centralized version management for dependencies 2. Enforcing specific versions of transitive dependencies 3. Applying uniform dependency management across multiple modules
    1. Publishing a BOM artifact that other projects can consume

Usage:

  1. Create a BOM module in your build:
    object bom extends IWBomModule {
      def publishVersion = "0.1.0-SNAPSHOT"

      // Add your organization-specific customizations here
      def pomSettings = PomSettings(...)
    }
  1. Use the BOM in your modules:
object myModule extends IWScalaModule {
   def bomModuleDeps = Seq(bom)

   def mvnDeps = Agg(
       // No need to specify versions as they come from the BOM
       mvn"dev.zio::zio",
       mvn"dev.zio::zio-json"
   )
}

Attributes

Supertypes
trait ScalaModule
trait ScalaModuleApi
trait ScalaModuleBase
trait PublishModule
trait BomModule
trait JavaModule
trait JavaModuleApi
trait JdkCommandsModule
trait AssemblyModule
trait SemanticDbJavaModule
trait SemanticDbJavaModuleApi
trait OfflineSupportModule
trait GenIdeaModule
trait GenIdeaModuleApi
trait RunModule
trait RunModuleApi
trait DefaultTaskModule
trait JavaModuleBase
trait BspModule
trait BspModuleApi
trait WithJvmWorkerModule
trait JavaHomeModule
trait CoursierModule
trait Module
trait ModuleApi
trait Wrapper
class BaseClass
trait Cacher
trait Cacher
class Object
trait Matchable
class Any
Show all
object IWMillDeps

Standardized dependency management for Iterative Works projects using Mill. This object provides ready-to-use Maven dependencies with proper versioning.

Standardized dependency management for Iterative Works projects using Mill. This object provides ready-to-use Maven dependencies with proper versioning.

All versions are centralized in IWMillVersions.

This object is designed to be used in build.sc files:

def mvnDeps = super.mvnDeps() ++ Agg(
 IWMillDeps.zio,
 IWMillDeps.zioJson
)

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
IWMillDeps.type

Centralized version management for Iterative Works projects using Mill. This object contains all library versions used across projects.

Centralized version management for Iterative Works projects using Mill. This object contains all library versions used across projects.

Update this object to bump versions for all projects.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
trait IWPublishModule extends PublishModule

Standard publish module trait for Iterative Works projects using Mill. Publishes to the e-BS Nexus repository with signing and staging disabled.

Standard publish module trait for Iterative Works projects using Mill. Publishes to the e-BS Nexus repository with signing and staging disabled.

To use this trait, extend it in your module and define:

  • publishVersion: The version to publish
  • pomSettings: The POM settings for the publication

Repository URIs default to e-BS Nexus but can be overridden via environment variables or by overriding publishReleaseUri / publishSnapshotUri:

Set environment variables for authentication: export MILL_SONATYPE_USERNAME=$EBS_NEXUS_USERNAME export MILL_SONATYPE_PASSWORD=$EBS_NEXUS_PASSWORD

Publish with: mill yourmodule.publish

Attributes

Supertypes
trait PublishModule
trait JavaModule
trait JavaModuleApi
trait JdkCommandsModule
trait AssemblyModule
trait SemanticDbJavaModule
trait SemanticDbJavaModuleApi
trait OfflineSupportModule
trait GenIdeaModule
trait GenIdeaModuleApi
trait RunModule
trait RunModuleApi
trait DefaultTaskModule
trait JavaModuleBase
trait BspModule
trait BspModuleApi
trait WithJvmWorkerModule
trait JavaHomeModule
trait CoursierModule
trait Module
trait ModuleApi
trait Wrapper
class BaseClass
trait Cacher
trait Cacher
class Object
trait Matchable
class Any
Show all
trait IWScalaModule extends ScalaModule, ScalafmtModule, IWScalaVersions

Standard Scala module trait for Iterative Works projects using Mill. This trait sets up standard compiler options and configuration.

Standard Scala module trait for Iterative Works projects using Mill. This trait sets up standard compiler options and configuration.

Attributes

Supertypes
trait ScalafmtModule
trait ScalaModule
trait ScalaModuleApi
trait ScalaModuleBase
trait JavaModule
trait JavaModuleApi
trait JdkCommandsModule
trait AssemblyModule
trait SemanticDbJavaModule
trait SemanticDbJavaModuleApi
trait OfflineSupportModule
trait GenIdeaModule
trait GenIdeaModuleApi
trait RunModule
trait RunModuleApi
trait DefaultTaskModule
trait JavaModuleBase
trait BspModule
trait BspModuleApi
trait WithJvmWorkerModule
trait JavaHomeModule
trait CoursierModule
trait Module
trait ModuleApi
trait Wrapper
class BaseClass
trait Cacher
trait Cacher
class Object
trait Matchable
class Any
Show all

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete fields

val IWDeps: IWMillDeps.type