List of usage examples for org.apache.maven.project MavenProject getModel
public Model getModel()
From source file:fr.fastconnect.factory.tibco.bw.maven.BWLifecycleParticipant.java
License:Apache License
private static File getHawkLibDirectory(MavenProject mavenProject, Logger logger) { File result = null;/*from w w w. j a v a 2s .c o m*/ if (mavenProject == null) { return result; } String hawkLib = mavenProject.getModel().getProperties().getProperty("hawk.lib"); if (hawkLib != null) { result = new File(hawkLib); } if (result != null && result.exists() && result.isDirectory()) { return result; } String tibcoHome = mavenProject.getModel().getProperties().getProperty("tibco.home"); logger.debug("tibcoHome : " + tibcoHome); String hawkVersion = mavenProject.getModel().getProperties().getProperty("tibco.hawk.version"); logger.debug("hawkVersion : " + hawkVersion); hawkLib = tibcoHome + File.separator + "hawk" + File.separator + hawkVersion + File.separator + "lib"; if (hawkLib != null) { result = new File(hawkLib); } if (result != null && result.exists() && result.isDirectory()) { return result; } return null; }
From source file:fr.fastconnect.factory.tibco.bw.maven.BWLifecycleParticipant.java
License:Apache License
private static File getRvLibDirectory(MavenProject mavenProject, Logger logger) { File result = null;//from w w w . ja va 2 s . com if (mavenProject == null) { return result; } String rvLib = mavenProject.getModel().getProperties().getProperty("rv.lib"); if (rvLib != null) { result = new File(rvLib); } if (result != null && result.exists() && result.isDirectory()) { return result; } String tibcoHome = mavenProject.getModel().getProperties().getProperty("tibco.home"); logger.debug("tibcoHome : " + tibcoHome); String rvVersion = mavenProject.getModel().getProperties().getProperty("tibco.rv.version"); logger.debug("rvVersion : " + rvVersion); rvLib = tibcoHome + File.separator + "tibrv" + File.separator + rvVersion + File.separator + "lib"; if (rvLib != null) { result = new File(rvLib); } if (result != null && result.exists() && result.isDirectory()) { return result; } return null; }
From source file:fr.fastconnect.factory.tibco.bw.maven.BWLifecycleParticipant.java
License:Apache License
public static void addTIBCODependenciesToPlugin(MavenProject mavenProject, Logger logger) { File hawkLib = getHawkLibDirectory(mavenProject, logger); File rvLib = getRvLibDirectory(mavenProject, logger); String hawkVersion = mavenProject.getModel().getProperties().getProperty("tibco.hawk.version"); String rvVersion = mavenProject.getModel().getProperties().getProperty("tibco.rv.version"); logger.debug("hawkVersion : " + hawkVersion); logger.debug("rvVersion : " + rvVersion); if (hawkLib != null && hawkLib.exists() && hawkLib.isDirectory()) { File console = new File(hawkLib, "console.jar"); File talon = new File(hawkLib, "talon.jar"); File util = new File(hawkLib, "util.jar"); logger.debug(console.getAbsolutePath()); logger.debug(talon.getAbsolutePath()); logger.debug(util.getAbsolutePath()); logger.debug("looking for plugins"); for (Plugin plugin : mavenProject.getModel().getBuild().getPlugins()) { logger.debug(plugin.getArtifactId()); if ("bw-maven-plugin".equals(plugin.getArtifactId())) { logger.debug("found ! " + plugin.getArtifactId()); Dependency dependency = new Dependency(); dependency.setGroupId("com.tibco.hawk"); dependency.setVersion(hawkVersion); dependency.setScope("system"); dependency.setArtifactId("console"); dependency.setSystemPath(console.getAbsolutePath()); plugin.addDependency(dependency); dependency = new Dependency(); dependency.setGroupId("com.tibco.hawk"); dependency.setVersion(hawkVersion); dependency.setScope("system"); dependency.setArtifactId("talon"); dependency.setSystemPath(talon.getAbsolutePath()); plugin.addDependency(dependency); dependency = new Dependency(); dependency.setGroupId("com.tibco.hawk"); dependency.setVersion(hawkVersion); dependency.setScope("system"); dependency.setArtifactId("util"); dependency.setSystemPath(util.getAbsolutePath()); plugin.addDependency(dependency); logger.debug(plugin.getDependencies().toString()); }/*from w ww . j a va 2 s.com*/ } } logger.debug(mavenProject.getModel().getBuild().getPlugins().toString()); if (rvLib != null && rvLib.exists() && rvLib.isDirectory()) { File tibrv = new File(rvLib, "tibrvj.jar"); logger.debug(tibrv.getAbsolutePath()); for (Plugin plugin : mavenProject.getModel().getBuild().getPlugins()) { if ("bw-maven-plugin".equals(plugin.getArtifactId())) { Dependency dependency = new Dependency(); dependency.setGroupId("com.tibco.rv"); dependency.setVersion(rvVersion); dependency.setScope("system"); dependency.setArtifactId("tibrvj"); dependency.setSystemPath(tibrv.getAbsolutePath()); plugin.addDependency(dependency); } } } }
From source file:fr.fastconnect.factory.tibco.bw.maven.packaging.pom.GenerateRootDeploymentPOM.java
License:Apache License
private List<String> addModules(MavenProject project, List<MavenProject> activeProjects) throws IOException, XmlPullParserException { return addModules(project.getBasedir() + File.separator, project.getModel(), getActiveProfiles(activeProjects), activeProjects); }
From source file:info.mikaelsvensson.devtools.sitesearch.SiteSearchPlugin.java
License:Apache License
private void scanForProjectsInProjectHierarchyWithSiteIndexing(final MavenProject proj, boolean forceEmbed, Set<String> modulePaths) throws IOException { forceEmbed |= isSiteIndexerPluginReferences(proj); if (forceEmbed) { String pathFromProjectRootToOtherProject = getRelativePath(project.getBasedir(), proj.getModel().getPomFile().getParentFile()); modulePaths.add(pathFromProjectRootToOtherProject); }// w w w.ja va 2s. c om for (Object moduleName : proj.getModules()) { try { File pomFile = new File(proj.getFile().getParentFile(), moduleName.toString() + File.separatorChar + "pom.xml"); MavenProject subModuleProj = loadPomFile(pomFile); scanForProjectsInProjectHierarchyWithSiteIndexing(subModuleProj, forceEmbed, modulePaths); } catch (XmlPullParserException e) { getLog().warn("Could not read POM file for module '" + moduleName + "'.", e); } } }
From source file:io.airlift.resolver.ArtifactResolver.java
License:Apache License
public List<Artifact> resolvePom(File pomFile) { if (pomFile == null) { throw new RuntimeException("pomFile is null"); }//from w w w .jav a 2 s.c o m MavenProject pom; try { PlexusContainer container = container(); org.apache.maven.repository.RepositorySystem lrs = container .lookup(org.apache.maven.repository.RepositorySystem.class); ProjectBuilder projectBuilder = container.lookup(ProjectBuilder.class); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setSystemProperties(requiredSystemProperties()); request.setRepositorySession(repositorySystemSession); request.setProcessPlugins(false); request.setLocalRepository(lrs.createDefaultLocalRepository()); request.setRemoteRepositories( Arrays.asList(new ArtifactRepository[] { lrs.createDefaultRemoteRepository() }.clone())); ProjectBuildingResult result = projectBuilder.build(pomFile, request); pom = result.getProject(); } catch (Exception e) { if (e instanceof RuntimeException) { throw (RuntimeException) e; } throw new RuntimeException("Error loading pom: " + pomFile.getAbsolutePath(), e); } Artifact rootArtifact = new DefaultArtifact(pom.getArtifact().getGroupId(), pom.getArtifact().getArtifactId(), pom.getArtifact().getClassifier(), pom.getArtifact().getType(), pom.getArtifact().getVersion(), null, new File(pom.getModel().getBuild().getOutputDirectory())); CollectRequest collectRequest = new CollectRequest(); for (org.apache.maven.model.Dependency dependency : pom.getDependencies()) { collectRequest.addDependency(toAetherDependency(dependency)); } for (RemoteRepository repository : pom.getRemoteProjectRepositories()) { collectRequest.addRepository(repository); } for (RemoteRepository repository : repositories) { collectRequest.addRepository(repository); } // Make sure we account for managed dependencies if (pom.getDependencyManagement() != null) { for (org.apache.maven.model.Dependency managedDependency : pom.getDependencyManagement() .getDependencies()) { collectRequest.addManagedDependency(toAetherDependency(managedDependency)); } } DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME)); List<Artifact> artifacts = resolveArtifacts(dependencyRequest); return ImmutableList.<Artifact>builder().add(rootArtifact).addAll(artifacts).build(); }
From source file:io.github.stackinfo.maven.plugins.PrepareMojo.java
License:Apache License
public void execute() throws MojoExecutionException { File outputDirectory = new File(targetDirectory, "stackinfo/poms"); try {// w w w . j a v a2s.c o m createOrCleanDirectory(outputDirectory); rootDirectory = rootDirectory.getCanonicalFile(); } catch (IOException e) { getLog().error(e); return; } MavenXpp3Writer writer = new MavenXpp3Writer(); for (MavenProject project : projects) { Model model = getMinimalModel(project.getModel()); try { File projectDirectory = model.getProjectDirectory().getCanonicalFile(); if (!projectDirectory.toString().startsWith(rootDirectory.toString())) { getLog().error("Invalid project directory: " + projectDirectory); continue; } String relative = rootDirectory.toURI().relativize(projectDirectory.toURI()).getPath(); File projectOutputDirectory = new File(outputDirectory, relative); projectOutputDirectory.mkdirs(); OutputStream out = new FileOutputStream(new File(projectOutputDirectory, "pom.xml")); writer.write(out, model); } catch (Exception e) { getLog().error(e); } } }
From source file:io.sundr.maven.GenerateBomMojo.java
License:Apache License
private MavenProject generateBom(BomConfig config) throws MojoFailureException, MojoExecutionException { File outputDir = new File(getProject().getBuild().getOutputDirectory()); File bomDir = new File(outputDir, config.getArtifactId()); File generatedBom = new File(bomDir, BOM_NAME); if (!bomDir.exists() && !bomDir.mkdirs()) { throw new MojoFailureException("Failed to create output dir for bom:" + bomDir.getAbsolutePath()); }// ww w. ja v a 2 s. c o m preProccessConfig(config); FileWriter writer = null; try { writer = new FileWriter(generatedBom); // Imported dependencies may have important additional information (eg. exclusions) // Taking both the artifacts and their related dependencies Map<Artifact, Dependency> dependencies = new LinkedHashMap<Artifact, Dependency>(); Set<Artifact> plugins = new LinkedHashSet<Artifact>(); Set<Artifact> ownModules = Filters.filter(getReactorArtifacts(), Filters.createModulesFilter(config)); //We add first project management and unwrapped boms. (we don't resolve those). Set<Artifact> dependencyManagementArtifacts = config.isInheritDependencyManagement() ? getProjectDependencyManagement() : new LinkedHashSet<Artifact>(); Set<Artifact> pluginManagementArtifacts = config.isInheritPluginManagement() ? getProjectPluginManagement() : new LinkedHashSet<Artifact>(); Set<Artifact> allDependencies = new LinkedHashSet<Artifact>(dependencyManagementArtifacts); allDependencies.addAll(getDependencies(getProjectDependencies())); //We resolve transitives here.... //Populate dependencies dependencies.putAll(toDependencyMap(ownModules)); dependencies.putAll(toDependencyMap( Filters.filter(allDependencies, Filters.createDependencyFilter(getSession(), config)))); //Populate dependencies with imported boms. ExternalBomResolver bomResolver = new ExternalBomResolver(getSession(), getArtifactHandler(), aetherSystem, aetherSession, aetherRemoteRepositories, getLog()); Map<Artifact, Dependency> externalDependencies = bomResolver.resolve(config); dependencies.putAll(externalDependencies); //Populate plugins plugins.addAll(Filters.filter(ownModules, Filters.MAVEN_PLUGIN_FILTER)); plugins.addAll( Filters.filter(pluginManagementArtifacts, Filters.createPluginFilter(getSession(), config))); //Checking version mismatches. MavenProject projectToGenerate = toGenerate(getProject(), config, dependencies.values(), plugins); verifyBomDependencies(config, projectToGenerate); getLog().info("Generating BOM: " + config.getArtifactId()); new CodeGeneratorBuilder<Model>().withWriter(writer).withModel(projectToGenerate.getModel()) .withTemplateResource(bomTemplateResource).withTemplateUrl(bomTemplateUrl).build().generate(); return toBuild(getProject(), config); } catch (Exception e) { throw new MojoFailureException("Failed to generate bom.", e); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { throw new MojoExecutionException("Failed to close the generated bom writer", e); } } }
From source file:io.sundr.maven.GenerateBomMojo.java
License:Apache License
/** * Returns the model of the {@link org.apache.maven.project.MavenProject} to generate. * This is a trimmed down version and contains just the stuff that need to go into the bom. * * @param project The source {@link org.apache.maven.project.MavenProject}. * @param config The {@link io.sundr.maven.BomConfig}. * @return The build {@link org.apache.maven.project.MavenProject}. *//* w w w . j a v a2 s. co m*/ private static MavenProject toGenerate(MavenProject project, BomConfig config, Collection<Dependency> dependencies, Set<Artifact> plugins) { MavenProject toGenerate = project.clone(); toGenerate.setGroupId(project.getGroupId()); toGenerate.setArtifactId(config.getArtifactId()); toGenerate.setVersion(project.getVersion()); toGenerate.setPackaging("pom"); toGenerate.setName(config.getName()); toGenerate.setDescription(config.getDescription()); toGenerate.setUrl(project.getUrl()); toGenerate.setLicenses(project.getLicenses()); toGenerate.setScm(project.getScm()); toGenerate.setDevelopers(project.getDevelopers()); toGenerate.getModel().setDependencyManagement(new DependencyManagement()); for (Dependency dependency : dependencies) { toGenerate.getDependencyManagement().addDependency(dependency); } toGenerate.getModel().setBuild(new Build()); if (!plugins.isEmpty()) { toGenerate.getModel().setBuild(new Build()); toGenerate.getModel().getBuild().setPluginManagement(new PluginManagement()); for (Artifact artifact : plugins) { toGenerate.getPluginManagement().addPlugin(toPlugin(artifact)); } } return toGenerate; }
From source file:io.sundr.maven.GenerateBomMojo.java
License:Apache License
/** * Returns the generated {@link org.apache.maven.project.MavenProject} to build. * This version of the project contains all the stuff needed for building (parents, profiles, properties etc). * * @param project The source {@link org.apache.maven.project.MavenProject}. * @param config The {@link io.sundr.maven.BomConfig}. * @return The build {@link org.apache.maven.project.MavenProject}. *//*from w w w . j a v a2 s .c o m*/ private static MavenProject toBuild(MavenProject project, BomConfig config) { File outputDir = new File(project.getBuild().getOutputDirectory()); File bomDir = new File(outputDir, config.getArtifactId()); File generatedBom = new File(bomDir, BOM_NAME); MavenProject toBuild = project.clone(); //we want to avoid recursive "generate-bom". toBuild.setExecutionRoot(false); toBuild.setFile(generatedBom); toBuild.getModel().setPomFile(generatedBom); toBuild.setModelVersion(project.getModelVersion()); toBuild.setArtifact(new DefaultArtifact(project.getGroupId(), config.getArtifactId(), project.getVersion(), project.getArtifact().getScope(), project.getArtifact().getType(), project.getArtifact().getClassifier(), project.getArtifact().getArtifactHandler())); toBuild.setParent(project.getParent()); toBuild.getModel().setParent(project.getModel().getParent()); toBuild.setGroupId(project.getGroupId()); toBuild.setArtifactId(config.getArtifactId()); toBuild.setVersion(project.getVersion()); toBuild.setPackaging("pom"); toBuild.setName(config.getName()); toBuild.setDescription(config.getDescription()); toBuild.setUrl(project.getUrl()); toBuild.setLicenses(project.getLicenses()); toBuild.setScm(project.getScm()); toBuild.setDevelopers(project.getDevelopers()); toBuild.setDistributionManagement(project.getDistributionManagement()); toBuild.getModel().setProfiles(project.getModel().getProfiles()); //We want to avoid having the generated stuff wiped. toBuild.getProperties().put("clean.skip", "true"); toBuild.getModel().getBuild().setDirectory(bomDir.getAbsolutePath()); toBuild.getModel().getBuild().setOutputDirectory(new File(bomDir, "target").getAbsolutePath()); for (String key : config.getProperties().stringPropertyNames()) { toBuild.getProperties().put(key, config.getProperties().getProperty(key)); } return toBuild; }