Package scala_maven
Class ScalaContinuousCompileMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- scala_maven.ScalaMojoSupport
-
- scala_maven.ScalaSourceMojoSupport
-
- scala_maven.ScalaCompilerSupport
-
- scala_maven.ScalaContinuousCompileMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
ScalaContinuousTestMojo
@Mojo(name="cc", requiresDependencyResolution=TEST) public class ScalaContinuousCompileMojo extends ScalaCompilerSupport
Compile the main and test scala source directory in continuous (infinite loop). !! This is an util goal for commandline usage only (Do not use or call it in a pom) !!!
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ScalaContinuousCompileMojo.StopServer
-
Field Summary
Fields Modifier and Type Field Description protected java.io.File
analysisCacheFile
Analysis cache file for incremental recompilation.protected java.io.File
mainOutputDir
The output directory for compilation.protected java.io.File
mainSourceDir
The main directory containing scala source for compilationprotected boolean
once
Define if cc should run once or in infinite loop.protected java.io.File
testAnalysisCacheFile
Analysis cache file for incremental recompilation.protected java.io.File
testOutputDir
The directory to place test compilation output inprotected java.io.File
testSourceDir
The directory containing test source for compilationprotected boolean
useFsc
Define if fsc should be used, else scalac is used.protected boolean
verbose
Turns verbose output on.-
Fields inherited from class scala_maven.ScalaCompilerSupport
ALL, INCREMENTAL, MODIFIED_ONLY, recompileMode
-
Fields inherited from class scala_maven.ScalaSourceMojoSupport
excludes, includes, sendJavaToScalac
-
Fields inherited from class scala_maven.ScalaMojoSupport
addJavacArgs, addScalacArgs, args, checkMultipleScalaVersions, compilerPlugins, dependencies, displayCmd, encoding, factory, failOnMultipleScalaVersions, forceUseArgFile, fork, JAR, javacArgs, javacGenerateDebugSymbols, jvmArgs, localRepo, mavenProjectBuilder, POM, project, reactorProjects, remoteRepos, resolver, SCALA_COMPILER_ARTIFACTID, SCALA_LIBRARY_ARTIFACTID, scalaClassName, session, source, target, toolchainManager, useCanonicalPath
-
-
Constructor Summary
Constructors Constructor Description ScalaContinuousCompileMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doExecute()
protected java.io.File
getAnalysisCacheFile()
Analysis cache file for incremental recompilation.protected java.util.List<java.lang.String>
getClasspathElements()
protected java.io.File
getOutputDir()
protected JavaMainCaller
getScalaCommand()
protected java.util.List<java.io.File>
getSourceDirectories()
Retrieves the list of *all* root source directories.protected void
postCompileActions()
Allows derived Mojos to do things after a compile has succesfully completed such as run test casesprivate void
startNewCompileServer()
-
Methods inherited from class scala_maven.ScalaCompilerSupport
clearCompileErrors, compile, defaultAnalysisCacheFile, defaultAnalysisDirectory, defaultTestAnalysisCacheFile, getAnalysisCacheMap, getFilesToCompile, hasCompileErrors, incrementalCompile
-
Methods inherited from class scala_maven.ScalaSourceMojoSupport
findSourceWithFilters, findSourceWithFilters, initFilters, normalize
-
Methods inherited from class scala_maven.ScalaMojoSupport
addCompilerPluginOptions, addCompilerToClasspath, addLibraryToClasspath, addToClasspath, addToClasspath, addToClasspath, addToClasspath, checkScalaVersion, execute, findScalaVersion, findVersionFromDependencies, findVersionFromPluginArtifacts, getAllDependencies, getArtifactJar, getArtifactJar, getCompilerDependencies, getCompilerJar, getCompilerPluginOptions, getDependencies, getEmptyScalaCommand, getEmptyScalaCommand, getJavacOptions, getLibraryJar, getPluginArtifactJar, getPluginArtifactJar, getScalaCommand, getScalaOptions, getScalaOrganization, isJavaSupportedByCompiler, resolveArtifactDependencies, resolveDependencyArtifacts, resolveDependencyArtifacts, scalaCompilerArtifact
-
-
-
-
Field Detail
-
mainOutputDir
@Parameter(property="project.build.outputDirectory") protected java.io.File mainOutputDir
The output directory for compilation.
-
mainSourceDir
@Parameter(defaultValue="${project.build.sourceDirectory}/../scala") protected java.io.File mainSourceDir
The main directory containing scala source for compilation
-
testOutputDir
@Parameter(defaultValue="${project.build.testOutputDirectory}") protected java.io.File testOutputDir
The directory to place test compilation output in
-
testSourceDir
@Parameter(defaultValue="${project.build.testSourceDirectory}/../scala") protected java.io.File testSourceDir
The directory containing test source for compilation
-
analysisCacheFile
@Parameter(property="analysisCacheFile", defaultValue="${project.build.directory}/analysis/compile") protected java.io.File analysisCacheFile
Analysis cache file for incremental recompilation.
-
testAnalysisCacheFile
@Parameter(property="testAnalysisCacheFile", defaultValue="${project.build.directory}/analysis/test-compile") protected java.io.File testAnalysisCacheFile
Analysis cache file for incremental recompilation.
-
useFsc
@Parameter(property="fsc", defaultValue="true") protected boolean useFsc
Define if fsc should be used, else scalac is used. fsc => scala.tools.nsc.CompileClient, scalac => scala.tools.nsc.Main.
-
once
@Parameter(property="once", defaultValue="false") protected boolean once
Define if cc should run once or in infinite loop. (useful for test or working with editor)
-
verbose
@Parameter(property="verbose", defaultValue="false") protected boolean verbose
Turns verbose output on.
-
-
Method Detail
-
getClasspathElements
protected java.util.List<java.lang.String> getClasspathElements() throws java.lang.Exception
- Specified by:
getClasspathElements
in classScalaCompilerSupport
- Throws:
java.lang.Exception
-
getOutputDir
protected java.io.File getOutputDir() throws java.lang.Exception
- Specified by:
getOutputDir
in classScalaCompilerSupport
- Throws:
java.lang.Exception
-
getSourceDirectories
protected java.util.List<java.io.File> getSourceDirectories() throws java.lang.Exception
Description copied from class:ScalaSourceMojoSupport
Retrieves the list of *all* root source directories. We need to pass all .java and .scala files into the scala compiler- Specified by:
getSourceDirectories
in classScalaSourceMojoSupport
- Throws:
java.lang.Exception
-
getAnalysisCacheFile
protected java.io.File getAnalysisCacheFile() throws java.lang.Exception
Description copied from class:ScalaCompilerSupport
Analysis cache file for incremental recompilation.- Specified by:
getAnalysisCacheFile
in classScalaCompilerSupport
- Throws:
java.lang.Exception
-
getScalaCommand
protected JavaMainCaller getScalaCommand() throws java.lang.Exception
- Overrides:
getScalaCommand
in classScalaMojoSupport
- Throws:
java.lang.Exception
-
doExecute
protected final void doExecute() throws java.lang.Exception
- Overrides:
doExecute
in classScalaCompilerSupport
- Throws:
java.lang.Exception
-
postCompileActions
protected void postCompileActions() throws java.lang.Exception
Allows derived Mojos to do things after a compile has succesfully completed such as run test cases- Throws:
java.lang.Exception
-
startNewCompileServer
private void startNewCompileServer() throws java.lang.Exception
- Throws:
java.lang.Exception
-
-