trait JavaModule extends Module with TaskModule
Core configuration required to compile a single Scala compilation target
- Self Type
- JavaModule
- Alphabetic
- By Inheritance
- JavaModule
- TaskModule
- Module
- Cacher
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait Tests extends Module with TestModule
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[eval.PathRef]]
All individual source files fed into the compiler
-
def
allSources: Target[Seq[eval.PathRef]]
The folders containing all source files fed into the compiler
- def artifactId: T[String]
- def artifactName: T[String]
-
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
compile: T[CompilationResult]
Compiles the current module to generate compiled classfiles/bytecode
-
def
compileClasspath: Target[util.Loose.Agg[eval.PathRef]]
All classfiles and resources from upstream modules and dependencies necessary to compile this module
-
def
compileIvyDeps: Target[util.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
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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def finalMainClass: T[String]
- def finalMainClassOpt: T[Either[String, String]]
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
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[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def intellijModulePath: Path
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
ivyDeps: Target[util.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): Command[Unit]
-
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
launcher: Target[eval.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 mapDependencies: Task[(Dependency) ⇒ Dependency]
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
platformSuffix: Target[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
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
recursiveModuleDeps: Seq[JavaModule]
The direct and indirect dependencies of this module
- def repositories: Seq[Repository]
- def resolveCoursierDependency: Task[(Dep) ⇒ Dependency]
- def resolveDeps(deps: Task[util.Loose.Agg[Dep]], sources: Boolean = false): Task[Agg[eval.PathRef]]
- def resolvePublishDependency: Task[(Dep) ⇒ Dependency]
-
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[util.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
skipIdea: Boolean
Skip Idea project file generation.
-
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
transitiveIvyDeps: T[util.Loose.Agg[Dep]]
The transitive ivy dependencies of this module and all it's upstream modules
-
def
transitiveLocalClasspath: T[util.Loose.Agg[eval.PathRef]]
The transitive version of
localClasspath
-
def
transitiveModuleDeps: Seq[JavaModule]
Like
recursiveModuleDeps
but also include the module itself -
def
unmanagedClasspath: Target[util.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[util.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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def zincWorker: ZincWorkerModule
-
object
millInternal extends Internal
- Definition Classes
- Module
- Annotations
- @Scaladoc()