@Mojo(name="generate-poms",
requiresProject=false)
public class GeneratePomsMojo
extends org.apache.maven.plugin.AbstractMojo
Modifier and Type | Class and Description |
---|---|
private static class |
GeneratePomsMojo.DirectoryFilter |
Modifier and Type | Field and Description |
---|---|
private boolean |
aggregator
If true (the default), additional aggregator poma.xml pom file will be generated for update
site projects.
|
private java.io.File |
baseDir
The base directory which will be traversed recursively when searching for projects.
|
private BundleReader |
bundleReader |
private DependencyComputer |
dependencyComputer |
private java.lang.String |
executionEnvironment |
private java.lang.String |
extraDirs
Additional directories to be traversed recursively when searching for projects.
|
private java.lang.String |
groupId
Maven groupId to be used in the generated pom.xml files.
|
private static java.lang.String |
METADATA_DIR
Metadata directory that should be skipped when searching for projects
|
(package private) org.apache.maven.model.io.xpp3.MavenXpp3Reader |
modelReader |
(package private) org.apache.maven.model.io.xpp3.MavenXpp3Writer |
modelWriter |
private DefaultDependencyArtifacts |
platform |
private EquinoxResolver |
resolver |
private java.lang.String |
rootProjects
Comma separated list of root project folders.
|
private java.io.File |
templatesDir
Location of directory with template pom.xml file.
|
private java.lang.String |
testSuffix
Suffix used to determine test bundles to add to update site aggregator pom.
|
private java.lang.String |
testSuite
Bundle-SymbolicName of the test suite, a special bundle that knows how to locate and execute
all relevant tests.
|
private static java.lang.String |
THIS_MODULE
reference to real pom.xml in aggregator poma.xml
|
private java.lang.String |
tychoVersion
Tycho version to be used in the generated pom.xml files.
|
private java.util.Map<java.io.File,org.apache.maven.model.Model> |
updateSites |
private java.lang.String |
version
Maven version to be used in the generated pom.xml files (applies to parent pom and
eclipse-repository/eclipse-update-site only).
|
Constructor and Description |
---|
GeneratePomsMojo() |
Modifier and Type | Method and Description |
---|---|
private void |
addFeature(java.util.Set<java.io.File> result,
java.lang.String name) |
private void |
addPlugin(java.util.Set<java.io.File> result,
java.lang.String name) |
private void |
addPluginImpl(java.util.Set<java.io.File> result,
java.io.File basedir) |
private void |
addPluginImpl(java.util.Set<java.io.File> result,
java.lang.String name,
boolean required) |
private void |
addTychoExtension(org.apache.maven.model.Model model) |
void |
execute() |
private void |
findAndAddCandidates(java.util.List<java.io.File> candidateDirs,
java.io.File basedir) |
private void |
generateAggregatorPoms(java.io.File testSuiteLocation) |
private void |
generateEclipseRepositoryPom(org.apache.maven.model.Model parent,
java.io.File basedir) |
private void |
generateFeaturePom(org.apache.maven.model.Model parent,
java.io.File basedir) |
private void |
generatePluginPom(org.apache.maven.model.Model parent,
java.io.File basedir) |
private boolean |
generatePom(org.apache.maven.model.Model parent,
java.io.File basedir) |
private void |
generateUpdateSitePom(org.apache.maven.model.Model parent,
java.io.File basedir) |
protected ArtifactDescriptor |
getArtifact(java.io.File basedir) |
private java.util.List<java.io.File> |
getBaseDirs() |
private java.util.Set<java.io.File> |
getFeatureFeaturesAndPlugins(java.io.File basedir) |
private java.io.File |
getModuleDir(java.lang.String name) |
private java.lang.String |
getModuleName(java.io.File basedir,
java.io.File dir) |
private java.lang.String |
getRelativePath(java.io.File basedir,
java.io.File dir) |
private java.util.List<java.io.File> |
getRootProjects() |
private java.util.Set<java.io.File> |
getSiteFeaturesAndPlugins(java.io.File basedir) |
private boolean |
isEclipseRepositoryProject(java.io.File dir) |
private boolean |
isFeatureProject(java.io.File dir) |
private boolean |
isModule(java.io.File basedir,
java.io.File dir) |
private boolean |
isModuleDir(java.io.File dir) |
private boolean |
isPluginProject(java.io.File dir) |
private boolean |
isProjectDir(java.io.File dir) |
private boolean |
isUpdateSiteProject(java.io.File dir) |
private org.apache.maven.model.Model |
readPomTemplate(java.lang.String name) |
private void |
reorderModules(org.apache.maven.model.Model parent,
java.io.File basedir,
java.io.File testSuiteLocation) |
private void |
setParentOrAddTychoExtension(java.io.File basedir,
org.apache.maven.model.Model model,
org.apache.maven.model.Model parentModel) |
private java.util.List<java.io.File> |
toFileList(java.lang.String str) |
private static java.lang.String |
toMavenVersion(java.lang.String osgiVersion) |
private java.lang.String |
toString(java.io.File file) |
private void |
warnNoBundleDependencies(java.lang.Exception e) |
private void |
writePom(java.io.File dir,
org.apache.maven.model.Model model) |
private void |
writePom(java.io.File dir,
java.lang.String filename,
org.apache.maven.model.Model model) |
private static final java.lang.String METADATA_DIR
private static final java.lang.String THIS_MODULE
@Parameter(property="plugin.version", readonly=true) private java.lang.String tychoVersion
@Parameter(property="baseDir", defaultValue="${basedir}", required=true) private java.io.File baseDir
@Parameter(property="extraDirs") private java.lang.String extraDirs
@Parameter(property="groupId") private java.lang.String groupId
@Parameter(property="version", defaultValue="0.0.1-SNAPSHOT") private java.lang.String version
@Parameter(property="aggregator", defaultValue="true") private boolean aggregator
@Parameter(property="testSuffix", defaultValue=".tests") private java.lang.String testSuffix
@Parameter(property="testSuite") private java.lang.String testSuite
@Parameter(property="templatesDir", defaultValue="${basedir}/pom-templates") private java.io.File templatesDir
@Parameter(property="rootProjects") private java.lang.String rootProjects
@Parameter(defaultValue="J2SE-1.5") private java.lang.String executionEnvironment
@Component(role=BundleReader.class) private BundleReader bundleReader
@Component(role=EquinoxResolver.class) private EquinoxResolver resolver
@Component(role=DependencyComputer.class) private DependencyComputer dependencyComputer
org.apache.maven.model.io.xpp3.MavenXpp3Reader modelReader
org.apache.maven.model.io.xpp3.MavenXpp3Writer modelWriter
private java.util.Map<java.io.File,org.apache.maven.model.Model> updateSites
private DefaultDependencyArtifacts platform
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
private void findAndAddCandidates(java.util.List<java.io.File> candidateDirs, java.io.File basedir)
private java.util.List<java.io.File> getRootProjects()
private boolean isProjectDir(java.io.File dir)
private void reorderModules(org.apache.maven.model.Model parent, java.io.File basedir, java.io.File testSuiteLocation) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void addTychoExtension(org.apache.maven.model.Model model)
private java.lang.String toString(java.io.File file)
private java.util.List<java.io.File> getBaseDirs()
private java.util.List<java.io.File> toFileList(java.lang.String str)
private java.lang.String getModuleName(java.io.File basedir, java.io.File dir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private java.lang.String getRelativePath(java.io.File basedir, java.io.File dir)
private void generateAggregatorPoms(java.io.File testSuiteLocation) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private boolean generatePom(org.apache.maven.model.Model parent, java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private boolean isUpdateSiteProject(java.io.File dir)
private boolean isEclipseRepositoryProject(java.io.File dir)
private boolean isFeatureProject(java.io.File dir)
private boolean isPluginProject(java.io.File dir)
private void generateUpdateSitePom(org.apache.maven.model.Model parent, java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void generateEclipseRepositoryPom(org.apache.maven.model.Model parent, java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private java.util.Set<java.io.File> getSiteFeaturesAndPlugins(java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void addFeature(java.util.Set<java.io.File> result, java.lang.String name) throws java.io.IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException, org.apache.maven.plugin.MojoExecutionException
java.io.IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
org.apache.maven.plugin.MojoExecutionException
private java.io.File getModuleDir(java.lang.String name) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private java.util.Set<java.io.File> getFeatureFeaturesAndPlugins(java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void addPlugin(java.util.Set<java.io.File> result, java.lang.String name) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void addPluginImpl(java.util.Set<java.io.File> result, java.lang.String name, boolean required) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void addPluginImpl(java.util.Set<java.io.File> result, java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void warnNoBundleDependencies(java.lang.Exception e)
private boolean isModuleDir(java.io.File dir)
private boolean isModule(java.io.File basedir, java.io.File dir)
private void setParentOrAddTychoExtension(java.io.File basedir, org.apache.maven.model.Model model, org.apache.maven.model.Model parentModel)
private void generateFeaturePom(org.apache.maven.model.Model parent, java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void generatePluginPom(org.apache.maven.model.Model parent, java.io.File basedir) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
protected ArtifactDescriptor getArtifact(java.io.File basedir)
private static java.lang.String toMavenVersion(java.lang.String osgiVersion)
private void writePom(java.io.File dir, org.apache.maven.model.Model model) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private void writePom(java.io.File dir, java.lang.String filename, org.apache.maven.model.Model model) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException
private org.apache.maven.model.Model readPomTemplate(java.lang.String name) throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionException