MavenEmbedder(EmbedderConfiguration configuration) throws ComponentLookupException { embedderConfiguration = configuration; plexus = configuration.getContainer(); this.maven = (DefaultMaven) plexus.lookup(Maven.class); this.projectBuilder = plexus.lookup(ProjectBuilder.class); this.repositorySystem = plexus.lookup(RepositorySystem.class); this.settingsBuilder = plexus.lookup(SettingsBuilder.class); this.populator = plexus.lookup(MavenExecutionRequestPopulator.class); settingsDecrypter = plexus.lookup(SettingsDecrypter.class); }
/** * contains System.getProperties() with some netbeans IDE JVM related items filtered out + environment variables prefixed with "env." * @return */ public Properties getSystemProperties() { return embedderConfiguration.getSystemProperties(); }
boolean isOffline() { return embedderConfiguration.isOffline(); }
File settingsXml = embedderConfiguration.getSettingsXml(); long newSettingsTimestamp = settingsXml.hashCode() ^ settingsXml.lastModified() ^ MavenCli.DEFAULT_USER_SETTINGS_FILE.lastModified(); req.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE); req.setSystemProperties(getSystemProperties()); req.setUserProperties(embedderConfiguration.getUserProperties()); try { settings = settingsBuilder.build(req).getEffectiveSettings();
public static @NonNull MavenEmbedder createProjectLikeEmbedder() throws PlexusContainerException { final String mavenCoreRealmId = "plexus.core"; ContainerConfiguration dpcreq = new DefaultContainerConfiguration() .setClassWorld( new ClassWorld(mavenCoreRealmId, EmbedderFactory.class.getClassLoader()) ) .setName("maven"); DefaultPlexusContainer pc = new DefaultPlexusContainer(dpcreq, new ExtensionModule()); pc.setLoggerManager(new NbLoggerManager()); Properties userprops = new Properties(); userprops.putAll(getCustomGlobalUserProperties()); EmbedderConfiguration configuration = new EmbedderConfiguration(pc, cloneStaticProps(), userprops, true, getSettingsXml()); try { return new MavenEmbedder(configuration); //MEVENIDE-634 make all instances non-interactive // WagonManager wagonManager = (WagonManager) embedder.getPlexusContainer().lookup(WagonManager.ROLE); // wagonManager.setInteractive(false); } catch (ComponentLookupException ex) { throw new PlexusContainerException(ex.toString(), ex); } }
/** * * @param pom * @return result object with access to effective pom model and raw models for each parent. * @throws ModelBuildingException if the POM or parents could not even be parsed; warnings are not reported */ public ModelBuildingResult executeModelBuilder(File pom) throws ModelBuildingException { ModelBuilder mb = lookupComponent(ModelBuilder.class); assert mb!=null : "ModelBuilder component not found in maven"; ModelBuildingRequest req = new DefaultModelBuildingRequest(); req.setPomFile(pom); req.setProcessPlugins(false); req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); req.setLocationTracking(true); req.setModelResolver(new NBRepositoryModelResolver(this)); req.setSystemProperties(getSystemProperties()); req.setUserProperties(embedderConfiguration.getUserProperties()); return mb.build(req); }
File settingsXml = embedderConfiguration.getSettingsXml(); if (settingsXml !=null && settingsXml.exists()) { req.setGlobalSettingsFile(settingsXml); req.setUserProperties(embedderConfiguration.getUserProperties()); try {
EmbedderConfiguration req = new EmbedderConfiguration(pc, cloneStaticProps(), userprops, false, getSettingsXml());