List of usage examples for org.apache.maven.settings.building DefaultSettingsBuilderFactory DefaultSettingsBuilderFactory
DefaultSettingsBuilderFactory
From source file:capsule.UserSettings.java
License:Open Source License
private UserSettings() { final DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setUserSettingsFile(DEFAULT_LOCAL_MAVEN.resolve(SETTINGS_XML).toFile()); request.setGlobalSettingsFile(// www . ja va2 s . c o m MAVEN_HOME != null ? MAVEN_HOME.resolve("conf").resolve(SETTINGS_XML).toFile() : null); request.setSystemProperties(getSystemProperties()); try { this.settings = new DefaultSettingsBuilderFactory().newInstance().build(request).getEffectiveSettings(); final SettingsDecryptionResult result = newDefaultSettingsDecrypter() .decrypt(new DefaultSettingsDecryptionRequest(settings)); settings.setServers(result.getServers()); settings.setProxies(result.getProxies()); } catch (SettingsBuildingException e) { throw new RuntimeException(e); } }
From source file:com.github.nethad.clustermeister.provisioning.dependencymanager.MavenRepositorySystem.java
License:Apache License
private Settings buildMavenSettings() { try {// w w w .j a va 2s . c om File settingsXml = new File(new File(System.getProperty("user.home"), ".m2"), "settings.xml"); if (settingsXml.canRead()) { SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance(); SettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setSystemProperties(System.getProperties()); request.setUserSettingsFile(settingsXml); return settingsBuilder.build(request).getEffectiveSettings(); } } catch (SettingsBuildingException ex) { logger.warn("Could not build settings from user settings.xml.", ex); } return new Settings(); }
From source file:com.google.devtools.build.lib.bazel.repository.MavenServerFunction.java
License:Open Source License
@Nullable @Override// w w w. j a va2 s.co m public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, RepositoryFunctionException { String repository = (String) skyKey.argument(); Rule repositoryRule = null; try { repositoryRule = RepositoryFunction.getRule(repository, env); } catch (RepositoryNotFoundException ex) { // Ignored. We throw a new one below. } BlazeDirectories directories = PrecomputedValue.BLAZE_DIRECTORIES.get(env); if (env.valuesMissing()) { return null; } String serverName; String url; Map<String, FileValue> settingsFiles; boolean foundRepoRule = repositoryRule != null && repositoryRule.getRuleClass().equals(MavenServerRule.NAME); if (!foundRepoRule) { if (repository.equals(MavenServerValue.DEFAULT_ID)) { settingsFiles = getDefaultSettingsFile(directories, env); serverName = MavenServerValue.DEFAULT_ID; url = MavenConnector.getMavenCentralRemote().getUrl(); } else { throw new RepositoryFunctionException( new IOException("Could not find maven repository " + repository), Transience.TRANSIENT); } } else { WorkspaceAttributeMapper mapper = WorkspaceAttributeMapper.of(repositoryRule); serverName = repositoryRule.getName(); try { url = mapper.get("url", Type.STRING); if (!mapper.isAttributeValueExplicitlySpecified("settings_file")) { settingsFiles = getDefaultSettingsFile(directories, env); } else { PathFragment settingsFilePath = new PathFragment(mapper.get("settings_file", Type.STRING)); RootedPath settingsPath = RootedPath.toRootedPath( directories.getWorkspace().getRelative(settingsFilePath), PathFragment.EMPTY_FRAGMENT); FileValue fileValue = (FileValue) env.getValue(FileValue.key(settingsPath)); if (fileValue == null) { return null; } if (!fileValue.exists()) { throw new RepositoryFunctionException( new IOException("Could not find settings file " + settingsPath), Transience.TRANSIENT); } settingsFiles = ImmutableMap.<String, FileValue>builder().put(USER_KEY, fileValue).build(); } } catch (EvalException e) { throw new RepositoryFunctionException(e, Transience.PERSISTENT); } } if (settingsFiles == null) { return null; } Fingerprint fingerprint = new Fingerprint(); try { for (Map.Entry<String, FileValue> entry : settingsFiles.entrySet()) { fingerprint.addString(entry.getKey()); Path path = entry.getValue().realRootedPath().asPath(); if (path.exists()) { fingerprint.addBoolean(true); fingerprint.addBytes(path.getDigest()); } else { fingerprint.addBoolean(false); } } } catch (IOException e) { throw new RepositoryFunctionException(e, Transience.TRANSIENT); } byte[] fingerprintBytes = fingerprint.digestAndReset(); if (settingsFiles.isEmpty()) { return new MavenServerValue(serverName, url, new Server(), fingerprintBytes); } DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); if (settingsFiles.containsKey(SYSTEM_KEY)) { request.setGlobalSettingsFile(settingsFiles.get(SYSTEM_KEY).realRootedPath().asPath().getPathFile()); } if (settingsFiles.containsKey(USER_KEY)) { request.setUserSettingsFile(settingsFiles.get(USER_KEY).realRootedPath().asPath().getPathFile()); } DefaultSettingsBuilder builder = (new DefaultSettingsBuilderFactory()).newInstance(); SettingsBuildingResult result; try { result = builder.build(request); } catch (SettingsBuildingException e) { throw new RepositoryFunctionException( new IOException("Error parsing settings files: " + e.getMessage()), Transience.TRANSIENT); } if (!result.getProblems().isEmpty()) { throw new RepositoryFunctionException(new IOException( "Errors interpreting settings file: " + Arrays.toString(result.getProblems().toArray())), Transience.PERSISTENT); } Settings settings = result.getEffectiveSettings(); Server server = settings.getServer(serverName); server = server == null ? new Server() : server; return new MavenServerValue(serverName, url, server, fingerprintBytes); }
From source file:com.liferay.blade.cli.aether.AetherClient.java
License:Open Source License
private static Settings _buildSettings() { SettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setGlobalSettingsFile(_DEFAULT_GLOBAL_SETTINGS_FILE); request.setUserSettingsFile(_USER_MAVEN_DEFAULT_USER_SETTINGS_FILE); try {/*from w w w . j a v a 2 s .c o m*/ DefaultSettingsBuilder builder = new DefaultSettingsBuilderFactory().newInstance(); return builder.build(request).getEffectiveSettings(); } catch (SettingsBuildingException sbe) { sbe.printStackTrace(); return null; } }
From source file:com.oracle.bedrock.maven.Maven.java
License:CDDL license
/** * Obtain the Maven {@link Settings} for this {@link Maven} * given the specified {@link Platform} and {@link OptionsByType}. * * @param platform the {@link Platform} on which an {@link Application} will be launched * @param optionsByType the launch {@link OptionsByType} * * @return a new {@link Settings}// w ww . ja va2 s . c o m */ private Settings getSettings(Platform platform, OptionsByType optionsByType) { SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance(); DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setGlobalSettingsFile(globalSettingsFile); request.setUserSettingsFile(userSettingsFile); // we use the system-properties of the current process to resolve artifacts request.setSystemProperties(System.getProperties()); Settings settings; try { settings = settingsBuilder.build(request).getEffectiveSettings(); return settings; } catch (SettingsBuildingException e) { LOGGER.log(Level.WARNING, "Could not process settings.xml: " + e.getMessage(), e); throw new IllegalArgumentException("Could not process the settings.xml", e); } }
From source file:com.redhat.ceylon.cmr.resolver.aether.AetherResolverImpl.java
License:Apache License
private List<RemoteRepository> configureSession(RepositorySystem system, DefaultRepositorySystemSession session) { DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory(); DefaultSettingsBuilder builder = factory.newInstance(); SettingsBuildingRequest settingsBuilderRequest = new DefaultSettingsBuildingRequest(); settingsBuilderRequest.setSystemProperties(System.getProperties()); // find the settings String settingsFile = settingsXml; if (settingsFile == null) { File userSettings = new File(System.getProperty("user.home"), ".m2/settings.xml"); if (userSettings.exists()) settingsFile = userSettings.getAbsolutePath(); }/*from w w w .jav a 2 s . co m*/ if (settingsFile != null) { settingsBuilderRequest.setUserSettingsFile(new File(settingsXml)); } // read it SettingsBuildingResult settingsBuildingResult; try { settingsBuildingResult = builder.build(settingsBuilderRequest); } catch (SettingsBuildingException e) { throw new RuntimeException(e); } Settings set = settingsBuildingResult.getEffectiveSettings(); // configure the local repo String localRepository = set.getLocalRepository(); if (localRepository == null) localRepository = System.getProperty("user.home") + File.separator + ".m2" + File.separator + "repository"; else { if (!new File(localRepository).isAbsolute() && currentDirectory != null) { localRepository = new File(new File(currentDirectory), localRepository).getAbsolutePath(); } } // set up authentication DefaultAuthenticationSelector authenticationSelector = new DefaultAuthenticationSelector(); for (Server server : set.getServers()) { AuthenticationBuilder auth = new AuthenticationBuilder(); if (server.getUsername() != null) auth.addUsername(server.getUsername()); if (server.getPassword() != null) auth.addPassword(server.getPassword()); if (server.getPrivateKey() != null) auth.addPrivateKey(server.getPrivateKey(), server.getPassphrase()); authenticationSelector.add(server.getId(), auth.build()); } session.setAuthenticationSelector(authenticationSelector); // set up mirrors DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector(); for (Mirror mirror : set.getMirrors()) { mirrorSelector.add(mirror.getId(), mirror.getUrl(), mirror.getLayout(), false, mirror.getMirrorOf(), mirror.getMirrorOfLayouts()); } session.setMirrorSelector(mirrorSelector); // set up proxies DefaultProxySelector proxySelector = new DefaultProxySelector(); for (Proxy proxy : set.getProxies()) { if (proxy.isActive()) { AuthenticationBuilder auth = new AuthenticationBuilder(); if (proxy.getUsername() != null) auth.addUsername(proxy.getUsername()); if (proxy.getPassword() != null) auth.addPassword(proxy.getPassword()); org.eclipse.aether.repository.Proxy p = new org.eclipse.aether.repository.Proxy(proxy.getProtocol(), proxy.getHost(), proxy.getPort(), auth.build()); proxySelector.add(p, proxy.getNonProxyHosts()); } } session.setProxySelector(proxySelector); // set up remote repos List<RemoteRepository> repos = new ArrayList<>(); RemoteRepository central = new RemoteRepository.Builder("central", "default", "http://repo1.maven.org/maven2/").build(); repos.add(central); Set<String> activeProfiles = new HashSet<>(); activeProfiles.addAll(set.getActiveProfiles()); for (Profile profile : set.getProfiles()) { Activation activation = profile.getActivation(); if (activation != null) { if (activation.isActiveByDefault()) activeProfiles.add(profile.getId()); } } for (String profileId : activeProfiles) { Profile profile = set.getProfilesAsMap().get(profileId); if (profile != null) { addReposFromProfile(repos, profile); } } // connection settings session.setConfigProperty(ConfigurationProperties.CONNECT_TIMEOUT, timeout); session.setOffline(offline || set.isOffline()); LocalRepository localRepo = new LocalRepository(localRepository); session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); return repos; }
From source file:com.rhox.maven.MavenSettings.java
public static MavenSettings getDefault() { String envMavenHome = System.getenv("M2_HOME"); File userSettings = new File(USER_MAVEN_HOME, "settings.xml"); File globalSettings = new File(System.getProperty("maven.home", envMavenHome != null ? envMavenHome : ""), "conf/settings.xml"); SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest(); settingsBuildingRequest.setSystemProperties(System.getProperties()); settingsBuildingRequest.setUserSettingsFile(userSettings); settingsBuildingRequest.setGlobalSettingsFile(globalSettings); DefaultSettingsBuilderFactory mvnSettingBuilderFactory = new DefaultSettingsBuilderFactory(); DefaultSettingsBuilder settingsBuilder = mvnSettingBuilderFactory.newInstance(); Settings settings;//from ww w . jav a2 s .c o m try { SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest); settings = settingsBuildingResult.getEffectiveSettings(); } catch (SettingsBuildingException unexpected) { throw new IllegalStateException(unexpected); } return new MavenSettings(settings); }
From source file:io.fabric8.maven.util.MavenConfigurationImpl.java
License:Apache License
private Settings buildSettings(String localRepoPath, String settingsPath, boolean useFallbackRepositories) { Settings settings;//from w ww . jav a 2 s . co m if (settingsPath == null) { settings = new Settings(); } else { DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory(); DefaultSettingsBuilder builder = factory.newInstance(); SettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setUserSettingsFile(new File(settingsPath)); try { SettingsBuildingResult result = builder.build(request); settings = result.getEffectiveSettings(); } catch (SettingsBuildingException exc) { throw new AssertionError("cannot build settings", exc); } } if (useFallbackRepositories) { Profile fallbackProfile = new Profile(); Repository central = new Repository(); central.setId("central"); central.setUrl("http://repo1.maven.org/maven2"); fallbackProfile.setId("fallback"); fallbackProfile.setRepositories(Arrays.asList(central)); settings.addProfile(fallbackProfile); settings.addActiveProfile("fallback"); } if (localRepoPath != null) { settings.setLocalRepository(localRepoPath); } return settings; }
From source file:io.tesla.aether.guice.maven.MavenBehaviourRepositoryProvider.java
License:Open Source License
public Settings readMavenSettings() { File userSettingsFile = new File(System.getProperty("user.home"), ".m2/settings.xml"); if (userSettingsFile.exists() == false) { return null; }//from w ww . j a va2 s . com SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance(); SettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setSystemProperties(System.getProperties()); request.setUserSettingsFile(userSettingsFile); Settings settings; try { settings = settingsBuilder.build(request).getEffectiveSettings(); } catch (SettingsBuildingException e) { settings = new Settings(); } return settings; }
From source file:io.tesla.maven.bridge.support.settings.DefaultMavenSettings.java
License:Open Source License
public DefaultMavenSettings(final File globalSettings, final File userSettings, final RepositorySystem repositorySystem, final List<RemoteRepository> repositories) { this.repositorySystem = repositorySystem; final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(globalSettings); settingsRequest.setUserSettingsFile(userSettings); settingsRequest.setSystemProperties(System.getProperties()); // TODO shall we set custom properties? try {//from w w w . j a v a 2 s. com final SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance(); Settings settings = settingsBuilder.build(settingsRequest).getEffectiveSettings(); this.repositories = getRepositories(settings, repositories); this.mirrorSelector = createMirrorSelector(settings); this.authenticationSelector = createAuthenticationSelector(settings); this.proxySelector = createProxySelector(settings); this.localRepositoryManager = createLocalRepositoryManager(settings); } catch (SettingsBuildingException e) { throw new RuntimeException(e.getMessage(), e); } }