@Mojo(name="process",
defaultPhase=GENERATE_RESOURCES,
threadSafe=true)
public class ProcessRemoteResourcesMojo
extends org.apache.maven.plugin.AbstractMojo
Pull down resourceBundles containing remote resources and process the resources contained inside. When that is done the resources are injected into the current (in-memory) Maven project, making them available to the process-resources phase.
Resources that end in ".vm" are treated as velocity templates. For those, the ".vm" is stripped off for the final artifact name and it's fed through velocity to have properties expanded, conditions processed, etc...
Resources that don't end in ".vm" are copied "as is".Modifier and Type | Field and Description |
---|---|
protected File |
basedir
Used for calculation of execution-root for
runOnlyAtExecutionRoot . |
protected org.apache.maven.ProjectDependenciesResolver |
dependencyResolver |
protected String |
encoding
The character encoding scheme to be applied when filtering resources.
|
protected String |
excludeArtifactIds
Comma separated list of Artifact names too exclude.
|
protected String |
excludeGroupIds
Comma separated list of GroupId Names to exclude.
|
protected String |
excludeScope
Scope to exclude.
|
protected boolean |
excludeTransitive
If we should exclude transitive dependencies
|
protected List<String> |
filterDelimiters
In cases where a local resource overrides one from a remote resource bundle, that resource
should be filtered if the resource set specifies it.
|
protected String |
includeArtifactIds
Comma separated list of Artifact names to include.
|
protected String |
includeGroupIds
Comma separated list of GroupIds to include.
|
protected boolean |
includeProjectProperties
Whether to include properties defined in the project when filtering resources.
|
protected String |
includeScope
Scope to include.
|
protected boolean |
runOnlyAtExecutionRoot
If true, only generate resources in the directory of the root project in a multimodule build.
|
protected boolean |
useDefaultFilterDelimiters |
Constructor and Description |
---|
ProcessRemoteResourcesMojo() |
Modifier and Type | Method and Description |
---|---|
protected void |
configureVelocityContext(org.apache.velocity.VelocityContext context) |
protected boolean |
copyResourceIfExists(File file,
String relFileName,
org.apache.velocity.VelocityContext context) |
void |
execute() |
protected List<org.apache.maven.project.MavenProject> |
getProjects() |
protected Map<org.apache.maven.model.Organization,List<org.apache.maven.project.MavenProject>> |
getProjectsSortedByOrganization(List<org.apache.maven.project.MavenProject> projects) |
protected org.apache.maven.model.Model |
getSupplement(org.codehaus.plexus.util.xml.Xpp3Dom supplementModelXml) |
protected org.apache.maven.model.Model |
mergeModels(org.apache.maven.model.Model parent,
org.apache.maven.model.Model child) |
protected void |
processResourceBundles(RemoteResourcesClassLoader classLoader,
org.apache.velocity.VelocityContext context) |
protected void |
validate() |
@Parameter protected List<String> filterDelimiters
In cases where a local resource overrides one from a remote resource bundle, that resource should be filtered if the resource set specifies it. In those cases, this parameter defines the list of delimiters for filterable expressions. These delimiters are specified in the form 'beginToken*endToken'. If no '*' is given, the delimiter is assumed to be the same for start and end.
So, the default filtering delimiters might be specified as:
<delimiters> <delimiter>${*}</delimiter> <delimiter>@</delimiter> </delimiters>Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can).
@Parameter(defaultValue="true") protected boolean useDefaultFilterDelimiters
@Parameter(defaultValue="false") protected boolean runOnlyAtExecutionRoot
@Parameter(defaultValue="${basedir}", readonly=true, required=true) protected File basedir
runOnlyAtExecutionRoot
.@Parameter(property="encoding", defaultValue="${project.build.sourceEncoding}") protected String encoding
@Parameter(defaultValue="false") protected boolean includeProjectProperties
@Parameter(property="includeScope", defaultValue="runtime") protected String includeScope
@Parameter(property="excludeScope", defaultValue="") protected String excludeScope
@Parameter(property="excludeArtifactIds", defaultValue="") protected String excludeArtifactIds
@Parameter(property="includeArtifactIds", defaultValue="") protected String includeArtifactIds
@Parameter(property="excludeGroupIds", defaultValue="") protected String excludeGroupIds
@Parameter(property="includeGroupIds", defaultValue="") protected String includeGroupIds
@Parameter(property="excludeTransitive", defaultValue="false") protected boolean excludeTransitive
@Component(hint="default") protected org.apache.maven.ProjectDependenciesResolver dependencyResolver
public void execute() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected List<org.apache.maven.project.MavenProject> getProjects() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected Map<org.apache.maven.model.Organization,List<org.apache.maven.project.MavenProject>> getProjectsSortedByOrganization(List<org.apache.maven.project.MavenProject> projects) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected boolean copyResourceIfExists(File file, String relFileName, org.apache.velocity.VelocityContext context) throws IOException, org.apache.maven.plugin.MojoExecutionException
IOException
org.apache.maven.plugin.MojoExecutionException
protected void validate() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected void configureVelocityContext(org.apache.velocity.VelocityContext context) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected void processResourceBundles(RemoteResourcesClassLoader classLoader, org.apache.velocity.VelocityContext context) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected org.apache.maven.model.Model getSupplement(org.codehaus.plexus.util.xml.Xpp3Dom supplementModelXml) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected org.apache.maven.model.Model mergeModels(org.apache.maven.model.Model parent, org.apache.maven.model.Model child)
Copyright © 2002–2017 The Apache Software Foundation. All rights reserved.