Packages

t

mill.kotlinlib.android

AndroidAppKotlinModule

trait AndroidAppKotlinModule extends BaseClass with AndroidAppModule with KotlinModule

Trait for building Android applications using the Mill build tool.

This trait defines all the necessary steps for building an Android app from Kotlin sources, integrating both Android-specific tasks and generic Kotlin tasks by extending the KotlinModule (for standard Kotlin tasks) and AndroidAppModule (for Android Application Workflow Process).

It provides a structured way to handle various steps in the Android app build process, including compiling Kotlin sources, creating DEX files, generating resources, packaging APKs, optimizing, and signing APKs.

Android Studio Documentation

Annotations
@experimental()
Source
AndroidAppKotlinModule.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AndroidAppKotlinModule
  2. KotlinModule
  3. AndroidAppModule
  4. JavaModule
  5. SemanticDbJavaModule
  6. OfflineSupportModule
  7. CoursierModule
  8. GenIdeaModule
  9. RunModule
  10. TaskModule
  11. JavaModuleBase
  12. BspModule
  13. WithZincWorker
  14. Module
  15. BaseClass
  16. Cacher
  17. Cacher
  18. AnyRef
  19. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait KotlinTests extends BaseClass with JavaTests with KotlinModule

    A test sub-module linked to its parent module best suited for unit-tests.

    A test sub-module linked to its parent module best suited for unit-tests.

    Definition Classes
    KotlinModule
  2. type CompileProblemReporter = api.CompileProblemReporter
    Definition Classes
    KotlinModule
  3. type JavaTests = JavaModuleTests
    Definition Classes
    JavaModule
    Annotations
    @nowarn()

Deprecated Type Members

  1. trait JavaModuleTests extends BaseClass with JavaModule with TestModule
    Definition Classes
    JavaModule
    Annotations
    @deprecated
    Deprecated

    (Since version Mill 0.11.10) Use JavaTests instead

Abstract Value Members

  1. abstract def androidSdkModule: ModuleRef[AndroidSdkModule]

    Provides access to the Android SDK configuration.

    Provides access to the Android SDK configuration.

    Definition Classes
    AndroidAppModule
  2. abstract def kotlinVersion: T[String]

    The Kotlin version to be used (for API and Language level settings).

    The Kotlin version to be used (for API and Language level settings).

    Definition Classes
    KotlinModule

