All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.maven.MavenEmbedderRequest Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 2.2.0
Show newest version
/**
 * 
 */
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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy