Packages

t

mill.javalib.android

AndroidAppModule

trait AndroidAppModule extends BaseClass with scalalib.JavaModule

Trait for building Android applications using the Mill build tool.

This trait defines all the necessary steps for building an Android app from Java sources, integrating both Android-specific tasks and generic Java tasks by extending the AndroidSdkModule (for Android SDK interactions) and JavaModule (for standard Java tasks).

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

Android Studio Documentation

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

Type Members

  1. 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.

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 allLocalMainClasses: T[Seq[String]]
    Definition Classes
    RunModule
  7. def allSourceFiles: T[Seq[api.PathRef]]

    All individual source files fed into the Java compiler

    All individual source files fed into the Java compiler

    Definition Classes
    JavaModuleSemanticDbJavaModule
  8. 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
  9. def androidAaptOptions: T[Seq[String]]

    Specifies AAPT options for Android resource compilation.

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. def androidManifest: Task[api.PathRef]

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

  16. def androidReleaseKeyAlias: T[String]

    Default alias in the keystore ("androidKey").

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

  17. 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.

  18. def androidReleaseKeyPass: T[String]

    Default password for the key ("android").

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

  19. 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.

  20. def androidReleaseKeyStorePass: T[String]

    Default password for the keystore ("android").

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

  21. 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

  22. 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.

  23. 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.

  24. 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).

  25. 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
  26. 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
  27. def artifactNameParts: T[Seq[String]]
    Definition Classes
    JavaModule
  28. 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
  29. def artifactTypes: T[Set[Type]]

    Adds "aar" to the handled artifact types.

    Adds "aar" to the handled artifact types.

    Definition Classes
    AndroidAppModuleJavaModule
  30. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  31. 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
  32. 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
  33. def bindDependency: define.Task[(scalalib.Dep) => scalalib.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
  34. def bspBuildTarget: BspBuildTarget

    Use to fill most fields of BuildTarget.

    Use to fill most fields of BuildTarget.

    Definition Classes
    JavaModuleSemanticDbJavaModuleBspModule
    Annotations
    @internal()
  35. 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()
  36. 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()
  37. 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()
  38. def bspCompiledClassesAndSemanticDbFiles: T[UnresolvedPath]
    Definition Classes
    SemanticDbJavaModule
  39. def bspDisplayName: String
    Definition Classes
    BspModule
  40. def bspDisplayName0: String
    Definition Classes
    BspModule
  41. def bspJvmBuildTargetTask: define.Task[JvmBuildTarget]
    Definition Classes
    JavaModule
    Annotations
    @internal()
  42. 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()
  43. 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
  44. 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()
  45. 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()
  46. def cachedTarget[T](t: => T)(implicit c: Enclosing): T
    Attributes
    protected[this]
    Definition Classes
    Cacher → Cacher
  47. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  48. def compile: T[CompilationResult]

    Compiles the current module to generate compiled classfiles/bytecode.

    Compiles the current module to generate compiled classfiles/bytecode.

    When you override this, you probably also want/need to override bspCompileClassesPath, as that needs to point to the same compilation output path.

    Keep in sync with bspCompileClassesPath

    Definition Classes
    JavaModuleSemanticDbJavaModule
  49. 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
  50. 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
  51. def compileModuleDeps: Seq[scalalib.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
  52. final def compileModuleDepsChecked: Seq[scalalib.JavaModule]

    Same as compileModuleDeps but checked to not contain cycles.

    Same as compileModuleDeps but checked to not contain cycles.

    Definition Classes
    JavaModule
  53. 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
  54. def compiledClassesAndSemanticDbFiles: T[api.PathRef]
    Definition Classes
    SemanticDbJavaModule
  55. 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
  56. 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
  57. def defaultResolver: define.Task[Resolver]
    Definition Classes
    CoursierModule
  58. def docJar: T[api.PathRef]

    The documentation jar, containing all the Javadoc/Scaladoc HTML files, for publishing to Maven Central

    The documentation jar, containing all the Javadoc/Scaladoc HTML files, for publishing to Maven Central

    Definition Classes
    JavaModule
  59. 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
  60. 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

  61. 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

  62. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  63. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  64. def finalMainClass: T[String]
    Definition Classes
    JavaModuleRunModule
  65. def finalMainClassOpt: T[Either[String, String]]
    Definition Classes
    JavaModuleRunModule
  66. 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
  67. 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
  68. def forkWorkingDir: T[Path]
    Definition Classes
    JavaModuleRunModule
  69. 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
  70. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  71. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  72. def ideaCompileOutput: T[PathRef]
    Definition Classes
    GenIdeaModule
  73. def ideaConfigFiles(ideaConfigVersion: Int): define.Task[Seq[IdeaConfigFile]]

    Contribute components to idea config files.

    Contribute components to idea config files.

    Definition Classes
    GenIdeaModule
  74. 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
  75. def intellijModulePath: Path
    Definition Classes
    GenIdeaModule
  76. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  77. 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
  78. 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
  79. 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
  80. def javacOptions: T[Seq[String]]

    Options to pass to the java compiler

    Options to pass to the java compiler

    Definition Classes
    JavaModuleSemanticDbJavaModule
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. def mandatoryIvyDeps: T[Agg[scalalib.Dep]]

    Mandatory ivy dependencies that are typically always required and shouldn't be removed by overriding ivyDeps, e.g.

    Mandatory ivy dependencies that are typically always required and shouldn't be removed by overriding ivyDeps, e.g. the scala-library in the ScalaModule.

    Definition Classes
    JavaModule
  88. 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
  89. 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
  90. 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
  91. implicit def millModuleBasePath: BasePath
    Definition Classes
    Module
  92. def millModuleDirectChildren: Seq[define.Module]
    Definition Classes
    Module
  93. implicit def millModuleExternal: External
    Definition Classes
    Module
  94. implicit def millModuleSegments: Segments
    Definition Classes
    Module
  95. implicit def millModuleShared: Foreign
    Definition Classes
    Module
  96. def millOuterCtx: Ctx
    Definition Classes
    BaseClass
  97. def millSourcePath: Path
    Definition Classes
    Module
  98. def moduleDeps: Seq[scalalib.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

  99. final def moduleDepsChecked: Seq[scalalib.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
  100. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  101. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  102. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  103. 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
  104. def prepareOffline(all: Flag): define.Command[Unit]

    all

    If true fetches also source dependencies

    Definition Classes
    JavaModuleOfflineSupportModule
  105. 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
  106. def printDepsTree(inverse: Boolean, additionalDeps: define.Task[Agg[scalalib.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
  107. def recursiveModuleDeps: Seq[scalalib.JavaModule]

    The direct and indirect dependencies of this module

    The direct and indirect dependencies of this module

    Definition Classes
    JavaModule
  108. def recursiveRunModuleDeps: Seq[scalalib.JavaModule]

    The direct and indirect runtime module dependencies of this module

    The direct and indirect runtime module dependencies of this module

    Definition Classes
    JavaModule
  109. 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
  110. 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
  111. 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
  112. def resolveDeps(deps: define.Task[Agg[scalalib.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
  113. def resolvePublishDependency: define.Task[(scalalib.Dep) => Dependency]
    Definition Classes
    JavaModule
  114. def resolvedIvyDeps: T[Agg[api.PathRef]]

    Resolved dependencies based on transitiveIvyDeps and transitiveCompileIvyDeps.

    Resolved dependencies based on transitiveIvyDeps and transitiveCompileIvyDeps.

    Definition Classes
    JavaModule
  115. def resolvedRunIvyDeps: T[Agg[api.PathRef]]
    Definition Classes
    JavaModule
  116. def resolvedSemanticDbJavaPluginIvyDeps: T[Agg[api.PathRef]]
    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  117. 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
  118. 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
  119. 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
  120. 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
  121. def runBackgroundRestartDelayMillis: T[Int]
    Definition Classes
    RunModule
  122. def runBackgroundTask(mainClass: define.Task[String], args: define.Task[Args] = Task.Anon(Args())): define.Task[Unit]
    Definition Classes
    RunModule
  123. 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
  124. 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
  125. 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
  126. 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
  127. def runLocalTask(mainClass: define.Task[String], args: define.Task[Args] = Task.Anon(Args())): define.Task[Unit]
    Definition Classes
    RunModule
  128. 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
  129. 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
  130. 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
  131. def runModuleDeps: Seq[scalalib.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
  132. final def runModuleDepsChecked: Seq[scalalib.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
  133. 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
  134. def runner: define.Task[Runner]
    Definition Classes
    RunModule
  135. def semanticDbData: T[api.PathRef]
    Definition Classes
    SemanticDbJavaModule
  136. def semanticDbEnablePluginScalacOptions: T[Seq[String]]

    Scalac options to activate the compiler plugins.

    Scalac options to activate the compiler plugins.

    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  137. def semanticDbJavaVersion: T[String]
    Definition Classes
    SemanticDbJavaModule
  138. def semanticDbPluginClasspath: T[Agg[api.PathRef]]
    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  139. def semanticDbPluginIvyDeps: T[Agg[scalalib.Dep]]
    Attributes
    protected
    Definition Classes
    SemanticDbJavaModule
  140. def semanticDbScalaVersion: T[String]
    Definition Classes
    SemanticDbJavaModule
  141. def semanticDbVersion: T[String]
    Definition Classes
    SemanticDbJavaModule
  142. 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
  143. def skipIdea: Boolean

    Skip Idea project file generation.

    Skip Idea project file generation.

    Definition Classes
    GenIdeaModule
  144. 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
  145. 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
  146. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  147. def toString(): String
    Definition Classes
    Module → AnyRef → Any
  148. def transitiveCompileClasspath: T[Agg[api.PathRef]]

    The transitive version of compileClasspath

    The transitive version of compileClasspath

    Definition Classes
    JavaModule
  149. def transitiveCompileIvyDeps: T[Agg[scalalib.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
  150. def transitiveIvyDeps: T[Agg[scalalib.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
  151. def transitiveLocalClasspath: T[Agg[api.PathRef]]

    The transitive version of localClasspath

    The transitive version of localClasspath

    Definition Classes
    JavaModule
  152. def transitiveModuleCompileModuleDeps: Seq[scalalib.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
  153. def transitiveModuleDeps: Seq[scalalib.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
  154. def transitiveModuleRunModuleDeps: Seq[scalalib.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
  155. def transitiveRunIvyDeps: T[Agg[scalalib.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
  156. def transitiveRunModuleDeps: Seq[scalalib.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
  157. 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
  158. def upstreamAssembly2: T[scalalib.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
  159. 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
  160. 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
  161. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  162. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  163. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  164. 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
  165. def zincIncrementalCompilation: T[Boolean]
    Definition Classes
    JavaModuleSemanticDbJavaModule
  166. 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
  167. def zincWorker: ModuleRef[scalalib.ZincWorkerModule]

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[scalalib.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 scalalib.JavaModule

Inherited from SemanticDbJavaModule

Inherited from OfflineSupportModule

Inherited from GenIdeaModule

Inherited from scalalib.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