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

hudson.maven.AbstractMavenProject Maven / Gradle / Ivy

package hudson.maven;

import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.Action;
import hudson.model.ItemGroup;
import hudson.triggers.Trigger;
import hudson.tasks.Maven.ProjectWithMaven;

import java.util.HashSet;
import java.util.Set;

/**
 * Common part between {@link MavenModule} and {@link MavenModuleSet}.
 *
 * @author Kohsuke Kawaguchi
 */
public abstract class AbstractMavenProject

,R extends AbstractBuild> extends AbstractProject implements ProjectWithMaven { protected AbstractMavenProject(ItemGroup parent, String name) { super(parent, name); } protected void updateTransientActions() { synchronized(transientActions) { super.updateTransientActions(); // if we just pick up the project actions from the last build, // and if the last build failed very early, then the reports that // kick in later (like test results) won't be displayed. // so pick up last successful build, too. Set added = new HashSet(); addTransientActionsFromBuild(getLastBuild(),added); addTransientActionsFromBuild(getLastSuccessfulBuild(),added); for (Trigger trigger : triggers) { Action a = trigger.getProjectAction(); if(a!=null) transientActions.add(a); } } } protected abstract void addTransientActionsFromBuild(R lastBuild, Set added); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy