Package scala_maven
Class ScalaMojoSupport
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- scala_maven.ScalaMojoSupport
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
ScalaConsoleMojo,ScalaHelpMojo,ScalaRunMojo,ScalaScriptMojo,ScalaSourceMojoSupport
public abstract class ScalaMojoSupport extends org.apache.maven.plugin.AbstractMojo
-
-
Field Summary
Fields Modifier and Type Field Description private VersionNumber_scalaVersionNprotected java.lang.StringaddJavacArgsAlternative method for specifying javac arguments (when using incremental compiler).protected java.lang.StringaddScalacArgsAdditional parameter to use to call the main class.protected java.lang.String[]argscompiler additional argumentsprivate org.apache.maven.artifact.resolver.ArtifactCollectorartifactCollectorThe artifact collector to use.private org.apache.maven.artifact.factory.ArtifactFactoryartifactFactoryThe artifact factory to use.private org.apache.maven.artifact.metadata.ArtifactMetadataSourceartifactMetadataSourceThe artifact metadata source to use.protected booleancheckMultipleScalaVersionsCheck if every dependencies use the same version of scala-library or scala.compat.version.protected BasicArtifact[]compilerPluginsCompiler plugin dependencies to use when compiling.protected BasicArtifact[]dependenciesAdditional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex :private org.apache.maven.shared.dependency.graph.DependencyGraphBuilderdependencyTreeBuilderThe dependency tree builder to use.booleandisplayCmdDisplay the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd')protected java.lang.StringencodingThe -encoding argument for the Java compiler.protected org.apache.maven.repository.RepositorySystemfactoryUsed to look up Artifacts in the remote repository.protected booleanfailOnMultipleScalaVersionsDetermines if a detection of multiple scala versions in the dependencies will cause the build to fail.protected booleanforceUseArgFileForce the use of an external ArgFile to run any forked process.protected booleanforkForks the execution of scalac into a separate process.protected static java.lang.StringJARConstantStringfor "jar".protected java.lang.String[]javacArgsArguments for javac (when using incremental compiler).protected booleanjavacGenerateDebugSymbolsWhether to instruct javac to generate debug symbols (when using incremental compiler)protected java.lang.String[]jvmArgsJvm Arguments.protected org.apache.maven.artifact.repository.ArtifactRepositorylocalRepoLocation of the local repository.private org.apache.maven.artifact.repository.ArtifactRepositorylocalRepositoryThe artifact repository to use.protected org.apache.maven.project.MavenProjectBuildermavenProjectBuilderArtifact factory, needed to download source jars.private java.util.List<org.apache.maven.artifact.Artifact>pluginArtifactsList of artifacts to run pluginprotected static java.lang.StringPOMConstantStringfor "pom".protected org.apache.maven.project.MavenProjectprojectThe maven project.protected java.util.List<org.apache.maven.project.MavenProject>reactorProjectsContains the full list of projects in the reactor.protected java.util.List<org.apache.maven.artifact.repository.ArtifactRepository>remoteReposList of Remote Repositories used by the resolverprotected org.apache.maven.artifact.resolver.ArtifactResolverresolverUsed to look up Artifacts in the remote repository.static java.lang.StringSCALA_COMPILER_ARTIFACTIDstatic java.lang.StringSCALA_LIBRARY_ARTIFACTIDprotected java.lang.StringscalaClassNameclassName (FQN) of the scala tool to provide asprivate java.lang.StringscalaCompatVersionScala 's version to use to check binary compatibility (like suffix in artifactId of dependency).private java.lang.StringscalaHomePath to Scala installation to use instead of the artifact (define as dependencies).private java.lang.StringscalaOrganizationOrganization/group ID of the Scala used in the project.private java.lang.StringscalaVersionScala 's version to use.protected org.apache.maven.execution.MavenSessionsessionThe Maven Session Objectprotected java.lang.StringsourceThe -source argument for the Java compiler (when using incremental compiler).protected java.lang.StringtargetThe -target argument for the Java compiler (when using incremental compiler).protected org.apache.maven.toolchain.ToolchainManagertoolchainManagerThe toolchain manager to use.protected booleanuseCanonicalPathShould use CanonicalPath to normalize path (true => getCanonicalPath, false => getAbsolutePath)
-
Constructor Summary
Constructors Constructor Description ScalaMojoSupport()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddCompilerPluginOptions(JavaMainCaller scalac)Adds appropriate compiler plugins to the scalac command.protected voidaddCompilerToClasspath(java.util.Set<java.lang.String> classpath)protected voidaddLibraryToClasspath(java.util.Set<java.lang.String> classpath)voidaddToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String classifier, java.util.Set<java.lang.String> classpath, boolean addDependencies)added for classifier support.voidaddToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.util.Set<java.lang.String> classpath)voidaddToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.util.Set<java.lang.String> classpath, boolean addDependencies)protected voidaddToClasspath(org.apache.maven.artifact.Artifact artifact, java.util.Set<java.lang.String> classpath, boolean addDependencies)private voidcheckArtifactForScalaVersion(VersionNumber requiredScalaVersion, org.apache.maven.shared.dependency.graph.DependencyNode rootNode)Visits a node (and all dependencies) to see if it contains duplicate scala versionsprivate voidcheckCorrectVersionsOfScalaLibrary(java.lang.String scalaDefVersion)this method checks to see if there are multiple versions of the scala libraryprotected voidcheckScalaVersion()private org.apache.maven.artifact.resolver.ArtifactResolutionRequestcreateArtifactResolutionRequest(org.apache.maven.artifact.Artifact artifact, org.apache.maven.artifact.resolver.filter.ArtifactFilter collectionFilter, org.apache.maven.artifact.resolver.filter.ArtifactFilter resolutionFilter, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories, org.apache.maven.artifact.repository.ArtifactRepository localRepository)Create aArtifactResolutionRequest.private org.apache.maven.shared.dependency.graph.filter.DependencyNodeFiltercreateScalaDistroDependencyFilter()protected abstract voiddoExecute()voidexecute()protected VersionNumberfindScalaVersion()private java.lang.StringfindScalaVersionFromDependencies()protected java.lang.StringfindVersionFromDependencies(java.lang.String groupId, java.lang.String artifactId)protected java.lang.StringfindVersionFromPluginArtifacts(java.lang.String groupId, java.lang.String artifactId)protected java.util.Set<org.apache.maven.artifact.Artifact>getAllDependencies(java.lang.String groupId, java.lang.String artifactId, java.lang.String version)protected java.io.FilegetArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version)protected java.io.FilegetArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String classifier)protected java.util.List<java.io.File>getCompilerDependencies()protected java.io.FilegetCompilerJar()protected java.util.List<java.lang.String>getCompilerPluginOptions()private java.util.Set<java.lang.String>getCompilerPlugins()Retrieves a list of paths to scala compiler plugins.protected java.util.List<org.apache.maven.model.Dependency>getDependencies()protected JavaMainCallergetEmptyScalaCommand(java.lang.String mainClass)Get aJavaMainCallerused invoke a Java process.protected JavaMainCallergetEmptyScalaCommand(java.lang.String mainClass, boolean forkOverride)Get aJavaMainCallerused invoke a Java process.protected java.util.List<java.lang.String>getJavacOptions()protected java.io.FilegetLibraryJar()protected java.io.FilegetPluginArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version)protected java.io.FilegetPluginArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String classifier)protected JavaMainCallergetScalaCommand()protected JavaMainCallergetScalaCommand(boolean forkOverride, java.lang.String mainClass)Get aJavaMainCallerused invoke a Java process.protected java.util.List<java.lang.String>getScalaOptions()java.lang.StringgetScalaOrganization()private java.lang.StringgetToolClasspath()protected booleanisJavaSupportedByCompiler()protected java.util.Set<org.apache.maven.artifact.Artifact>resolveArtifactDependencies(org.apache.maven.artifact.Artifact artifact)This method resolves all transitive dependencies of an artifact.protected java.util.Set<org.apache.maven.artifact.Artifact>resolveDependencyArtifacts(org.apache.maven.artifact.Artifact artifact, org.apache.maven.artifact.resolver.filter.ArtifactFilter collectionFilter, org.apache.maven.artifact.resolver.filter.ArtifactFilter resolutionFilter)This method resolves all transitive dependencies of an artifact.protected java.util.Set<org.apache.maven.artifact.Artifact>resolveDependencyArtifacts(org.apache.maven.artifact.Artifact artifact, org.apache.maven.artifact.resolver.filter.ArtifactFilter collectionFilter, org.apache.maven.artifact.resolver.filter.ArtifactFilter resolutionFilter, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories, org.apache.maven.artifact.repository.ArtifactRepository localRepository)This method resolves all transitive dependencies of an artifact.protected org.apache.maven.artifact.ArtifactscalaCompilerArtifact(java.lang.String scalaVersion)Constructs anArtifactfor Scala Compiler.
-
-
-
Field Detail
-
SCALA_LIBRARY_ARTIFACTID
public static final java.lang.String SCALA_LIBRARY_ARTIFACTID
- See Also:
- Constant Field Values
-
SCALA_COMPILER_ARTIFACTID
public static final java.lang.String SCALA_COMPILER_ARTIFACTID
- See Also:
- Constant Field Values
-
POM
protected static final java.lang.String POM
ConstantStringfor "pom". Used to specify the Maven POM artifact type.- See Also:
- Constant Field Values
-
JAR
protected static final java.lang.String JAR
ConstantStringfor "jar". Used to specify the Maven JAR artifact type.- See Also:
- Constant Field Values
-
project
@Parameter(property="project", required=true, readonly=true) protected org.apache.maven.project.MavenProject projectThe maven project.
-
session
@Parameter(property="session", required=true, readonly=true) protected org.apache.maven.execution.MavenSession sessionThe Maven Session Object
-
reactorProjects
@Parameter(defaultValue="${reactorProjects}", readonly=true, required=true) protected java.util.List<org.apache.maven.project.MavenProject> reactorProjectsContains the full list of projects in the reactor.
-
factory
@Component protected org.apache.maven.repository.RepositorySystem factory
Used to look up Artifacts in the remote repository.
-
resolver
@Component protected org.apache.maven.artifact.resolver.ArtifactResolver resolver
Used to look up Artifacts in the remote repository.
-
localRepo
@Parameter(property="localRepository", readonly=true, required=true) protected org.apache.maven.artifact.repository.ArtifactRepository localRepoLocation of the local repository.
-
remoteRepos
@Parameter(property="project.remoteArtifactRepositories", readonly=true, required=true) protected java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteReposList of Remote Repositories used by the resolver
-
dependencies
@Parameter protected BasicArtifact[] dependencies
Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex :<dependencies> <dependency> <groupId>org.scala-tools</groupId> <artifactId>scala-compiler-addon</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
-
compilerPlugins
@Parameter protected BasicArtifact[] compilerPlugins
Compiler plugin dependencies to use when compiling. ex:<compilerPlugins> <compilerPlugin> <groupId>my.scala.plugin</groupId> <artifactId>amazingPlugin</artifactId> <version>1.0-SNAPSHOT</version> </compilerPlugin> </compilerPlugins>
-
jvmArgs
@Parameter protected java.lang.String[] jvmArgs
Jvm Arguments.
-
args
@Parameter protected java.lang.String[] args
compiler additional arguments
-
addScalacArgs
@Parameter(property="addScalacArgs") protected java.lang.String addScalacArgs
Additional parameter to use to call the main class. Use this parameter only from command line ("-DaddScalacArgs=arg1|arg2|arg3|..."), not from pom.xml. To define compiler arguments in pom.xml see the "args" parameter.
-
scalaClassName
@Parameter(required=true, property="maven.scala.className", defaultValue="scala.tools.nsc.Main") protected java.lang.String scalaClassNameclassName (FQN) of the scala tool to provide as
-
scalaVersion
@Parameter(property="scala.version") private java.lang.String scalaVersion
Scala 's version to use. (property 'maven.scala.version' replaced by 'scala.version')
-
scalaOrganization
@Parameter(property="scala.organization", defaultValue="org.scala-lang") private java.lang.String scalaOrganizationOrganization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases.
-
scalaCompatVersion
@Parameter(property="scala.compat.version") private java.lang.String scalaCompatVersion
Scala 's version to use to check binary compatibility (like suffix in artifactId of dependency). If it is defined then it is used to checkMultipleScalaVersions
-
scalaHome
@Parameter(property="scala.home") private java.lang.String scalaHome
Path to Scala installation to use instead of the artifact (define as dependencies).
-
javacArgs
@Parameter(property="javacArgs") protected java.lang.String[] javacArgs
Arguments for javac (when using incremental compiler).
-
javacGenerateDebugSymbols
@Parameter(property="javacGenerateDebugSymbols", defaultValue="true") protected boolean javacGenerateDebugSymbolsWhether to instruct javac to generate debug symbols (when using incremental compiler)
-
addJavacArgs
@Parameter(property="addJavacArgs") protected java.lang.String addJavacArgs
Alternative method for specifying javac arguments (when using incremental compiler). Can be used from command line with -DaddJavacArgs=arg1|arg2|arg3|... rather than in pom.xml.
-
source
@Parameter(property="maven.compiler.source") protected java.lang.String source
The -source argument for the Java compiler (when using incremental compiler).
-
target
@Parameter(property="maven.compiler.target") protected java.lang.String target
The -target argument for the Java compiler (when using incremental compiler).
-
encoding
@Parameter(property="project.build.sourceEncoding", defaultValue="UTF-8") protected java.lang.String encodingThe -encoding argument for the Java compiler. (when using incremental compiler).
-
displayCmd
@Parameter(property="displayCmd", defaultValue="false", required=true) public boolean displayCmdDisplay the command line called ? (property 'maven.scala.displayCmd' replaced by 'displayCmd')
-
fork
@Parameter(defaultValue="true") protected boolean fork
Forks the execution of scalac into a separate process.
-
forceUseArgFile
@Parameter(defaultValue="false") protected boolean forceUseArgFile
Force the use of an external ArgFile to run any forked process.
-
checkMultipleScalaVersions
@Parameter(property="maven.scala.checkConsistency", defaultValue="true") protected boolean checkMultipleScalaVersionsCheck if every dependencies use the same version of scala-library or scala.compat.version.
-
failOnMultipleScalaVersions
@Parameter(defaultValue="false") protected boolean failOnMultipleScalaVersions
Determines if a detection of multiple scala versions in the dependencies will cause the build to fail.
-
useCanonicalPath
@Parameter(property="maven.scala.useCanonicalPath", defaultValue="true") protected boolean useCanonicalPathShould use CanonicalPath to normalize path (true => getCanonicalPath, false => getAbsolutePath)
-
mavenProjectBuilder
@Component protected org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
Artifact factory, needed to download source jars.
-
localRepository
@Parameter(property="localRepository", required=true, readonly=true) private org.apache.maven.artifact.repository.ArtifactRepository localRepositoryThe artifact repository to use.
-
artifactFactory
@Component private org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
The artifact factory to use.
-
artifactMetadataSource
@Component private org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource
The artifact metadata source to use.
-
artifactCollector
@Component private org.apache.maven.artifact.resolver.ArtifactCollector artifactCollector
The artifact collector to use.
-
dependencyTreeBuilder
@Component private org.apache.maven.shared.dependency.graph.DependencyGraphBuilder dependencyTreeBuilder
The dependency tree builder to use.
-
toolchainManager
@Component protected org.apache.maven.toolchain.ToolchainManager toolchainManager
The toolchain manager to use.
-
pluginArtifacts
@Parameter(defaultValue="${plugin.artifacts}") private java.util.List<org.apache.maven.artifact.Artifact> pluginArtifactsList of artifacts to run plugin
-
_scalaVersionN
private VersionNumber _scalaVersionN
-
-
Method Detail
-
getScalaOrganization
public java.lang.String getScalaOrganization()
-
scalaCompilerArtifact
protected final org.apache.maven.artifact.Artifact scalaCompilerArtifact(java.lang.String scalaVersion)
Constructs anArtifactfor Scala Compiler.- Parameters:
scalaVersion- the version of the Scala Compiler/Library we are using for this execution.- Returns:
- a
Artifactfor the Scala Compiler.
-
resolveArtifactDependencies
protected final java.util.Set<org.apache.maven.artifact.Artifact> resolveArtifactDependencies(org.apache.maven.artifact.Artifact artifact) throws java.lang.ExceptionThis method resolves all transitive dependencies of an artifact.- Parameters:
artifact- theArtifactused to retrieve dependencies.- Returns:
- resolved
Setof dependencies. - Throws:
java.lang.Exception
-
resolveDependencyArtifacts
protected final java.util.Set<org.apache.maven.artifact.Artifact> resolveDependencyArtifacts(org.apache.maven.artifact.Artifact artifact, org.apache.maven.artifact.resolver.filter.ArtifactFilter collectionFilter, org.apache.maven.artifact.resolver.filter.ArtifactFilter resolutionFilter) throws java.lang.ExceptionThis method resolves all transitive dependencies of an artifact.- Parameters:
artifact- theArtifactused to retrieve dependencies.collectionFilter- anArtifactFilterused to determine which members of the dependency graph should be included in resolution.collectionFilter- anArtifactFilterused to determine which members dependency graph should be downloaded.- Returns:
- resolved
Setof dependencies. - Throws:
java.lang.Exception
-
resolveDependencyArtifacts
protected final java.util.Set<org.apache.maven.artifact.Artifact> resolveDependencyArtifacts(org.apache.maven.artifact.Artifact artifact, org.apache.maven.artifact.resolver.filter.ArtifactFilter collectionFilter, org.apache.maven.artifact.resolver.filter.ArtifactFilter resolutionFilter, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories, org.apache.maven.artifact.repository.ArtifactRepository localRepository) throws java.lang.ExceptionThis method resolves all transitive dependencies of an artifact.- Parameters:
artifact- theArtifactused to retrieve dependencies.collectionFilter- anArtifactFilterused to determine which members of the dependency graph should be included in resolution.collectionFilter- anArtifactFilterused to determine which members dependency graph should be downloaded.remoteRepositories- aListof remoteArtifactRespositoryvalues to used for dependency resolution of the providedArtifact.localRepository- the localArtifactRepositoryto use for dependency resolution of the givenArtifact.- Returns:
- resolved
Setof dependencies. - Throws:
java.lang.Exception
-
createArtifactResolutionRequest
private org.apache.maven.artifact.resolver.ArtifactResolutionRequest createArtifactResolutionRequest(org.apache.maven.artifact.Artifact artifact, org.apache.maven.artifact.resolver.filter.ArtifactFilter collectionFilter, org.apache.maven.artifact.resolver.filter.ArtifactFilter resolutionFilter, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories, org.apache.maven.artifact.repository.ArtifactRepository localRepository)Create aArtifactResolutionRequest.- Parameters:
artifact- theArtifactused to retrieve dependencies.collectionFilter- anArtifactFilterused to determine which members of the dependency graph should be included in resolution.collectionFilter- anArtifactFilterused to determine which members dependency graph should be downloaded.remoteRepositories- aListof remoteArtifactRespositoryvalues to used for dependency resolution of the providedArtifact.localRepository- the localArtifactRepositoryto use for dependency resolution of the givenArtifact.- Returns:
- an
ArtifactResolutionRequest, typically used for dependency resolution requests against anArtifactResolver.
-
addToClasspath
public void addToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.util.Set<java.lang.String> classpath) throws java.lang.Exception- Throws:
java.lang.Exception
-
addToClasspath
public void addToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.util.Set<java.lang.String> classpath, boolean addDependencies) throws java.lang.Exception- Throws:
java.lang.Exception
-
addToClasspath
public void addToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String classifier, java.util.Set<java.lang.String> classpath, boolean addDependencies) throws java.lang.Exceptionadded for classifier support.- Throws:
java.lang.Exception
-
addToClasspath
protected void addToClasspath(org.apache.maven.artifact.Artifact artifact, java.util.Set<java.lang.String> classpath, boolean addDependencies) throws java.lang.Exception- Throws:
java.lang.Exception
-
addCompilerToClasspath
protected void addCompilerToClasspath(java.util.Set<java.lang.String> classpath) throws java.lang.Exception- Throws:
java.lang.Exception
-
addLibraryToClasspath
protected void addLibraryToClasspath(java.util.Set<java.lang.String> classpath) throws java.lang.Exception- Throws:
java.lang.Exception
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionExceptionorg.apache.maven.plugin.MojoFailureException
-
getDependencies
protected java.util.List<org.apache.maven.model.Dependency> getDependencies()
-
findScalaVersion
protected VersionNumber findScalaVersion() throws java.lang.Exception
- Throws:
java.lang.Exception
-
findScalaVersionFromDependencies
private java.lang.String findScalaVersionFromDependencies() throws java.lang.Exception- Throws:
java.lang.Exception
-
findVersionFromDependencies
protected java.lang.String findVersionFromDependencies(java.lang.String groupId, java.lang.String artifactId) throws java.lang.Exception- Throws:
java.lang.Exception
-
checkScalaVersion
protected void checkScalaVersion() throws java.lang.Exception- Throws:
java.lang.Exception
-
checkCorrectVersionsOfScalaLibrary
private void checkCorrectVersionsOfScalaLibrary(java.lang.String scalaDefVersion) throws java.lang.Exceptionthis method checks to see if there are multiple versions of the scala library- Throws:
java.lang.Exception
-
checkArtifactForScalaVersion
private void checkArtifactForScalaVersion(VersionNumber requiredScalaVersion, org.apache.maven.shared.dependency.graph.DependencyNode rootNode) throws java.lang.Exception
Visits a node (and all dependencies) to see if it contains duplicate scala versions- Throws:
java.lang.Exception
-
createScalaDistroDependencyFilter
private org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter createScalaDistroDependencyFilter()
- Returns:
- A filter to only extract artifacts deployed from scala distributions
-
doExecute
protected abstract void doExecute() throws java.lang.Exception- Throws:
java.lang.Exception
-
getScalaCommand
protected JavaMainCaller getScalaCommand() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getScalaCommand
protected final JavaMainCaller getScalaCommand(boolean forkOverride, java.lang.String mainClass) throws java.lang.Exception
Get aJavaMainCallerused invoke a Java process. Typically this will be one of the Scala utilities (Compiler, ScalaDoc, REPL, etc.).This method does some setup on the
JavaMainCallerwhich is not done by merely invokingnewon one of the implementations. Specifically, it adds any Scala compiler plugin options, JVM options, and Scalac options defined on the plugin.- Parameters:
forkOverride- override the setting forfork. Currently this should only be set if you are invoking the REPL.mainClass- the JVM main class to invoke.- Returns:
- a
JavaMainCallerto use to invoke the given command. - Throws:
java.lang.Exception
-
getEmptyScalaCommand
protected final JavaMainCaller getEmptyScalaCommand(java.lang.String mainClass) throws java.lang.Exception
Get aJavaMainCallerused invoke a Java process. Typically this will be one of the Scala utilities (Compiler, ScalaDoc, REPL, etc.).- Parameters:
mainClass- the JVM main class to invoke.- Returns:
- a
JavaMainCallerto use to invoke the given command. - Throws:
java.lang.Exception
-
getEmptyScalaCommand
protected JavaMainCaller getEmptyScalaCommand(java.lang.String mainClass, boolean forkOverride) throws java.lang.Exception
Get aJavaMainCallerused invoke a Java process. Typically this will be one of the Scala utilities (Compiler, ScalaDoc, REPL, etc.).- Parameters:
mainClass- the JVM main class to invoke.forkOverride- override the setting forfork. Currently this should only be set if you are invoking the REPL.- Returns:
- a
JavaMainCallerto use to invoke the given command. - Throws:
java.lang.Exception
-
getToolClasspath
private java.lang.String getToolClasspath() throws java.lang.Exception- Throws:
java.lang.Exception
-
getScalaOptions
protected java.util.List<java.lang.String> getScalaOptions() throws java.lang.Exception- Throws:
java.lang.Exception
-
getJavacOptions
protected java.util.List<java.lang.String> getJavacOptions() throws java.lang.Exception- Throws:
java.lang.Exception
-
getLibraryJar
protected java.io.File getLibraryJar() throws java.lang.Exception- Throws:
java.lang.Exception
-
getCompilerJar
protected java.io.File getCompilerJar() throws java.lang.Exception- Throws:
java.lang.Exception
-
getCompilerDependencies
protected java.util.List<java.io.File> getCompilerDependencies() throws java.lang.Exception- Throws:
java.lang.Exception
-
getArtifactJar
protected java.io.File getArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version) throws java.lang.Exception- Throws:
java.lang.Exception
-
getArtifactJar
protected java.io.File getArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String classifier) throws java.lang.Exception- Throws:
java.lang.Exception
-
getAllDependencies
protected java.util.Set<org.apache.maven.artifact.Artifact> getAllDependencies(java.lang.String groupId, java.lang.String artifactId, java.lang.String version) throws java.lang.Exception- Throws:
java.lang.Exception
-
isJavaSupportedByCompiler
protected boolean isJavaSupportedByCompiler() throws java.lang.Exception- Returns:
- This returns whether or not the scala version can support having java sent into the compiler
- Throws:
java.lang.Exception
-
addCompilerPluginOptions
protected void addCompilerPluginOptions(JavaMainCaller scalac) throws java.lang.Exception
Adds appropriate compiler plugins to the scalac command.- Parameters:
scalac-- Throws:
java.lang.Exception
-
getCompilerPluginOptions
protected java.util.List<java.lang.String> getCompilerPluginOptions() throws java.lang.Exception- Throws:
java.lang.Exception
-
getCompilerPlugins
private java.util.Set<java.lang.String> getCompilerPlugins() throws java.lang.ExceptionRetrieves a list of paths to scala compiler plugins.- Returns:
- The list of plugins
- Throws:
java.lang.Exception
-
findVersionFromPluginArtifacts
protected java.lang.String findVersionFromPluginArtifacts(java.lang.String groupId, java.lang.String artifactId) throws java.lang.Exception- Throws:
java.lang.Exception
-
getPluginArtifactJar
protected java.io.File getPluginArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version) throws java.lang.Exception- Throws:
java.lang.Exception
-
getPluginArtifactJar
protected java.io.File getPluginArtifactJar(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String classifier) throws java.lang.Exception- Throws:
java.lang.Exception
-
-