Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
maven-settings-builder-3.8.6.jar - Settings Builder Module
maven-settings-builder-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Settings Builder module.
Apache Maven is a software project management and comprehension tool.
JAR File Size and Download Location:
File: 42064 06-06-2022 16:16 lib/maven-settings-builder-3.8.6.jar Download: Apache Maven Website
✍: FYIcenter.com
⏎ org/apache/maven/settings/building/DefaultSettingsBuilder.java
package org.apache.maven.settings.building; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import java.io.File; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.util.Collections; import java.util.List; import java.util.Map; import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; import org.apache.maven.building.FileSource; import org.apache.maven.building.Source; import org.apache.maven.settings.Settings; import org.apache.maven.settings.TrackableBase; import org.apache.maven.settings.io.SettingsParseException; import org.apache.maven.settings.io.SettingsReader; import org.apache.maven.settings.io.SettingsWriter; import org.apache.maven.settings.merge.MavenSettingsMerger; import org.apache.maven.settings.validation.SettingsValidator; import org.codehaus.plexus.interpolation.EnvarBasedValueSource; import org.codehaus.plexus.interpolation.InterpolationException; import org.codehaus.plexus.interpolation.InterpolationPostProcessor; import org.codehaus.plexus.interpolation.PropertiesBasedValueSource; import org.codehaus.plexus.interpolation.RegexBasedInterpolator; /** * Builds the effective settings from a user settings file and/or a global settings file. * * @author Benjamin Bentmann */ @Named @Singleton public class DefaultSettingsBuilder implements SettingsBuilder { private SettingsReader settingsReader; private SettingsWriter settingsWriter; private SettingsValidator settingsValidator; private final MavenSettingsMerger settingsMerger = new MavenSettingsMerger(); @Inject public DefaultSettingsBuilder( SettingsReader settingsReader, SettingsWriter settingsWriter, SettingsValidator settingsValidator ) { this.settingsReader = settingsReader; this.settingsWriter = settingsWriter; this.settingsValidator = settingsValidator; } public DefaultSettingsBuilder setSettingsReader( SettingsReader settingsReader ) { this.settingsReader = settingsReader; return this; } public DefaultSettingsBuilder setSettingsWriter( SettingsWriter settingsWriter ) { this.settingsWriter = settingsWriter; return this; } public DefaultSettingsBuilder setSettingsValidator( SettingsValidator settingsValidator ) { this.settingsValidator = settingsValidator; return this; } @Override public SettingsBuildingResult build( SettingsBuildingRequest request ) throws SettingsBuildingException { DefaultSettingsProblemCollector problems = new DefaultSettingsProblemCollector( null ); Source globalSettingsSource = getSettingsSource( request.getGlobalSettingsFile(), request.getGlobalSettingsSource() ); Settings globalSettings = readSettings( globalSettingsSource, request, problems ); Source userSettingsSource = getSettingsSource( request.getUserSettingsFile(), request.getUserSettingsSource() ); Settings userSettings = readSettings( userSettingsSource, request, problems ); settingsMerger.merge( userSettings, globalSettings, TrackableBase.GLOBAL_LEVEL ); problems.setSource( "" ); userSettings = interpolate( userSettings, request, problems ); // for the special case of a drive-relative Windows path, make sure it's absolute to save plugins from trouble String localRepository = userSettings.getLocalRepository(); if ( localRepository != null && localRepository.length() > 0 ) { File file = new File( localRepository ); if ( !file.isAbsolute() && file.getPath().startsWith( File.separator ) ) { userSettings.setLocalRepository( file.getAbsolutePath() ); } } if ( hasErrors( problems.getProblems() ) ) { throw new SettingsBuildingException( problems.getProblems() ); } return new DefaultSettingsBuildingResult( userSettings, problems.getProblems() ); } private boolean hasErrors( List<SettingsProblem> problems ) { if ( problems != null ) { for ( SettingsProblem problem : problems ) { if ( SettingsProblem.Severity.ERROR.compareTo( problem.getSeverity() ) >= 0 ) { return true; } } } return false; } private Source getSettingsSource( File settingsFile, Source settingsSource ) { if ( settingsSource != null ) { return settingsSource; } else if ( settingsFile != null && settingsFile.exists() ) { return new FileSource( settingsFile ); } return null; } private Settings readSettings( Source settingsSource, SettingsBuildingRequest request, DefaultSettingsProblemCollector problems ) { if ( settingsSource == null ) { return new Settings(); } problems.setSource( settingsSource.getLocation() ); Settings settings; try { Map<String, ?> options = Collections.singletonMap( SettingsReader.IS_STRICT, Boolean.TRUE ); try { settings = settingsReader.read( settingsSource.getInputStream(), options ); } catch ( SettingsParseException e ) { options = Collections.singletonMap( SettingsReader.IS_STRICT, Boolean.FALSE ); settings = settingsReader.read( settingsSource.getInputStream(), options ); problems.add( SettingsProblem.Severity.WARNING, e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e ); } } catch ( SettingsParseException e ) { problems.add( SettingsProblem.Severity.FATAL, "Non-parseable settings " + settingsSource.getLocation() + ": " + e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e ); return new Settings(); } catch ( IOException e ) { problems.add( SettingsProblem.Severity.FATAL, "Non-readable settings " + settingsSource.getLocation() + ": " + e.getMessage(), -1, -1, e ); return new Settings(); } settingsValidator.validate( settings, problems ); return settings; } private Settings interpolate( Settings settings, SettingsBuildingRequest request, SettingsProblemCollector problems ) { StringWriter writer = new StringWriter( 1024 * 4 ); try { settingsWriter.write( writer, null, settings ); } catch ( IOException e ) { throw new IllegalStateException( "Failed to serialize settings to memory", e ); } String serializedSettings = writer.toString(); RegexBasedInterpolator interpolator = new RegexBasedInterpolator(); interpolator.addValueSource( new PropertiesBasedValueSource( request.getUserProperties() ) ); interpolator.addValueSource( new PropertiesBasedValueSource( request.getSystemProperties() ) ); try { interpolator.addValueSource( new EnvarBasedValueSource() ); } catch ( IOException e ) { problems.add( SettingsProblem.Severity.WARNING, "Failed to use environment variables for interpolation: " + e.getMessage(), -1, -1, e ); } interpolator.addPostProcessor( new InterpolationPostProcessor() { @Override public Object execute( String expression, Object value ) { if ( value != null ) { // we're going to parse this back in as XML so we need to escape XML markup value = value.toString().replace( "&", "&" ).replace( "<", "<" ).replace( ">", ">" ); return value; } return null; } } ); try { serializedSettings = interpolator.interpolate( serializedSettings, "settings" ); } catch ( InterpolationException e ) { problems.add( SettingsProblem.Severity.ERROR, "Failed to interpolate settings: " + e.getMessage(), -1, -1, e ); return settings; } Settings result; try { Map<String, ?> options = Collections.singletonMap( SettingsReader.IS_STRICT, Boolean.FALSE ); result = settingsReader.read( new StringReader( serializedSettings ), options ); } catch ( IOException e ) { problems.add( SettingsProblem.Severity.ERROR, "Failed to interpolate settings: " + e.getMessage(), -1, -1, e ); return settings; } return result; } }
⏎ org/apache/maven/settings/building/DefaultSettingsBuilder.java
Or download all of them as a single archive file:
File name: maven-settings-builder-3.8.6-src.zip File size: 40517 bytes Release date: 2022-06-06 Download
⇒ maven-slf4j-provider-3.8.6.jar - SLF4J Provider Module
⇐ maven-settings-3.8.6.jar - Maven Settings Module
2020-10-26, 11347👍, 0💬
Popular Posts:
What Is commons-net-ftp-2.0.jar? commons-net-ftp-2.0.jar is the JAR file for Apache Commons Net FTP ...
JDK 11 jdk.compiler.jmod is the JMOD file for JDK 11 Compiler tool, which can be invoked by the "jav...
Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java...
What Is log4j-1.2.13.jar? I got the JAR file from logging-log4j-1.2.13.zip .log4j-1.2.13.jar is the ...
Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nea...