trait JavaModule extends Module with TaskModule with GenIdeaModule with CoursierModule with OfflineSupportModule
Core configuration required to compile a single Scala compilation target
- Self Type
- JavaModule
- Alphabetic
- By Inheritance
- JavaModule
- OfflineSupportModule
- CoursierModule
- GenIdeaModule
- TaskModule
- Module
- Cacher
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait JavaModuleTests extends Module with TestModule
- trait Tests extends Module with JavaModuleTests
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def allSourceFiles: Target[Seq[api.PathRef]]
All individual source files fed into the Java compiler
- def allSources: Target[Seq[eval.PathRef]]
The folders containing all source files fed into the compiler
- 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
- 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.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assembly: Target[eval.PathRef]
An executable uber-jar/assembly containing all the resources and compiled classfiles from this module and all it's upstream modules and dependencies
- def assemblyRules: Seq[Rule]
- def cachedTarget[T](t: => T)(implicit c: Enclosing): T
- Attributes
- protected[this]
- Definition Classes
- Cacher
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def compile: T[CompilationResult]
Compiles the current module to generate compiled classfiles/bytecode
- def compileClasspath: Target[api.Loose.Agg[eval.PathRef]]
All classfiles and resources from upstream modules and dependencies necessary to compile this module
- def compileIvyDeps: Target[api.Loose.Agg[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 likescala-reflect
that doesn't need to be present at runtime - def compileModuleDeps: Seq[JavaModule]
The compile-only direct dependencies of this module.
- def defaultCommandName(): String
- Definition Classes
- JavaModule → TaskModule
- def docJar: Target[eval.PathRef]
The documentation jar, containing all the Javadoc/Scaladoc HTML files, for publishing to Maven Central
- def docSources: Sources
Extra directories to be processed by the API documentation tool.
Extra directories to be processed by the API documentation tool.
Typically includes static files such as html and markdown, but depends on the doc tool that is actually used.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalMainClass: T[String]
- def finalMainClassOpt: T[Either[String, String]]
- def forkArgs: Target[Seq[String]]
Any command-line parameters you want to pass to the forked JVM under
run
,test
orrepl
- def forkEnv: Target[Map[String, String]]
Any environment variables you want to pass to the forked JVM under
run
,test
orrepl
- def forkWorkingDir: Target[Path]
- def generatedSources: Target[Seq[eval.PathRef]]
Folders containing source files that are generated rather than hand-written; these files can be generated in this target itself, or can refer to files generated from other targets
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def ideaCompileOutput: T[PathRef]
- Definition Classes
- GenIdeaModule
- def ideaConfigFiles(ideaConfigVersion: Int): Command[Seq[IdeaConfigFile]]
Contribute components to idea config files.
Contribute components to idea config files.
- Definition Classes
- GenIdeaModule
- def ideaJavaModuleFacets(ideaConfigVersion: Int): Command[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
- def intellijModulePath: Path
- Definition Classes
- GenIdeaModule
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def ivyDeps: Target[api.Loose.Agg[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
- def ivyDepsTree(inverse: Boolean = false, withCompile: Boolean = false, withRuntime: Boolean = false): Command[Unit]
Command to print the transitive dependency tree to STDOUT.
Command to print the transitive dependency tree to STDOUT.
- inverse
Invert the tree representation, so that the root is on the bottom.
- withCompile
Include the compile-time only dependencies (
compileIvyDeps
, provided scope) into the tree.- withRuntime
Include the runtime dependencies (
runIvyDeps
, runtime scope) into the tree.
- def jar: Target[eval.PathRef]
A jar containing only this module's resources and compiled classfiles, without those from upstream modules and dependencies
- def javacOptions: Target[Seq[String]]
Options to pass to the java compiler
- 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. - def launcher: 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
- def localClasspath: Target[Seq[eval.PathRef]]
The output classfiles/resources from this module, excluding upstream modules and third-party dependencies
- 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 - def manifest: T[JarManifest]
Creates a manifest representation which can be modifed or replaced The default implementation just adds the
Manifest-Version
,Main-Class
andCreated-By
attributes - def mapDependencies: Task[(Dependency) => Dependency]
Map dependencies before resolving them.
Map dependencies before resolving them. Override this to customize the set of dependencies.
- Definition Classes
- CoursierModule
- implicit def millModuleBasePath: BasePath
- Definition Classes
- Module
- lazy val millModuleDirectChildren: Seq[define.Module]
- Definition Classes
- Module
- implicit def millModuleExternal: External
- Definition Classes
- Module
- implicit def millModuleSegments: Segments
- Definition Classes
- Module
- implicit def millModuleShared: Foreign
- Definition Classes
- Module
- def millOuterCtx: Ctx
- Definition Classes
- Module
- def millSourcePath: Path
- Definition Classes
- Module
- def moduleDeps: Seq[JavaModule]
The direct dependencies of this module
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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 - def prepareOffline(): Command[Unit]
Prepare the module for working offline.
Prepare the module for working offline. This should typically fetch (missing) resources like ivy dependencies.
- Definition Classes
- JavaModule → OfflineSupportModule
- 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 - def printDepsTree(inverse: Boolean, additionalDeps: Task[api.Loose.Agg[Dep]]): Task[Unit]
Task that print the transitive dependency tree to STDOUT.
Task that print the transitive dependency tree to STDOUT.
- inverse
Invert the tree representation, so that the root is on the bottom.
- additionalDeps
Additional dependency to be included into the tree.
- Attributes
- protected
- def recursiveModuleDeps: Seq[JavaModule]
The direct and indirect dependencies of this module
- def repositoriesTask: Task[Seq[Repository]]
The repositories used to resolved dependencies with resolveDeps().
The repositories used to resolved dependencies with resolveDeps().
- Definition Classes
- CoursierModule
- def resolveCoursierDependency: Task[(Dep) => Dependency]
- Definition Classes
- CoursierModule
- def resolveDeps(deps: Task[Agg[Dep]], sources: Boolean = false): Task[Agg[eval.PathRef]]
Task that resolves the given dependencies using the repositories defined with repositories.
Task that resolves the given dependencies using the repositories defined with repositories.
- deps
The dependencies to resolve.
- sources
If
true
, resolve source dependencies instead of binary dependencies (JARs).- returns
The PathRefs to the resolved files.
- Definition Classes
- CoursierModule
- def resolvePublishDependency: Task[(Dep) => Dependency]
- def resolvedIvyDeps: T[api.Loose.Agg[eval.PathRef]]
- def resolvedRunIvyDeps: T[api.Loose.Agg[eval.PathRef]]
- def resources: Sources
The folders where the resource files for this module live
- def run(args: String*): Command[Unit]
Runs this module's code in a subprocess and waits for it to finish
- def runBackground(args: String*): 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 - def runClasspath: Target[Seq[eval.PathRef]]
All classfiles and resources from upstream modules and dependencies necessary to run this module's code after compilation
- def runIvyDeps: Target[api.Loose.Agg[Dep]]
Same as
ivyDeps
, but only present at runtime.Same as
ivyDeps
, but 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 - def runLocal(args: String*): 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. - def runMain(mainClass: String, args: String*): Command[Unit]
Same as
run
, but lets you specify a main class to run - def runMainBackground(mainClass: String, args: String*): Command[Unit]
Same as
runBackground
, but lets you specify a main class to run - def runMainLocal(mainClass: String, args: String*): Command[Unit]
Same as
runLocal
, but lets you specify a main class to run - def showModuleDeps(recursive: Boolean = false): Command[Unit]
Show the module dependencies.
Show the module dependencies.
- recursive
If
true
include all recursive module dependencies, else only show direct dependencies.
- def skipIdea: Boolean
Skip Idea project file generation.
Skip Idea project file generation.
- Definition Classes
- GenIdeaModule
- def sourceJar: Target[eval.PathRef]
The source jar, containing only source code for publishing to Maven Central
- def sources: Sources
The folders where the source files for this module live
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Module → AnyRef → Any
- def transitiveCompileIvyDeps: T[api.Loose.Agg[Dep]]
The compile-only transitive ivy dependencies of this module and all it's upstream compile-only modules.
- def transitiveIvyDeps: T[api.Loose.Agg[Dep]]
The transitive ivy dependencies of this module and all it's upstream modules
- def transitiveLocalClasspath: T[api.Loose.Agg[eval.PathRef]]
The transitive version of
localClasspath
- def transitiveModuleDeps: Seq[JavaModule]
Like
recursiveModuleDeps
but also include the module itself - def unmanagedClasspath: Target[api.Loose.Agg[eval.PathRef]]
Additional jars, classfiles or resources to add to the classpath directly from disk rather than being downloaded from Maven Central or other package repositories
- def upstreamAssembly: Target[eval.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
- def upstreamAssemblyClasspath: Target[api.Loose.Agg[eval.PathRef]]
All upstream classfiles and resources necessary to build and executable assembly, but without this module's contribution
- def upstreamCompileOutput: Target[Seq[CompilationResult]]
The upstream compilation output of all this module's upstream modules
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def zincWorker: ZincWorkerModule
- object millInternal extends Internal
- Definition Classes
- Module
- Annotations
- @Scaladoc()
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def repositories: Seq[Repository]
The repositories used to resolved dependencies with resolveDeps().
The repositories used to resolved dependencies with resolveDeps().
- Definition Classes
- CoursierModule
- Annotations
- @deprecated
- Deprecated
(Since version after mill 0.8.0) Use repositoriesTask instead