List of usage examples for org.apache.maven.project MavenProject getGroupId
public String getGroupId()
From source file:org.ops4j.pax.construct.clone.CloneMojo.java
License:Apache License
/** * Create a new archetype for a bundle project, with potentially customized POM and Bnd settings * //from w w w . ja va2 s . c o m * @param project Maven project * @param namespace Java namespace, may be null * @param customizedPom customized Maven project model, may be null * @return clause identifying the archetype fragment * @throws MojoExecutionException */ private String createBundleArchetype(MavenProject project, String namespace, Pom customizedPom) throws MojoExecutionException { File baseDir = project.getBasedir(); getLog().info("Cloning bundle project " + project.getArtifactId()); ArchetypeFragment fragment = new ArchetypeFragment(getFragmentDir(), namespace, false); fragment.addPom(baseDir, customizedPom); if (null != namespace) { fragment.addSources(baseDir, project.getBuild().getSourceDirectory(), false); fragment.addSources(baseDir, project.getBuild().getTestSourceDirectory(), true); } for (Iterator i = project.getTestResources().iterator(); i.hasNext();) { Resource r = (Resource) i.next(); fragment.addResources(baseDir, r.getDirectory(), r.getIncludes(), r.getExcludes(), true); } List excludes = new ArrayList(); excludes.addAll(fragment.getIncludedFiles()); excludes.add("target/"); excludes.add("runner/"); excludes.add("pom.xml"); // consider everything else in the bundle directory to be a resource fragment.addResources(baseDir, baseDir.getPath(), null, excludes, false); // archetype must use different id String groupId = project.getGroupId(); String artifactId = project.getArtifactId() + "-archetype"; String version = project.getVersion(); // archive customized bundle sources, POM and Bnd instructions String fragmentId = groupId + ':' + artifactId + ':' + version; fragment.createArchive(fragmentId.replace(':', '_'), newJarArchiver()); return fragmentId; }
From source file:org.ops4j.pax.construct.clone.CloneMojo.java
License:Apache License
/** * Archive all the selected resources under a single Maven archetype * /*ww w . j a v a 2 s .c o m*/ * @param project containing Maven project * @return clause identifying the archetype fragment * @throws MojoExecutionException */ private String createProjectArchetype(MavenProject project) throws MojoExecutionException { File baseDir = project.getBasedir(); getLog().info("Cloning primary project " + project.getArtifactId()); ArchetypeFragment fragment = new ArchetypeFragment(getFragmentDir(), null, unify); fragment.addPom(baseDir, null); List excludes = new ArrayList(); excludes.addAll(getExcludedPaths(project)); excludes.add("**/target/"); excludes.add("runner/"); excludes.add("pom.xml"); // consider everything else that's not been handled to be a resource fragment.addResources(baseDir, baseDir.getPath(), null, excludes, false); // archetype must use different id String groupId = project.getGroupId(); String artifactId = project.getArtifactId() + "-archetype"; String version = project.getVersion(); // archive all the customized non-bundle POMs and projects String fragmentId = groupId + ':' + artifactId + ':' + version; fragment.createArchive(fragmentId.replace(':', '_'), newJarArchiver()); return fragmentId; }
From source file:org.ops4j.pax.construct.clone.CloneMojo.java
License:Apache License
/** * @param project Maven bundle project//from ww w .ja v a 2 s .c o m * @param bundleName expected symbolic name of the bundle (null if imported) */ private void registerBundleName(MavenProject project, String bundleName) { m_bundleNameMap.put(project.getGroupId() + ':' + project.getArtifactId(), bundleName); }
From source file:org.ops4j.pax.construct.lifecycle.EclipseOSGiMojo.java
License:Apache License
private boolean isReactorDependency(IdeDependency dependency) { // check current reactor... if (reactorProjects != null) { for (Iterator i = reactorProjects.iterator(); i.hasNext();) { MavenProject reactorProject = (MavenProject) i.next(); if (reactorProject.getGroupId().equals(dependency.getGroupId()) && reactorProject.getArtifactId().equals(dependency.getArtifactId())) { return true; }//w w w .ja v a2 s. c o m } } return false; }
From source file:org.ops4j.pax.construct.lifecycle.EclipseOSGiMojo.java
License:Apache License
/** * Provide better naming for Pax-Construct generated OSGi bundles * //from ww w.j a v a 2 s. c om * @param project current Maven project * @param addVersion when true, add the project version to the name * @return an Eclipse friendly name for the bundle */ private static String getEclipseProjectName(MavenProject project, boolean addVersion) { String projectName = project.getProperties().getProperty("bundle.symbolicName"); if (null == projectName) { // fall back to standard "groupId.artifactId" but try to eliminate duplicate segments projectName = PomUtils.getCompoundId(project.getGroupId(), project.getArtifactId()); } if (addVersion) { // check for wrapper version, which reflects the version of the wrapped contents String projectVersion = project.getProperties().getProperty("wrapped.version"); if (null == projectVersion) { projectVersion = project.getVersion(); } return projectName + " [" + projectVersion + ']'; } return projectName; }
From source file:org.ops4j.pax.construct.lifecycle.ProvisionMojo.java
License:Apache License
/** * Create new POM (based on the root POM) which lists the deployed bundles as dependencies * //from ww w . j a v a 2s. c o m * @param bundles list of bundles to be deployed * @return deployment project * @throws MojoExecutionException */ private MavenProject createDeploymentProject(List bundles) throws MojoExecutionException { MavenProject deployProject; if (null == m_project.getFile()) { deployProject = new MavenProject(); deployProject.setGroupId("examples"); deployProject.setArtifactId("pax-provision"); deployProject.setVersion("1.0-SNAPSHOT"); } else { deployProject = new MavenProject(m_project); } String internalId = PomUtils.getCompoundId(deployProject.getGroupId(), deployProject.getArtifactId()); deployProject.setGroupId(internalId + ".build"); deployProject.setArtifactId("deployment"); // remove unnecessary cruft deployProject.setPackaging("pom"); deployProject.getModel().setModules(null); deployProject.getModel().setDependencies(bundles); deployProject.getModel().setPluginRepositories(null); deployProject.getModel().setReporting(null); deployProject.setBuild(null); File deployFile = new File(deployProject.getBasedir(), "runner/deploy-pom.xml"); deployFile.getParentFile().mkdirs(); deployProject.setFile(deployFile); try { Writer writer = StreamFactory.newXmlWriter(deployFile); deployProject.writeModel(writer); IOUtil.close(writer); } catch (IOException e) { throw new MojoExecutionException("Unable to write deployment POM " + deployFile); } return deployProject; }
From source file:org.ops4j.pax.construct.lifecycle.ProvisionMojo.java
License:Apache License
/** * Install deployment POM in the local Maven repository * /*from w ww. j av a2 s .c om*/ * @param project deployment project * @throws MojoExecutionException */ private void installDeploymentPom(MavenProject project) throws MojoExecutionException { String groupId = project.getGroupId(); String artifactId = project.getArtifactId(); String version = project.getVersion(); Artifact pomArtifact = m_factory.createProjectArtifact(groupId, artifactId, version); try { m_installer.install(project.getFile(), pomArtifact, m_localRepo); } catch (ArtifactInstallationException e) { throw new MojoExecutionException("Unable to install deployment POM " + pomArtifact); } }
From source file:org.ops4j.pax.construct.lifecycle.ProvisionMojo.java
License:Apache License
/** * Deploy bundles using the 'classic' Pax-Runner * /* ww w . j a va 2 s . co m*/ * @param mainClass main Pax-Runner class * @param project deployment project * @param repositories comma separated list of Maven repositories * @throws MojoExecutionException */ private void deployRunnerClassic(Class mainClass, MavenProject project, String repositories) throws MojoExecutionException { String workDir = project.getBasedir() + "/runner"; String cachedPomName = project.getArtifactId() + '_' + project.getVersion() + ".pom"; File cachedPomFile = new File(workDir + "/lib/" + cachedPomName); // Force reload of pom cachedPomFile.delete(); if (PomUtils.isEmpty(framework)) { framework = "felix"; } String[] deployAppCmds = { "--dir=" + workDir, "--no-md5", "--platform=" + framework, "--profile=default", "--repository=" + repositories, "--localRepository=" + m_localRepo.getBasedir(), project.getGroupId(), project.getArtifactId(), project.getVersion() }; invokePaxRunner(mainClass, deployAppCmds); }
From source file:org.ops4j.pax.construct.project.ImportBundleMojo.java
License:Apache License
/** * Add bundle as a dependency to the provisioning POM and the local bundle POM, as appropriate * /* w w w . j a v a2 s .c o m*/ * @param project bundle project */ private void importBundle(MavenProject project) { Dependency dependency = new Dependency(); dependency.setGroupId(project.getGroupId()); dependency.setArtifactId(project.getArtifactId()); dependency.setVersion(project.getVersion()); dependency.setOptional(!deploy); // only add non-local bundles to the provisioning POM if (m_provisionPom != null && project.getFile() == null) { getLog().info("Importing " + project.getName() + " to " + m_provisionPom); m_provisionPom.addDependency(dependency, overwrite); } if (m_localBundlePom != null) { // use provided scope when adding to bundle pom dependency.setScope(Artifact.SCOPE_PROVIDED); getLog().info("Adding " + project.getName() + " as dependency to " + m_localBundlePom); m_localBundlePom.addDependency(dependency, overwrite); } }
From source file:org.ops4j.pax.construct.util.XppPom.java
License:Apache License
/** * {@inheritDoc}//from w w w .j a va2 s.c om */ public void setParent(MavenProject project, String relativePath, boolean overwrite) throws ExistingElementException { if (m_pom.getChild("parent") != null && !overwrite) { throw new ExistingElementException("parent"); } Xpp3DomMap parent = new Xpp3DomMap("parent"); parent.putValue("relativePath", relativePath); parent.putValue("groupId", project.getGroupId()); parent.putValue("artifactId", project.getArtifactId()); parent.putValue("version", project.getVersion()); Xpp3Dom newPom = new Xpp3Dom("project"); newPom.addChild(parent); m_pom = Xpp3DomHelper.mergeXpp3Dom(newPom, m_pom); }