/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * 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. */ package org.kie.scanner.embedder; import org.apache.maven.execution.ExecutionListener; import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.model.building.ModelBuildingRequest; import org.apache.maven.settings.building.SettingsSource; import org.codehaus.plexus.PlexusConstants; import org.codehaus.plexus.logging.LoggerManager; import org.eclipse.aether.repository.WorkspaceReader; import org.eclipse.aether.transfer.TransferListener; import java.net.URL; import java.util.List; import java.util.Properties; public class MavenRequest { private String globalSettingsFile; private SettingsSource userSettingsSource; private String localRepositoryPath; private boolean offline; private TransferListener transferListener; private String baseDirectory; private List<String> goals; private Properties systemProperties; private Properties userProperties; private String failureBehavior; private List<String> selectedProjects; private String resumeFromProject; private String makeBehavior; private String threadCount; private boolean recursive; private String pom; private boolean showErrors; /** * @see org.apache.maven.execution.MavenExecutionRequest */ private int loggingLevel = MavenExecutionRequest.LOGGING_LEVEL_INFO; private boolean updateSnapshots; private boolean noSnapshotUpdates; private String globalChecksumPolicy; private boolean interactive; private boolean cacheTransferError = true; private boolean cacheNotFound = true; private List<String> profiles; private ExecutionListener executionListener; private WorkspaceReader workspaceReader; private LoggerManager mavenLoggerManager; /** * plexus configuration override */ private URL overridingComponentsXml; /** * will processPlugins during project reading * @since 3.2 */ private boolean processPlugins; /** * will resolve dependencies during project reading * @since 3.2 */ private boolean resolveDependencies; /** * level of validation when reading pom (ie model building request) * default {@link ModelBuildingRequest#VALIDATION_LEVEL_MAVEN_2_0} etc... * @since 3.2 */ private int validationLevel = ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0; /** * @since 3.3 */ private boolean containerAutoWiring = false; /** * @since 3.3 */ private String containerComponentVisibility = PlexusConstants.REALM_VISIBILITY; /** * @since 3.3 */ private String containerClassPathScanning = PlexusConstants.SCANNING_INDEX; public MavenRequest() { // no op } public String getGlobalSettingsFile() { return globalSettingsFile; } public MavenRequest setGlobalSettingsFile( String globalSettingsFile ) { this.globalSettingsFile = globalSettingsFile; return this; } public SettingsSource getUserSettingsSource() { return userSettingsSource; } public MavenRequest setUserSettingsSource( SettingsSource userSettingsSource ) { this.userSettingsSource = userSettingsSource; return this; } public String getLocalRepositoryPath() { return localRepositoryPath; } public MavenRequest setLocalRepositoryPath( String localRepositoryPath ) { this.localRepositoryPath = localRepositoryPath; return this; } public boolean isOffline() { return offline; } public MavenRequest setOffline( boolean offline ) { this.offline = offline; return this; } public TransferListener getTransferListener() { return transferListener; } public MavenRequest setTransferListener( TransferListener transferListener ) { this.transferListener = transferListener; return this; } public String getBaseDirectory() { return baseDirectory; } public MavenRequest setBaseDirectory( String baseDirectory ) { this.baseDirectory = baseDirectory; return this; } public List<String> getGoals() { return goals; } public MavenRequest setGoals( List<String> goals ) { this.goals = goals; return this; } public Properties getSystemProperties() { if (this.systemProperties == null) { this.systemProperties = new Properties(); this.systemProperties.putAll( System.getProperties() ); } return systemProperties; } public MavenRequest setSystemProperties( Properties systemProperties ) { this.systemProperties = systemProperties; return this; } public Properties getUserProperties() { if (this.userProperties == null) { this.userProperties = new Properties(); } return userProperties; } public MavenRequest setUserProperties( Properties userProperties ) { this.userProperties = userProperties; return this; } public String getFailureBehavior() { return failureBehavior; } public MavenRequest setFailureBehavior( String failureBehavior ) { this.failureBehavior = failureBehavior; return this; } public List<String> getSelectedProjects() { return selectedProjects; } public MavenRequest setSelectedProjects( List<String> selectedProjects ) { this.selectedProjects = selectedProjects; return this; } public String getResumeFromProject() { return resumeFromProject; } public MavenRequest setResumeFromProject( String resumeFromProject ) { this.resumeFromProject = resumeFromProject; return this; } public String getMakeBehavior() { return makeBehavior; } public MavenRequest setMakeBehavior( String makeBehavior ) { this.makeBehavior = makeBehavior; return this; } public String getThreadCount() { return threadCount; } public MavenRequest setThreadCount( String threadCount ) { this.threadCount = threadCount; return this; } public boolean isRecursive() { return recursive; } public MavenRequest setRecursive( boolean recursive ) { this.recursive = recursive; return this; } public String getPom() { return pom; } public MavenRequest setPom( String pom ) { this.pom = pom; return this; } public boolean isShowErrors() { return showErrors; } public MavenRequest setShowErrors( boolean showErrors ) { this.showErrors = showErrors; return this; } public int getLoggingLevel() { return loggingLevel; } public MavenRequest setLoggingLevel( int loggingLevel ) { this.loggingLevel = loggingLevel; return this; } public boolean isUpdateSnapshots() { return updateSnapshots; } public MavenRequest setUpdateSnapshots( boolean updateSnapshots ) { this.updateSnapshots = updateSnapshots; return this; } public boolean isNoSnapshotUpdates() { return noSnapshotUpdates; } public MavenRequest setNoSnapshotUpdates( boolean noSnapshotUpdates ) { this.noSnapshotUpdates = noSnapshotUpdates; return this; } public String getGlobalChecksumPolicy() { return globalChecksumPolicy; } public MavenRequest setGlobalChecksumPolicy( String globalChecksumPolicy ) { this.globalChecksumPolicy = globalChecksumPolicy; return this; } public boolean isInteractive() { return interactive; } public MavenRequest setInteractive( boolean interactive ) { this.interactive = interactive; return this; } public boolean isCacheTransferError() { return cacheTransferError; } public MavenRequest setCacheTransferError( boolean cacheTransferError ) { this.cacheTransferError = cacheTransferError; return this; } public boolean isCacheNotFound() { return cacheNotFound; } public MavenRequest setCacheNotFound( boolean cacheNotFound ) { this.cacheNotFound = cacheNotFound; return this; } public List<String> getProfiles() { return profiles; } public MavenRequest setProfiles( List<String> profiles ) { this.profiles = profiles; return this; } public ExecutionListener getExecutionListener() { return executionListener; } public MavenRequest setExecutionListener( ExecutionListener executionListener ) { this.executionListener = executionListener; return this; } public WorkspaceReader getWorkspaceReader() { return workspaceReader; } public MavenRequest setWorkspaceReader( WorkspaceReader workspaceReader ) { this.workspaceReader = workspaceReader; return this; } public LoggerManager getMavenLoggerManager() { return mavenLoggerManager; } public MavenRequest setMavenLoggerManager( LoggerManager mavenLoggerManager ) { this.mavenLoggerManager = mavenLoggerManager; return this; } public URL getOverridingComponentsXml() { return overridingComponentsXml; } public MavenRequest setOverridingComponentsXml( URL overridingComponentsXml ) { this.overridingComponentsXml = overridingComponentsXml; return this; } public boolean isProcessPlugins() { return processPlugins; } public MavenRequest setProcessPlugins( boolean processPlugins ) { this.processPlugins = processPlugins; return this; } public boolean isResolveDependencies() { return resolveDependencies; } public MavenRequest setResolveDependencies( boolean resolveDependencies ) { this.resolveDependencies = resolveDependencies; return this; } public int getValidationLevel() { return validationLevel; } public MavenRequest setValidationLevel( int validationLevel ) { this.validationLevel = validationLevel; return this; } public boolean isContainerAutoWiring() { return containerAutoWiring; } public void setContainerAutoWiring( boolean containerAutoWiring ) { this.containerAutoWiring = containerAutoWiring; } public String getContainerComponentVisibility() { return containerComponentVisibility; } public void setContainerComponentVisibility( String containerComponentVisibility ) { this.containerComponentVisibility = containerComponentVisibility; } public String getContainerClassPathScanning() { return containerClassPathScanning; } public void setContainerClassPathScanning( String containerClassPathScanning ) { this.containerClassPathScanning = containerClassPathScanning; } }