Concrete Value Members

  1. object millInternal extends Internal

    Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill

    Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill

    Definition Classes
    Module
    Annotations
    @internal()
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def allIvyDeps: T[Agg[scalalib.Dep]]

    Aggregation of mandatoryIvyDeps and ivyDeps.

    Aggregation of mandatoryIvyDeps and ivyDeps. In most cases, instead of overriding this Target you want to override ivyDeps instead.

    Definition Classes
    JavaModule
  6. def allJavaSourceFiles: T[Seq[api.PathRef]]

    All individual Java source files fed into the compiler.

    All individual Java source files fed into the compiler. Subset of allSourceFiles.

    Definition Classes
    KotlinModule
  7. def allKotlinSourceFiles: T[Seq[api.PathRef]]

    All individual Kotlin source files fed into the compiler.

    All individual Kotlin source files fed into the compiler. Subset of allSourceFiles.

    Definition Classes
    KotlinModule
  8. def allLocalMainClasses: T[Seq[String]]
    Definition Classes
    RunModule
  9. def allSourceFiles: T[Seq[api.PathRef]]

    All individual source files fed into the compiler.

    All individual source files fed into the compiler.

    Definition Classes
    KotlinModuleJavaModuleSemanticDbJavaModule
  10. def allSources: T[Seq[api.PathRef]]

    The folders containing all source files fed into the compiler

    The folders containing all source files fed into the compiler

    Definition Classes
    JavaModule
  11. def androidAaptOptions: T[Seq[String]]

    Specifies AAPT options for Android resource compilation.

    Specifies AAPT options for Android resource compilation.

    Definition Classes
    AndroidAppModule
  12. def androidAlignedUnsignedApk: T[api.PathRef]

    Optimizes the APK using the zipalign tool for better performance.

    Optimizes the APK using the zipalign tool for better performance.

    For more details on the zipalign tool, refer to: zipalign Documentation

    Definition Classes
    AndroidAppModule
  13. def androidApk: T[api.PathRef]

    Signs the APK using a keystore to generate a final, distributable APK.

    Signs the APK using a keystore to generate a final, distributable APK.

    The signing step is mandatory to distribute Android applications. It adds a cryptographic signature to the APK, verifying its authenticity. This method uses the apksigner tool along with a keystore file to sign the APK.

    If no keystore is available, a new one is generated using the keytool utility.

    For more details on the apksigner tool, refer to: apksigner Documentation

    Definition Classes
    AndroidAppModule
  14. def androidDex: T[api.PathRef]

    Converts the generated JAR file into a DEX file using the d8 tool.

    Converts the generated JAR file into a DEX file using the d8 tool.

    returns

    Path to the Generated DEX File Directory

    Definition Classes
    AndroidAppModule
  15. def androidJar: T[api.PathRef]

    Packages the compiled Java .class files into a JAR file using the D8 tool.

    Packages the compiled Java .class files into a JAR file using the D8 tool.

    The D8 compiler is used here to package and optimize the Java bytecode into a format suitable for Android (DEX). D8 converts the Java .class files into a jar file which is suitable for DEX (Dalvik Executable) format and is required for Android runtime.

    For more details on the d8 tool, refer to: d8 Documentation

    Definition Classes
    AndroidAppModule
  16. def androidKeystore: T[api.PathRef]

    Generates a new keystore file if it does not exist.

    Generates a new keystore file if it does not exist.

    A keystore is required to sign the APK for distribution. This method checks if a keystore exists, and if not, generates a new one using the keytool utility. The keystore holds the cryptographic keys used to sign the APK.

    For more details on the keytool utility, refer to: keytool Documentation

    Definition Classes
    AndroidAppModule
  17. def androidManifest: Task[api.PathRef]

    Provides Path to an XML file containing configuration and metadata about your android application.

    Provides Path to an XML file containing configuration and metadata about your android application.

    Definition Classes
    AndroidAppModule
  18. def androidReleaseKeyAlias: T[String]

    Default alias in the keystore ("androidKey").

    Default alias in the keystore ("androidKey"). Users can customize this value.

    Definition Classes
    AndroidAppModule
  19. def androidReleaseKeyName: T[String]

    Default name of the keystore file ("keyStore.jks").

    Default name of the keystore file ("keyStore.jks"). Users can customize this value.

    Definition Classes
    AndroidAppModule
  20. def androidReleaseKeyPass: T[String]

    Default password for the key ("android").

    Default password for the key ("android"). Users can customize this value.

    Definition Classes
    AndroidAppModule
  21. def androidReleaseKeyPath: T[api.PathRef]

    Default path to the keystore file, derived from androidReleaseKeyName().

    Default path to the keystore file, derived from androidReleaseKeyName(). Users can customize the keystore file name to change this path.

    Definition Classes
    AndroidAppModule
  22. def androidReleaseKeyStorePass: T[String]

    Default password for the keystore ("android").

    Default password for the keystore ("android"). Users can customize this value.

    Definition Classes
    AndroidAppModule
  23. def androidResources: T[api.PathRef]

    Compiles Android resources and generates R.java and res.apk.

    Compiles Android resources and generates R.java and res.apk.

    returns

    PathRef to the directory with R.java and res.apk. For more details on the aapt2 tool, refer to: aapt Documentation

    Definition Classes
    AndroidAppModule
  24. def androidSignKeyDetails: T[Seq[String]]

    Generates the command-line arguments required for Android app signing.

    Generates the command-line arguments required for Android app signing.

    Uses the release keystore path if available; otherwise, defaults to a standard keystore path. Includes arguments for the keystore path, key alias, and passwords.

    returns

    A Task producing a sequence of strings for signing configuration.

    Definition Classes
    AndroidAppModule
  25. def androidUnpackArchives: T[(Seq[api.PathRef], Seq[api.PathRef])]

    Extracts JAR files and resources from AAR dependencies.

    Extracts JAR files and resources from AAR dependencies.

    returns

    Paths to extracted JAR files and resource folders.

    Definition Classes
    AndroidAppModule
  26. def androidUnsignedApk: T[api.PathRef]

    Packages DEX files and Android resources into an unsigned APK.

    Packages DEX files and Android resources into an unsigned APK.

    returns

    A PathRef to the generated unsigned APK file (app.unsigned.apk).

    Definition Classes
    AndroidAppModule
  27. def artifactId: T[String]

    The exact id of the artifact to be published.

    The exact id of the artifact to be published. You probably don't want to override this. If you want to customize the name of the artifact, override artifactName instead. If you want to customize the scala version in the artifact id, see ScalaModule.artifactScalaVersion

    Definition Classes
    JavaModule
  28. def artifactName: T[String]

    Override this to change the published artifact id.

    Override this to change the published artifact id. For example, by default a scala module foo.baz might be published as foo-baz_2.12 and a java module would be foo-baz. Setting this to baz would result in a scala artifact baz_2.12 or a java artifact baz.

    Definition Classes
    JavaModule
  29. def artifactNameParts: T[Seq[String]]
    Definition Classes
    JavaModule
  30. def artifactSuffix: T[String]

    The suffix appended to the artifact IDs during publishing

    The suffix appended to the artifact IDs during publishing

    Definition Classes
    JavaModule
  31. def artifactTypes: T[Set[Type]]

    Adds "aar" to the handled artifact types.

    Adds "aar" to the handled artifact types.

    Definition Classes
    AndroidAppModuleJavaModule
  32. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  33. def assembly: T[api.PathRef]

    An executable uber-jar/assembly containing all the resources and compiled classfiles from this module and all it's upstream modules and dependencies

    An executable uber-jar/assembly containing all the resources and compiled classfiles from this module and all it's upstream modules and dependencies

    Definition Classes
    JavaModule
  34. def assemblyRules: Seq[Rule]

    Configuration for the assembly task: how files and file-conflicts are managed when combining multiple jar files into one big assembly jar.

    Configuration for the assembly task: how files and file-conflicts are managed when combining multiple jar files into one big assembly jar.

    Definition Classes
    JavaModule
  35. def bindDependency: define.Task[(scalalib.Dep) => BoundDep]

    Bind a dependency (Dep) to the actual module context (e.g.

    Bind a dependency (Dep) to the actual module context (e.g. the scala version and the platform suffix)

    returns

    The BoundDep

    Definition Classes
    CoursierModule
  36. def bspBuildTarget: BspBuildTarget

    Use to fill most fields of BuildTarget.

    Use to fill most fields of BuildTarget.

    Definition Classes
    KotlinModuleJavaModuleSemanticDbJavaModuleBspModule
    Annotations
    @internal()
  37. def bspBuildTargetData: define.Task[Option[(String, AnyRef)]]

    Use to populate the BuildTarget.{dataKind,data} fields.

    Use to populate the BuildTarget.{dataKind,data} fields.

    Mill specific implementations: - JvmBuildTarget - ScalaBuildTarget

    Definition Classes
    JavaModuleBspModule
    Annotations
    @internal()
  38. def bspCompileClassesPath: T[UnresolvedPath]

    The path to the compiled classes by compile without forcing to actually run the compilation.

    The path to the compiled classes by compile without forcing to actually run the compilation. This is safe in an BSP context, as the compilation done later will use the exact same compilation settings, so we can safely use the same path.

    Keep in sync with compile

    Definition Classes
    JavaModule
    Annotations
    @internal()
  39. def bspCompileClasspath: T[Agg[UnresolvedPath]]

    Same as compileClasspath, but does not trigger compilation targets, if possible.

    Same as compileClasspath, but does not trigger compilation targets, if possible.

    Keep in sync with compileClasspath

    Definition Classes
    JavaModule
    Annotations
    @internal()
  40. def bspCompiledClassesAndSemanticDbFiles: T[UnresolvedPath]
    Definition Classes
    SemanticDbJavaModule
  41. def bspDisplayName: String
    Definition Classes
    BspModule
  42. def bspDisplayName0: String
    Definition Classes
    BspModule
  43. def bspJvmBuildTargetTask: define.Task[JvmBuildTarget]
    Definition Classes
    JavaModule
    Annotations
    @internal()
  44. def bspLocalClasspath: T[Agg[UnresolvedPath]]

    Same as localClasspath, but with all dependencies on compile replaced by their non-compiling bspCompileClassesPath variants.

    Same as localClasspath, but with all dependencies on compile replaced by their non-compiling bspCompileClassesPath variants.

    Keep in sync with localClasspath

    Definition Classes
    JavaModule
    Annotations
    @internal()
  45. def bspLocalRunClasspath: T[Agg[UnresolvedPath]]

    Same as localRunClasspath but for use in BSP server.

    Same as localRunClasspath but for use in BSP server.

    Keep in sync with localRunClasspath

    Definition Classes
    JavaModule
  46. def bspTransitiveCompileClasspath: T[Agg[UnresolvedPath]]

    Same as transitiveCompileClasspath, but with all dependencies on compile replaced by their non-compiling bspCompileClassesPath variants.

    Same as transitiveCompileClasspath, but with all dependencies on compile replaced by their non-compiling bspCompileClassesPath variants.

    Keep in sync with transitiveCompileClasspath

    Definition Classes
    JavaModule
    Annotations
    @internal()
  47. def bspTransitiveLocalClasspath: T[Agg[UnresolvedPath]]

    Same as transitiveLocalClasspath, but with all dependencies on compile replaced by their non-compiling bspCompileClassesPath variants.

    Same as transitiveLocalClasspath, but with all dependencies on compile replaced by their non-compiling bspCompileClassesPath variants.

    Keep in sync with transitiveLocalClasspath

    Definition Classes
    JavaModule
    Annotations
    @internal()
  48. def cachedTarget[T](t: => T)(implicit c: Enclosing): T
    Attributes
    protected[this]
    Definition Classes
    Cacher → Cacher
  49. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  50. def compile: T[CompilationResult]

    Compiles all the sources to JVM class files.

    Compiles all the sources to JVM class files.

    Definition Classes
    KotlinModuleJavaModuleSemanticDbJavaModule
  51. def compileClasspath: T[Agg[api.PathRef]]

    Replaces AAR files in classpath with their extracted JARs.

    Replaces AAR files in classpath with their extracted JARs.

    Definition Classes
    AndroidAppModuleJavaModuleSemanticDbJavaModule
  52. def compileIvyDeps: T[Agg[scalalib.Dep]]

    Same as ivyDeps, but only present at compile time.

    Same as ivyDeps, but only present at compile time. Useful for e.g. macro-related dependencies like scala-reflect that doesn't need to be present at runtime

    Definition Classes
    JavaModule
  53. def compileModuleDeps: Seq[JavaModule]

    The compile-only direct dependencies of this module.

    The compile-only direct dependencies of this module. These are *not* transitive, and only take effect in the module that they are declared in.

    Definition Classes
    JavaModule
  54. final def compileModuleDepsChecked: Seq[JavaModule]

    Same as compileModuleDeps but checked to not contain cycles.

    Same as compileModuleDeps but checked to not contain cycles.

    Definition Classes
    JavaModule
  55. def compileResources: T[Seq[api.PathRef]]

    The folders where the compile time resource files for this module live.

    The folders where the compile time resource files for this module live. If your resources files do not necessarily need to be seen by the compiler, you should use resources instead.

    Definition Classes
    JavaModule
  56. def compiledClassesAndSemanticDbFiles: T[api.PathRef]
    Definition Classes
    SemanticDbJavaModule
  57. def coursierCacheCustomizer: define.Task[Option[(FileCache[coursier.util.Task]) => FileCache[coursier.util.Task]]]

    Customize the coursier file cache.

    Customize the coursier file cache.

    This is rarely needed to be changed, but sometimes e.g. you want to load a coursier plugin. Doing so requires adding to coursier's classpath. To do this you could use the following:

    override def coursierCacheCustomizer = Task.Anon {
       Some( (fc: coursier.cache.FileCache[Task]) =>
         fc.withClassLoaders(Seq(classOf[coursier.cache.protocol.S3Handler].getClassLoader))
       )
    }
    Definition Classes
    CoursierModule
  58. def defaultCommandName(): String

    The name of the default command, which will be automatically executed if the module name is provided at the Mill command line.

    The name of the default command, which will be automatically executed if the module name is provided at the Mill command line.

    Definition Classes
    JavaModuleTaskModule
  59. def defaultResolver: define.Task[Resolver]
    Definition Classes
    CoursierModule
  60. def docJar: T[api.PathRef]

    The documentation jar, containing all the Dokka HTML files, for publishing to Maven Central.

    The documentation jar, containing all the Dokka HTML files, for publishing to Maven Central. You can control Dokka version by using dokkaVersion and option by using dokkaOptions.

    Definition Classes
    KotlinModuleJavaModule
  61. def docJarUseArgsFile: T[Boolean]

    Control whether docJar-target should use a file to pass command line arguments to the javadoc tool.

    Control whether docJar-target should use a file to pass command line arguments to the javadoc tool. Defaults to true on Windows. Beware: Using an args-file is probably not supported for very old javadoc versions.

    Definition Classes
    JavaModule
  62. def docResources: T[Seq[api.PathRef]]

    Extra directories to be copied into the documentation.

    Extra directories to be copied into the documentation.

    Typically, includes static files such as html and markdown, but depends on the doc tool that is actually used.

    Definition Classes
    JavaModule
    See also

    docSources

  63. def docSources: T[Seq[api.PathRef]]

    Directories to be processed by the API documentation tool.

    Directories to be processed by the API documentation tool.

    Typically, includes the source files to generate documentation from.

    Definition Classes
    JavaModule
    See also

    docResources

  64. def dokkaAnalysisPlatform: String
    Attributes
    protected
    Definition Classes
    KotlinModule
  65. def dokkaOptions: T[Seq[String]]

    Additional options to be used by the Dokka tool.

    Additional options to be used by the Dokka tool. You should not set the -outputDir setting for specifying the target directory, as that is done in the docJar target.

    Definition Classes
    KotlinModule
  66. def dokkaSourceSetDisplayName: String
    Attributes
    protected
    Definition Classes
    KotlinModule
  67. def dokkaVersion: T[String]

    Dokka version.

    Dokka version.

    Definition Classes
    KotlinModule
  68. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  69. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  70. def finalMainClass: T[String]
    Definition Classes
    JavaModuleRunModule
  71. def finalMainClassOpt: T[Either[String, String]]
    Definition Classes
    JavaModuleRunModule
  72. def forkArgs: T[Seq[String]]

    Any command-line parameters you want to pass to the forked JVM under run, test or repl

    Any command-line parameters you want to pass to the forked JVM under run, test or repl

    Definition Classes
    JavaModuleRunModule
  73. def forkEnv: T[Map[String, String]]

    Any environment variables you want to pass to the forked JVM under run, test or repl

    Any environment variables you want to pass to the forked JVM under run, test or repl

    Definition Classes
    JavaModuleRunModule
  74. def forkWorkingDir: T[Path]
    Definition Classes
    JavaModuleRunModule
  75. def generatedSources: T[Seq[api.PathRef]]

    Combines standard Java source directories with additional sources generated by the Android resource generation step.

    Combines standard Java source directories with additional sources generated by the Android resource generation step.

    Definition Classes
    AndroidAppModuleJavaModule
  76. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  77. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  78. def ideaCompileOutput: T[PathRef]
    Definition Classes
    GenIdeaModule
  79. def ideaConfigFiles(ideaConfigVersion: Int): define.Task[Seq[IdeaConfigFile]]

    Contribute components to idea config files.

    Contribute components to idea config files.

    Definition Classes
    GenIdeaModule
  80. def ideaJavaModuleFacets(ideaConfigVersion: Int): define.Task[Seq[JavaFacet]]

    Contribute facets to the Java module configuration.

    Contribute facets to the Java module configuration.

    ideaConfigVersion

    The IDEA configuration version in use. Probably 4.

    Definition Classes
    GenIdeaModule
  81. def intellijModulePath: Path
    Definition Classes
    GenIdeaModule
  82. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  83. def ivyDeps: T[Agg[scalalib.Dep]]

    Any ivy dependencies you want to add to this Module, in the format ivy"org::name:version" for Scala dependencies or ivy"org:name:version" for Java dependencies

    Any ivy dependencies you want to add to this Module, in the format ivy"org::name:version" for Scala dependencies or ivy"org:name:version" for Java dependencies

    Definition Classes
    JavaModuleJavaModuleBase
  84. def ivyDepsTree(args: IvyDepsTreeArgs = IvyDepsTreeArgs()): define.Command[Unit]

    Command to print the transitive dependency tree to STDOUT.

    Command to print the transitive dependency tree to STDOUT.

    Definition Classes
    JavaModule
  85. def jar: T[api.PathRef]

    A jar containing only this module's resources and compiled classfiles, without those from upstream modules and dependencies

    A jar containing only this module's resources and compiled classfiles, without those from upstream modules and dependencies

    Definition Classes
    JavaModule
  86. def javacOptions: T[Seq[String]]

    Options to pass to the java compiler

    Options to pass to the java compiler

    Definition Classes
    JavaModuleSemanticDbJavaModule
  87. def javadocOptions: T[Seq[String]]

    Additional options to be used by the javadoc tool.

    Additional options to be used by the javadoc tool. You should not set the -d setting for specifying the target directory, as that is done in the docJar target.

    Definition Classes
    JavaModule
  88. def kotlinApiVersion: T[String]

    The compiler API version.

    The compiler API version. Default is not set.

    Definition Classes
    KotlinModule
  89. def kotlinCompileTask(extraKotlinArgs: Seq[String] = Seq()): define.Task[CompilationResult]

    The actual Kotlin compile task (used by compile and kotlincHelp).

    The actual Kotlin compile task (used by compile and kotlincHelp).

    Attributes
    protected
    Definition Classes
    KotlinModule
  90. def kotlinCompilerClasspath: T[Seq[api.PathRef]]

    The Java classpath resembling the Kotlin compiler.

    The Java classpath resembling the Kotlin compiler. Default is derived from kotlinCompilerIvyDeps.

    Definition Classes
    KotlinModule
  91. def kotlinCompilerIvyDeps: T[Agg[Dep]]

    The Ivy/Coursier dependencies resembling the Kotlin compiler.

    The Ivy/Coursier dependencies resembling the Kotlin compiler. Default is derived from kotlinCompilerVersion.

    Definition Classes
    KotlinModule
  92. def kotlinCompilerVersion: T[String]

    The version of the Kotlin compiler to be used.

    The version of the Kotlin compiler to be used. Default is derived from kotlinVersion.

    Definition Classes
    KotlinModule
  93. def kotlinExplicitApi: T[Boolean]

    Flag to use explicit API check in the compiler.

    Flag to use explicit API check in the compiler. Default is false.

    Definition Classes
    KotlinModule
  94. def kotlinLanguageVersion: T[String]

    The compiler language version.

    The compiler language version. Default is not set.

    Definition Classes
    KotlinModule
  95. def kotlinWorkerRef: ModuleRef[KotlinWorkerModule]
    Attributes
    protected
    Definition Classes
    KotlinModule
  96. def kotlinWorkerTask: define.Task[KotlinWorker]
    Definition Classes
    KotlinModule
  97. def kotlincHelp(args: String*): define.Command[Unit]

    Runs the Kotlin compiler with the -help argument to show you the built-in cmdline help.

    Runs the Kotlin compiler with the -help argument to show you the built-in cmdline help. You might want to add additional arguments like -X to see extra help.

    Definition Classes
    KotlinModule
  98. def kotlincOptions: T[Seq[String]]

    Additional Kotlin compiler options to be used by compile.

    Additional Kotlin compiler options to be used by compile.

    Definition Classes
    KotlinModule
  99. def launcher: define.Target[api.PathRef]

    Builds a command-line "launcher" file that can be used to run this module's code, without the Mill process.

    Builds a command-line "launcher" file that can be used to run this module's code, without the Mill process. Useful for deployment & other places where you do not want a build tool running

    Definition Classes
    JavaModule
  100. def localClasspath: T[Seq[api.PathRef]]

    The *output* classfiles/resources from this module, used for execution, excluding upstream modules and third-party dependencies, but including unmanaged dependencies.

    The *output* classfiles/resources from this module, used for execution, excluding upstream modules and third-party dependencies, but including unmanaged dependencies.

    This is build from localCompileClasspath and localRunClasspath as the parts available "before compilation" and "after compilation".

    Keep in sync with bspLocalClasspath

    Definition Classes
    JavaModule
  101. def localCompileClasspath: T[Agg[api.PathRef]]

    The *input* classfiles/resources from this module, used during compilation, excluding upstream modules and third-party dependencies

    The *input* classfiles/resources from this module, used during compilation, excluding upstream modules and third-party dependencies

    Definition Classes
    JavaModule
  102. def localRunClasspath: T[Seq[api.PathRef]]

    The part of the localClasspath which is available "after compilation".

    The part of the localClasspath which is available "after compilation".

    Keep in sync with bspLocalRunClasspath

    Definition Classes
    JavaModuleRunModule
  103. def mainClass: T[Option[String]]

    Allows you to specify an explicit main class to use for the run command.

    Allows you to specify an explicit main class to use for the run command. If none is specified, the classpath is searched for an appropriate main class to use if one exists

    Definition Classes
    JavaModuleRunModule
  104. def mandatoryIvyDeps: T[Agg[Dep]]

    The dependencies of this module.

    The dependencies of this module. Defaults to add the kotlin-stdlib dependency matching the kotlinVersion.

    Definition Classes
    KotlinModuleJavaModule
  105. def mandatoryJavacOptions: T[Seq[String]]

    Additional options for the java compiler derived from other module settings.

    Additional options for the java compiler derived from other module settings.

    Definition Classes
    JavaModuleSemanticDbJavaModule
  106. def manifest: T[JarManifest]

    Creates a manifest representation which can be modified or replaced The default implementation just adds the Manifest-Version, Main-Class and Created-By attributes

    Creates a manifest representation which can be modified or replaced The default implementation just adds the Manifest-Version, Main-Class and Created-By attributes

    Definition Classes
    JavaModule
  107. def mapDependencies: define.Task[(Dependency) => Dependency]

    Map dependencies before resolving them.

    Map dependencies before resolving them. Override this to customize the set of dependencies.

    Definition Classes
    CoursierModule
  108. implicit def millModuleBasePath: BasePath
    Definition Classes
    Module
  109. def millModuleDirectChildren: Seq[define.Module]
    Definition Classes
    Module
  110. implicit def millModuleExternal: External
    Definition Classes
    Module
  111. implicit def millModuleSegments: Segments
    Definition Classes
    Module
  112. implicit def millModuleShared: Foreign
    Definition Classes
    Module
  113. def millOuterCtx: Ctx
    Definition Classes
    BaseClass
  114. def millSourcePath: Path
    Definition Classes
    Module
  115. def moduleDeps: Seq[JavaModule]

    The direct dependencies of this module.

    The direct dependencies of this module. This is meant to be overridden to add dependencies. To read the value, you should use moduleDepsChecked instead, which uses a cached result which is also checked to be free of cycle.

    Definition Classes
    JavaModule
    See also

    moduleDepschecked

  116. final def moduleDepsChecked: Seq[JavaModule]

    Same as moduleDeps but checked to not contain cycles.

    Same as moduleDeps but checked to not contain cycles. Prefer this over using moduleDeps directly.

    Definition Classes
    JavaModule
  117. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  118. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  119. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  120. def platformSuffix: T[String]

    What platform suffix to use for publishing, e.g.

    What platform suffix to use for publishing, e.g. _sjs for Scala.js projects

    Definition Classes
    JavaModule
  121. def prepareOffline(all: Flag): define.Command[Unit]

    all

    If true fetches also source dependencies

    Definition Classes
    JavaModuleOfflineSupportModule
  122. def prependShellScript: T[String]

    What shell script to use to launch the executable generated by assembly.

    What shell script to use to launch the executable generated by assembly. Defaults to a generic "universal" launcher that should work for Windows, OS-X and Linux

    Definition Classes
    JavaModule
  123. def printDepsTree(inverse: Boolean, additionalDeps: define.Task[Agg[BoundDep]], whatDependsOn: List[JavaOrScalaModule]): define.Task[Unit]

    Task that print the transitive dependency tree to STDOUT.

    Task that print the transitive dependency tree to STDOUT. NOTE: that when whatDependsOn is used with inverse it will just be ignored since when using whatDependsOn the tree _must_ be inversed to work, so this will always be set as true.

    inverse

    Invert the tree representation, so that the root is on the bottom.

    additionalDeps

    Additional dependency to be included into the tree.

    whatDependsOn

    possible list of modules to target in the tree in order to see where a dependency stems from.

    Attributes
    protected
    Definition Classes
    JavaModule
  124. def recursiveModuleDeps: Seq[JavaModule]

    The direct and indirect dependencies of this module

    The direct and indirect dependencies of this module

    Definition Classes
    JavaModule
  125. def recursiveRunModuleDeps: Seq[JavaModule]

    The direct and indirect runtime module dependencies of this module

    The direct and indirect runtime module dependencies of this module

    Definition Classes
    JavaModule
  126. def repositoriesTask: define.Task[Seq[Repository]]

    The repositories used to resolved dependencies with resolveDeps().

    The repositories used to resolved dependencies with resolveDeps().

    Definition Classes
    CoursierModule
  127. def resolutionCustomizer: define.Task[Option[(Resolution) => Resolution]]

    Customize the coursier resolution process.

    Customize the coursier resolution process. This is rarely needed to changed, as the default try to provide a highly reproducible resolution process. But sometime, you need more control, e.g. you want to add some OS or JDK specific resolution properties which are sometimes used by Maven and therefore found in dependency artifact metadata. For example, the JavaFX artifacts are known to use OS specific properties. To fix resolution for JavaFX, you could override this task like the following:

    override def resolutionCustomizer = Task.Anon {
      Some( (r: coursier.core.Resolution) =>
        r.withOsInfo(coursier.core.Activation.Os.fromProperties(sys.props.toMap))
      )
    }
    Definition Classes
    CoursierModule
  128. def resolutionParams: define.Task[ResolutionParams]

    Resolution parameters, allowing to customize resolution internals

    Resolution parameters, allowing to customize resolution internals

    This rarely needs to be changed. This allows to disable the new way coursier handles BOMs since coursier 2.1.17 (used in Mill since 0.12.3) for example, with:

    def resolutionParams = super.resolutionParams()
      .withEnableDependencyOverrides(Some(false))

    Note that versions forced with Dep#forceVersion() take over forced versions manually set in resolutionParams. The former should be favored to force versions in dependency resolution.

    The Scala version set via ScalaModule#scalaVersion also takes over any Scala version provided via ResolutionParams#scalaVersionOpt.

    Definition Classes
    CoursierModule
  129. def resolveDeps(deps: define.Task[Agg[BoundDep]], sources: Boolean = false, artifactTypes: Option[Set[Type]] = None): define.Task[Agg[api.PathRef]]

    Task that resolves the given dependencies using the repositories defined with repositoriesTask.

    Task that resolves the given dependencies using the repositories defined with repositoriesTask.

    deps

    The dependencies to resolve.

    sources

    If true, resolve source dependencies instead of binary dependencies (JARs).

    artifactTypes

    If non-empty, pull the passed artifact types rather than the default ones from coursier

    returns

    The PathRefs to the resolved files.

    Definition Classes
    CoursierModule
  130. def resolvePublishDependency: define.Task[(scalalib.Dep) => Dependency]
    Definition Classes
    JavaModule
  131. def resolvedIvyDeps: T[Agg[api.PathRef]]

    Resolved dependencies based on transitiveIvyDeps and transitiveCompileIvyDeps.

    Resolved dependencies based on transitiveIvyDeps and transitiveCompileIvyDeps.

    Definition Classes
    JavaModule
  132. def resolvedRunIvyDeps: T[Agg[api.PathRef]]
    Definition Classes
    JavaModule
  133. def resolvedSemanticDbJavaPluginIvyDeps: T[Agg[api.PathRef]]
    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  134. def resources: T[Seq[api.PathRef]]

    Combines module resources with those unpacked from AARs.

    Combines module resources with those unpacked from AARs.

    Definition Classes
    AndroidAppModuleJavaModuleJavaModuleBase
  135. def run(args: define.Task[Args] = Task.Anon(Args())): define.Command[Unit]

    Runs this module's code in a subprocess and waits for it to finish

    Runs this module's code in a subprocess and waits for it to finish

    Definition Classes
    JavaModuleRunModule
  136. def runBackground(args: String*): define.Command[Unit]

    Runs this module's code in a background process, until it dies or runBackground is used again.

    Runs this module's code in a background process, until it dies or runBackground is used again. This lets you continue using Mill while the process is running in the background: editing files, compiling, and only re-starting the background process when you're ready.

    You can also use -w foo.runBackground to make Mill watch for changes and automatically recompile your code & restart the background process when ready. This is useful when working on long-running server processes that would otherwise run forever

    Definition Classes
    JavaModule
  137. def runBackgroundLogToConsole: Boolean

    If true, stdout and stderr of the process executed by runBackground or runMainBackground is sent to mill's stdout/stderr (which usually flow to the console).

    If true, stdout and stderr of the process executed by runBackground or runMainBackground is sent to mill's stdout/stderr (which usually flow to the console).

    If false, output will be directed to files stdout.log and stderr.log in runBackground.dest (or runMainBackground.dest)

    Definition Classes
    JavaModuleRunModule
  138. def runBackgroundRestartDelayMillis: T[Int]
    Definition Classes
    RunModule
  139. def runBackgroundTask(mainClass: define.Task[String], args: define.Task[Args] = Task.Anon(Args())): define.Task[Unit]
    Definition Classes
    RunModule
  140. def runClasspath: T[Seq[api.PathRef]]

    All classfiles and resources from upstream modules and dependencies necessary to run this module's code after compilation

    All classfiles and resources from upstream modules and dependencies necessary to run this module's code after compilation

    Definition Classes
    JavaModuleRunModule
  141. def runForkedTask(mainClass: define.Task[String], args: define.Task[Args] = Task.Anon(Args())): define.Task[Unit]

    Runs this module's code in a subprocess and waits for it to finish

    Runs this module's code in a subprocess and waits for it to finish

    Definition Classes
    RunModule
  142. def runIvyDeps: T[Agg[scalalib.Dep]]

    Additional dependencies, only present at runtime.

    Additional dependencies, only present at runtime. Useful for e.g. selecting different versions of a dependency to use at runtime after your code has already been compiled.

    Definition Classes
    JavaModule
  143. def runLocal(args: define.Task[Args] = Task.Anon(Args())): define.Command[Unit]

    Runs this module's code in-process within an isolated classloader.

    Runs this module's code in-process within an isolated classloader. This is faster than run, but in exchange you have less isolation between runs since the code can dirty the parent Mill process and potentially leave it in a bad state.

    Definition Classes
    JavaModuleRunModule
  144. def runLocalTask(mainClass: define.Task[String], args: define.Task[Args] = Task.Anon(Args())): define.Task[Unit]
    Definition Classes
    RunModule
  145. def runMain(mainClass: String, args: String*): define.Command[Unit]

    Same as run, but lets you specify a main class to run

    Same as run, but lets you specify a main class to run

    Definition Classes
    JavaModuleRunModule
  146. def runMainBackground(mainClass: String, args: String*): define.Command[Unit]

    Same as runBackground, but lets you specify a main class to run

    Same as runBackground, but lets you specify a main class to run

    Definition Classes
    JavaModuleRunModule
  147. def runMainLocal(mainClass: String, args: String*): define.Command[Unit]

    Same as runLocal, but lets you specify a main class to run

    Same as runLocal, but lets you specify a main class to run

    Definition Classes
    JavaModuleRunModule
  148. def runModuleDeps: Seq[JavaModule]

    The runtime-only direct dependencies of this module.

    The runtime-only direct dependencies of this module. These *are* transitive, and so get propagated to downstream modules automatically

    Definition Classes
    JavaModule
  149. final def runModuleDepsChecked: Seq[JavaModule]

    Same as moduleDeps but checked to not contain cycles.

    Same as moduleDeps but checked to not contain cycles. Prefer this over using moduleDeps directly.

    Definition Classes
    JavaModule
  150. def runUseArgsFile: T[Boolean]

    Control whether run*-targets should use an args file to pass command line args, if possible.

    Control whether run*-targets should use an args file to pass command line args, if possible.

    Definition Classes
    JavaModuleRunModule
  151. def runner: define.Task[Runner]
    Definition Classes
    RunModule
  152. def semanticDbData: T[api.PathRef]
    Definition Classes
    SemanticDbJavaModule
  153. def semanticDbEnablePluginScalacOptions: T[Seq[String]]

    Scalac options to activate the compiler plugins.

    Scalac options to activate the compiler plugins.

    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  154. def semanticDbJavaVersion: T[String]
    Definition Classes
    SemanticDbJavaModule
  155. def semanticDbPluginClasspath: T[Agg[api.PathRef]]
    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  156. def semanticDbPluginIvyDeps: T[Agg[scalalib.Dep]]
    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  157. def semanticDbScalaVersion: T[String]
    Definition Classes
    SemanticDbJavaModule
  158. def semanticDbVersion: T[String]
    Definition Classes
    SemanticDbJavaModule
  159. def showModuleDeps(recursive: Boolean = false): define.Command[Unit]

    Show the module dependencies.

    Show the module dependencies.

    recursive

    If true include all recursive module dependencies, else only show direct dependencies.

    Definition Classes
    JavaModule
  160. def skipIdea: Boolean

    Skip Idea project file generation.

    Skip Idea project file generation.

    Definition Classes
    GenIdeaModule
  161. def sourceJar: T[api.PathRef]

    The source jar, containing only source code for publishing to Maven Central

    The source jar, containing only source code for publishing to Maven Central

    Definition Classes
    JavaModule
  162. def sources: T[Seq[api.PathRef]]

    The folders where the source files for this module live

    The folders where the source files for this module live

    Definition Classes
    JavaModule
  163. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  164. def toString(): String
    Definition Classes
    Module → AnyRef → Any
  165. def transitiveCompileClasspath: T[Agg[api.PathRef]]

    The transitive version of compileClasspath

    The transitive version of compileClasspath

    Definition Classes
    JavaModule
  166. def transitiveCompileIvyDeps: T[Agg[BoundDep]]

    The compile-only transitive ivy dependencies of this module and all it's upstream compile-only modules.

    The compile-only transitive ivy dependencies of this module and all it's upstream compile-only modules.

    Definition Classes
    JavaModule
  167. def transitiveIvyDeps: T[Agg[BoundDep]]

    The transitive ivy dependencies of this module and all it's upstream modules.

    The transitive ivy dependencies of this module and all it's upstream modules. This is calculated from ivyDeps, mandatoryIvyDeps and recursively from moduleDeps.

    Definition Classes
    JavaModule
  168. def transitiveLocalClasspath: T[Agg[api.PathRef]]

    The transitive version of localClasspath

    The transitive version of localClasspath

    Definition Classes
    JavaModule
  169. def transitiveModuleCompileModuleDeps: Seq[JavaModule]

    All direct and indirect module dependencies of this module, including compile-only dependencies: basically the modules whose classpath are needed at compile-time.

    All direct and indirect module dependencies of this module, including compile-only dependencies: basically the modules whose classpath are needed at compile-time.

    Note that compileModuleDeps are defined to be non-transitive, so we only look at the direct compileModuleDeps when assembling this list

    Definition Classes
    JavaModule
  170. def transitiveModuleDeps: Seq[JavaModule]

    Like recursiveModuleDeps but also include the module itself, basically the modules whose classpath are needed at runtime

    Like recursiveModuleDeps but also include the module itself, basically the modules whose classpath are needed at runtime

    Definition Classes
    JavaModule
  171. def transitiveModuleRunModuleDeps: Seq[JavaModule]

    All direct and indirect module dependencies of this module, including compile-only dependencies: basically the modules whose classpath are needed at runtime.

    All direct and indirect module dependencies of this module, including compile-only dependencies: basically the modules whose classpath are needed at runtime.

    Note that runModuleDeps are defined to be transitive

    Definition Classes
    JavaModule
  172. def transitiveRunIvyDeps: T[Agg[BoundDep]]

    The transitive run ivy dependencies of this module and all it's upstream modules.

    The transitive run ivy dependencies of this module and all it's upstream modules. This is calculated from runIvyDeps, mandatoryIvyDeps and recursively from moduleDeps.

    Definition Classes
    JavaModule
  173. def transitiveRunModuleDeps: Seq[JavaModule]

    Like recursiveModuleDeps but also include the module itself, basically the modules whose classpath are needed at runtime

    Like recursiveModuleDeps but also include the module itself, basically the modules whose classpath are needed at runtime

    Definition Classes
    JavaModule
  174. def unmanagedClasspath: T[Agg[api.PathRef]]

    Adds the Android SDK JAR file to the classpath during the compilation process.

    Adds the Android SDK JAR file to the classpath during the compilation process.

    Definition Classes
    AndroidAppModuleJavaModule
  175. def upstreamAssembly2: T[Assembly]

    Build the assembly for upstream dependencies separate from the current classpath

    Build the assembly for upstream dependencies separate from the current classpath

    This should allow much faster assembly creation in the common case where upstream dependencies do not change

    Definition Classes
    JavaModule
  176. def upstreamAssemblyClasspath: T[Agg[api.PathRef]]

    All upstream classfiles and resources necessary to build and executable assembly, but without this module's contribution

    All upstream classfiles and resources necessary to build and executable assembly, but without this module's contribution

    Definition Classes
    JavaModule
  177. def upstreamCompileOutput: T[Seq[CompilationResult]]

    The upstream compilation output of all this module's upstream modules

    The upstream compilation output of all this module's upstream modules

    Definition Classes
    JavaModuleSemanticDbJavaModule
  178. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  179. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  180. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  181. def when(cond: Boolean)(args: String*): Seq[String]
    Attributes
    protected
    Definition Classes
    KotlinModule
  182. def zincAuxiliaryClassFileExtensions: T[Seq[String]]

    Files extensions that need to be managed by Zinc together with class files.

    Files extensions that need to be managed by Zinc together with class files. This means, if zinc needs to remove a class file, it will also remove files which match the class file basename and a listed file extension.

    Definition Classes
    JavaModule
  183. def zincIncrementalCompilation: T[Boolean]
    Definition Classes
    JavaModuleSemanticDbJavaModule
  184. def zincReportCachedProblems: T[Boolean]

    If true, we always show problems (errors, warnings, infos) found in all source files, even when they have not changed since the previous incremental compilation.

    If true, we always show problems (errors, warnings, infos) found in all source files, even when they have not changed since the previous incremental compilation. When false, we report only problems for files which we re-compiled.

    Definition Classes
    JavaModuleSemanticDbJavaModule
  185. def zincWorker: ModuleRef[ZincWorkerModule]
  186. def zincWorkerRef: ModuleRef[ZincWorkerModule]
    Attributes
    protected
    Definition Classes
    KotlinModule

Deprecated Value Members

  1. def bspJvmBuildTarget: JvmBuildTarget
    Definition Classes
    JavaModule
    Annotations
    @internal() @deprecated
    Deprecated

    (Since version 0.12.3) Use bspJvmBuildTargetTask instead

  2. def doRunBackground(taskDest: Path, runClasspath: Seq[api.PathRef], zwBackgroundWrapperClasspath: Agg[api.PathRef], forkArgs: Seq[String], forkEnv: Map[String, String], finalMainClass: String, forkWorkingDir: Path, runUseArgsFile: Boolean, backgroundOutputs: Option[(ProcessOutput, ProcessOutput)])(args: String*): (Ctx) => Result[Unit]
    Attributes
    protected
    Definition Classes
    JavaModuleRunModule
    Annotations
    @deprecated
    Deprecated

    (Since version Mill 0.12.0) Binary compat shim, use .runner().run(..., background=true)

  3. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  4. def resolveCoursierDependency: define.Task[(scalalib.Dep) => Dependency]
    Definition Classes
    CoursierModule
    Annotations
    @deprecated
    Deprecated

    (Since version Mill after 0.11.0-M0) To be replaced by bindDependency

  5. def resolveDeps(deps: define.Task[Agg[BoundDep]], sources: Boolean): define.Task[Agg[api.PathRef]]
    Definition Classes
    CoursierModule
    Annotations
    @deprecated
    Deprecated

    (Since version Mill after 0.12.0-RC3) Use the override accepting artifactTypes

  6. def upstreamAssembly: T[api.PathRef]

    Build the assembly for upstream dependencies separate from the current classpath

    Build the assembly for upstream dependencies separate from the current classpath

    This should allow much faster assembly creation in the common case where upstream dependencies do not change

    This implementation is deprecated because of it's return value. Please use upstreamAssembly2 instead.

    Definition Classes
    JavaModule
    Annotations
    @deprecated
    Deprecated

    (Since version Mill 0.11.8) Use upstreamAssembly2 instead, which has a richer return value

Inherited from KotlinModule

Inherited from AndroidAppModule

Inherited from JavaModule

Inherited from SemanticDbJavaModule

Inherited from OfflineSupportModule

Inherited from CoursierModule

Inherited from GenIdeaModule

Inherited from RunModule

Inherited from define.TaskModule

Inherited from JavaModuleBase

Inherited from BspModule

Inherited from WithZincWorker

Inherited from define.Module

Inherited from BaseClass

Inherited from Cacher

Inherited from Cacher

Inherited from AnyRef

Inherited from Any

Ungrouped