hudson.maven.MavenEmbedderRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of maven-plugin Show documentation
Show all versions of maven-plugin Show documentation
This plug-in provides deep integration of Hudson and Maven. This functionality used to be part of the Hudson core.
Now it is a plug-in that is installed by default, but can be disabled.
/**
*
*/
package hudson.maven;
/*
* 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 hudson.model.TaskListener;
import java.io.File;
import java.util.Properties;
import org.apache.maven.model.building.ModelBuildingRequest;
import org.sonatype.aether.repository.WorkspaceReader;
import org.sonatype.aether.transfer.TransferListener;
/**
* @author Olivier Lamy
*/
public class MavenEmbedderRequest
{
private TaskListener listener;
private File mavenHome;
private String profiles;
private Properties systemProperties;
private String privateRepository;
private File alternateSettings;
private TransferListener transferListener;
/**
* @since 1.393
*/
private ClassLoader classLoader;
/**
* will processPlugins during project reading
* @since 1.393
*/
private boolean processPlugins;
/**
* will resolve dependencies during project reading
* @since 1.393
*/
private boolean resolveDependencies;
/**
* level of validation when reading pom (ie model building request)
* default value : {@link ModelBuildingRequest#VALIDATION_LEVEL_MAVEN_2_0} etc...
* @since 1.393
*/
private int validationLevel = ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0;
/**
* @since 1.393
*/
private WorkspaceReader workspaceReader;
/**
* @param listener
* This is where the log messages from Maven will be recorded.
* @param mavenHome
* Directory of the Maven installation. We read {@code conf/settings.xml}
* from here. Can be null.
* @param profiles
* Profiles to activate/deactivate. Can be null.
* @param systemProperties
* The system properties that the embedded Maven sees. See {@link MavenEmbedder#setSystemProperties(Properties)}.
* @param privateRepository
* Optional private repository to use as the local repository.
* @param alternateSettings
* Optional alternate settings.xml file.
*/
public MavenEmbedderRequest( TaskListener listener, File mavenHome, String profiles, Properties systemProperties,
String privateRepository, File alternateSettings ) {
this.listener = listener;
this.mavenHome = mavenHome;
this.profiles = profiles;
this.systemProperties = systemProperties;
this.privateRepository = privateRepository;
this.alternateSettings = alternateSettings;
}
public TaskListener getListener() {
return listener;
}
public MavenEmbedderRequest setListener( TaskListener listener ) {
this.listener = listener;
return this;
}
public File getMavenHome() {
return mavenHome;
}
public MavenEmbedderRequest setMavenHome( File mavenHome ) {
this.mavenHome = mavenHome;
return this;
}
public String getProfiles() {
return profiles;
}
public MavenEmbedderRequest setProfiles( String profiles ) {
this.profiles = profiles;
return this;
}
public Properties getSystemProperties() {
return systemProperties;
}
public MavenEmbedderRequest setSystemProperties( Properties systemProperties ) {
this.systemProperties = systemProperties;
return this;
}
public String getPrivateRepository() {
return privateRepository;
}
public MavenEmbedderRequest setPrivateRepository( String privateRepository ) {
this.privateRepository = privateRepository;
return this;
}
public File getAlternateSettings() {
return alternateSettings;
}
public MavenEmbedderRequest setAlternateSettings( File alternateSettings ) {
this.alternateSettings = alternateSettings;
return this;
}
public TransferListener getTransferListener() {
return transferListener;
}
public MavenEmbedderRequest setTransferListener( TransferListener transferListener ) {
this.transferListener = transferListener;
return this;
}
public ClassLoader getClassLoader() {
return classLoader;
}
public MavenEmbedderRequest setClassLoader( ClassLoader classLoader ) {
this.classLoader = classLoader;
return this;
}
public boolean isProcessPlugins() {
return processPlugins;
}
public MavenEmbedderRequest setProcessPlugins( boolean processPlugins ) {
this.processPlugins = processPlugins;
return this;
}
public boolean isResolveDependencies() {
return resolveDependencies;
}
public MavenEmbedderRequest setResolveDependencies( boolean resolveDependencies ) {
this.resolveDependencies = resolveDependencies;
return this;
}
public int getValidationLevel() {
return validationLevel;
}
public MavenEmbedderRequest setValidationLevel( int validationLevel ) {
this.validationLevel = validationLevel;
return this;
}
public WorkspaceReader getWorkspaceReader() {
return workspaceReader;
}
public void setWorkspaceReader( WorkspaceReader workspaceReader ) {
this.workspaceReader = workspaceReader;
}
}