List of usage examples for org.apache.maven.settings.building SettingsBuildingResult getProblems
List<SettingsProblem> getProblems();
From source file:com.google.devtools.build.lib.bazel.repository.MavenServerFunction.java
License:Open Source License
@Nullable @Override/* w w w.j a va 2 s. c om*/ 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:org.apache.karaf.maven.command.MavenConfigurationSupport.java
License:Apache License
/** * Reads on demand <code>settings.xml</code> file - without password decryption. Also * collects declared servers by ID./*from ww w . j a v a2 s. com*/ * @param settingsFile */ protected synchronized Settings readSettings(File settingsFile) throws SettingsBuildingException { if (!settingsFile.isFile() || !settingsFile.canRead()) { return null; } try { DefaultSettingsBuilderFactory factory = new DefaultSettingsBuilderFactory(); DefaultSettingsBuilder builder = factory.newInstance(); SettingsBuildingRequest request = new DefaultSettingsBuildingRequest(); request.setUserSettingsFile(settingsFile); SettingsBuildingResult result = builder.build(request); if (result.getProblems().size() > 0) { for (SettingsProblem problem : result.getProblems()) { System.err.println(problem); } return null; } else { Settings settings = result.getEffectiveSettings(); if (settings.getServers() != null) { for (Server server : settings.getServers()) { servers.put(server.getId(), server); } } return settings; } } catch (Throwable e) { System.err.println(e.getMessage()); LOG.error(e.getMessage(), e); throw e; } }
From source file:org.commonjava.emb.boot.embed.EMBEmbedder.java
License:Apache License
protected void injectSettings(final EMBExecutionRequest request) throws EMBEmbeddingException { Settings settings = request.getSettings(); SettingsBuildingResult settingsResult = null; if (settings == null) { final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(request.getGlobalSettingsFile()); settingsRequest.setUserSettingsFile(request.getUserSettingsFile()); settingsRequest.setSystemProperties(request.getSystemProperties()); settingsRequest.setUserProperties(request.getUserProperties()); try {//from w ww .j a v a2 s . c o m settingsResult = settingsBuilder.build(settingsRequest); } catch (final SettingsBuildingException e) { throw new EMBEmbeddingException( "Failed to build settings; {0}\nGlobal settings: {1}\nUser settings: {2}", e, e.getMessage(), request.getGlobalSettingsFile(), request.getUserSettingsFile()); } settings = settingsResult.getEffectiveSettings(); } try { executionRequestPopulator.populateFromSettings(request.asMavenExecutionRequest(), settings); } catch (final MavenExecutionRequestPopulationException e) { throw new EMBEmbeddingException("Failed to populate request from settings; {0}", e, e.getMessage()); } if (!settingsResult.getProblems().isEmpty() && logger.isWarnEnabled()) { logger.warn(""); logger.warn("Some problems were encountered while building the effective settings"); for (final SettingsProblem problem : settingsResult.getProblems()) { logger.warn(problem.getMessage() + " @ " + problem.getLocation()); } logger.warn(""); } }
From source file:org.kie.workbench.common.services.backend.compiler.external339.AFConfigurationProcessor.java
License:Apache License
public void process(AFCliRequest cliRequest) throws Exception { CommandLine commandLine = cliRequest.getCommandLine(); String workingDirectory = cliRequest.getWorkingDirectory(); MavenExecutionRequest request = cliRequest.getRequest(); Path userSettingsFile;/*from w ww.j ava 2 s . co m*/ if (commandLine.hasOption('s')) { userSettingsFile = Paths.get(commandLine.getOptionValue('s')); userSettingsFile = resolvePath(userSettingsFile, workingDirectory); if (!Files.isRegularFile(userSettingsFile)) { throw new FileNotFoundException( "The specified user settings file does not exist: " + userSettingsFile); } } else { userSettingsFile = DEFAULT_USER_SETTINGS_FILE; } Path globalSettingsFile; if (commandLine.hasOption("gs")) { globalSettingsFile = Paths.get(commandLine.getOptionValue("gs")); globalSettingsFile = resolvePath(globalSettingsFile, workingDirectory); if (!Files.isRegularFile(globalSettingsFile)) { throw new FileNotFoundException( "The specified global settings file does not exist: " + globalSettingsFile); } } else { globalSettingsFile = DEFAULT_GLOBAL_SETTINGS_FILE; } request.setGlobalSettingsFile(globalSettingsFile.toFile()); request.setUserSettingsFile(userSettingsFile.toFile()); SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(globalSettingsFile.toFile()); settingsRequest.setUserSettingsFile(userSettingsFile.toFile()); settingsRequest.setSystemProperties(cliRequest.getSystemProperties()); settingsRequest.setUserProperties(cliRequest.getUserProperties()); if (request.getEventSpyDispatcher() != null) { request.getEventSpyDispatcher().onEvent(settingsRequest); } this.logger.debug("Reading global settings from " + this .getLocation(settingsRequest.getGlobalSettingsSource(), settingsRequest.getGlobalSettingsFile())); this.logger.debug("Reading user settings from " + this.getLocation(settingsRequest.getUserSettingsSource(), settingsRequest.getUserSettingsFile())); SettingsBuildingResult settingsResult = this.settingsBuilder.build(settingsRequest); if (request.getEventSpyDispatcher() != null) { request.getEventSpyDispatcher().onEvent(settingsResult); } this.populateFromSettings(request, settingsResult.getEffectiveSettings()); if (!settingsResult.getProblems().isEmpty() && this.logger.isWarnEnabled()) { this.logger.warn(""); this.logger.warn("Some problems were encountered while building the effective settings"); Iterator i$ = settingsResult.getProblems().iterator(); while (i$.hasNext()) { SettingsProblem problem = (SettingsProblem) i$.next(); this.logger.warn(problem.getMessage() + " @ " + problem.getLocation()); } this.logger.warn(""); } }
From source file:org.kie.workbench.common.services.backend.compiler.external339.AFSettingsXmlConfigurationProcessor.java
License:Apache License
@Override public void process(AFCliRequest cliRequest) throws Exception { CommandLine commandLine = cliRequest.getCommandLine(); String workingDirectory = cliRequest.getWorkingDirectory(); MavenExecutionRequest request = cliRequest.getRequest(); Path userSettingsFile;//from w ww . j a va 2 s . co m if (commandLine.hasOption(CLIManager.ALTERNATE_USER_SETTINGS)) { userSettingsFile = Paths.get(commandLine.getOptionValue(CLIManager.ALTERNATE_USER_SETTINGS)); userSettingsFile = resolvePath(userSettingsFile, workingDirectory); if (!Files.isRegularFile(userSettingsFile)) { throw new FileNotFoundException( "The specified user settings file does not exist: " + userSettingsFile); } } else { userSettingsFile = DEFAULT_USER_SETTINGS_FILE; } Path globalSettingsFile; if (commandLine.hasOption(CLIManager.ALTERNATE_GLOBAL_SETTINGS)) { globalSettingsFile = Paths.get(commandLine.getOptionValue(CLIManager.ALTERNATE_GLOBAL_SETTINGS)); globalSettingsFile = resolvePath(globalSettingsFile, workingDirectory); if (!Files.isRegularFile(globalSettingsFile)) { throw new FileNotFoundException( "The specified global settings file does not exist: " + globalSettingsFile); } } else { globalSettingsFile = DEFAULT_GLOBAL_SETTINGS_FILE; } request.setGlobalSettingsFile(globalSettingsFile.toFile()); request.setUserSettingsFile(userSettingsFile.toFile()); AFSettingsBuildingRequest settingsRequest = new AFSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(globalSettingsFile.toFile()); settingsRequest.setUserSettingsFile(userSettingsFile.toFile()); settingsRequest.setSystemProperties(cliRequest.getSystemProperties()); settingsRequest.setUserProperties(cliRequest.getUserProperties()); if (request.getEventSpyDispatcher() != null) { request.getEventSpyDispatcher().onEvent(settingsRequest); } logger.debug("Reading global settings from " + getLocation(settingsRequest.getGlobalSettingsSource(), settingsRequest.getGlobalSettingsPath())); logger.debug("Reading user settings from " + getLocation(settingsRequest.getUserSettingsSource(), settingsRequest.getUserSettingsPath())); SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest); if (request.getEventSpyDispatcher() != null) { request.getEventSpyDispatcher().onEvent(settingsResult); } populateFromSettings(request, settingsResult.getEffectiveSettings()); if (!settingsResult.getProblems().isEmpty() && logger.isWarnEnabled()) { logger.warn(""); logger.warn("Some problems were encountered while building the effective settings"); for (SettingsProblem problem : settingsResult.getProblems()) { logger.warn(problem.getMessage() + " @ " + problem.getLocation()); } logger.warn(""); } }
From source file:org.kie.workbench.common.services.backend.compiler.impl.external339.AFSettingsXmlConfigurationProcessor.java
License:Apache License
@Override public void process(AFCliRequest cliRequest) throws Exception { CommandLine commandLine = cliRequest.getCommandLine(); String workingDirectory = cliRequest.getWorkingDirectory(); MavenExecutionRequest request = cliRequest.getRequest(); Path userSettingsFile;// ww w.j a v a2 s . c om if (commandLine.hasOption(CLIManager.ALTERNATE_USER_SETTINGS)) { String settingsFromCLi = commandLine.getOptionValue(CLIManager.ALTERNATE_USER_SETTINGS); logger.info("userSettings:" + settingsFromCLi); if (settingsFromCLi != null) { userSettingsFile = Paths.get(settingsFromCLi.trim()); /*userSettingsFile = resolvePath(userSettingsFile, workingDirectory); why this override of the value ? */ if (!Files.isRegularFile(userSettingsFile)) { throw new FileNotFoundException( "The specified user settings file does not exist: " + userSettingsFile); } } else { userSettingsFile = DEFAULT_USER_SETTINGS_FILE; logger.info("Using default userSettings:" + userSettingsFile); } } else { userSettingsFile = DEFAULT_USER_SETTINGS_FILE; } Path globalSettingsFile; if (commandLine.hasOption(CLIManager.ALTERNATE_GLOBAL_SETTINGS)) { globalSettingsFile = Paths.get(commandLine.getOptionValue(CLIManager.ALTERNATE_GLOBAL_SETTINGS)); globalSettingsFile = resolvePath(globalSettingsFile, workingDirectory); if (!Files.isRegularFile(globalSettingsFile)) { throw new FileNotFoundException( "The specified global settings file does not exist: " + globalSettingsFile); } } else { globalSettingsFile = DEFAULT_GLOBAL_SETTINGS_FILE; } request.setGlobalSettingsFile(globalSettingsFile.toFile()); request.setUserSettingsFile(userSettingsFile.toFile()); AFSettingsBuildingRequest settingsRequest = new AFSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(globalSettingsFile.toFile()); settingsRequest.setUserSettingsFile(userSettingsFile.toFile()); settingsRequest.setSystemProperties(cliRequest.getSystemProperties()); settingsRequest.setUserProperties(cliRequest.getUserProperties()); if (request.getEventSpyDispatcher() != null) { request.getEventSpyDispatcher().onEvent(settingsRequest); } logger.debug("Reading global settings from " + getLocation(settingsRequest.getGlobalSettingsSource(), settingsRequest.getGlobalSettingsPath())); logger.debug("Reading user settings from " + getLocation(settingsRequest.getUserSettingsSource(), settingsRequest.getUserSettingsPath())); SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest); if (request.getEventSpyDispatcher() != null) { request.getEventSpyDispatcher().onEvent(settingsResult); } populateFromSettings(request, settingsResult.getEffectiveSettings()); if (!settingsResult.getProblems().isEmpty() && logger.isWarnEnabled()) { logger.warn(""); logger.warn("Some problems were encountered while building the effective settings"); for (SettingsProblem problem : settingsResult.getProblems()) { logger.warn(problem.getMessage() + " @ " + problem.getLocation()); } logger.warn(""); } }
From source file:org.topdesk.maven.tracker.MavenCli.java
License:Apache License
private void settings(CliRequest cliRequest) throws Exception { File userSettingsFile;//from w ww .ja v a 2 s . c om if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_USER_SETTINGS)) { userSettingsFile = new File(cliRequest.commandLine.getOptionValue(CLIManager.ALTERNATE_USER_SETTINGS)); userSettingsFile = resolveFile(userSettingsFile, cliRequest.workingDirectory); if (!userSettingsFile.isFile()) { throw new FileNotFoundException( "The specified user settings file does not exist: " + userSettingsFile); } } else { userSettingsFile = DEFAULT_USER_SETTINGS_FILE; } logger.debug("Reading user settings from " + userSettingsFile); File globalSettingsFile; if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_GLOBAL_SETTINGS)) { globalSettingsFile = new File( cliRequest.commandLine.getOptionValue(CLIManager.ALTERNATE_GLOBAL_SETTINGS)); globalSettingsFile = resolveFile(globalSettingsFile, cliRequest.workingDirectory); if (!globalSettingsFile.isFile()) { throw new FileNotFoundException( "The specified global settings file does not exist: " + globalSettingsFile); } } else { globalSettingsFile = DEFAULT_GLOBAL_SETTINGS_FILE; } logger.debug("Reading global settings from " + globalSettingsFile); cliRequest.request.setGlobalSettingsFile(globalSettingsFile); cliRequest.request.setUserSettingsFile(userSettingsFile); SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(globalSettingsFile); settingsRequest.setUserSettingsFile(userSettingsFile); settingsRequest.setSystemProperties(cliRequest.systemProperties); settingsRequest.setUserProperties(cliRequest.userProperties); SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest); executionRequestPopulator.populateFromSettings(cliRequest.request, settingsResult.getEffectiveSettings()); if (!settingsResult.getProblems().isEmpty() && logger.isWarnEnabled()) { logger.warn(""); logger.warn("Some problems were encountered while building the effective settings"); for (SettingsProblem problem : settingsResult.getProblems()) { logger.warn(problem.getMessage() + " @ " + problem.getLocation()); } logger.warn(""); } }