Files
jenkins/maven-plugin/src/main/java/hudson/maven/MavenAggregatedReport.java
T
kohsuke a1239983e9 Merged revisions 16689-16697,16701-16710,16712-16714 via svnmerge from
https://www.dev.java.net/svn/hudson/branches/HUDSON-3251

........
  r16689 | kohsuke | 2009-03-29 08:52:25 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (1/18) moving maven-related source to maven-plugin
........
  r16690 | kohsuke | 2009-03-29 08:57:23 -0700 (Sun, 29 Mar 2009) | 4 lines
  
  [HUDSON-3251] (3/18) moved KeptBecauseOfParent message
  
  Note I skipped (2/18) to move the logic into MavenProject.DescriptorImpl.isApplicable.
........
  r16691 | kohsuke | 2009-03-29 08:58:21 -0700 (Sun, 29 Mar 2009) | 3 lines
  
  [HUDSON-3251] (4/18) removed imports and javadoc links to Maven-related classes
........
  r16692 | kohsuke | 2009-03-29 08:59:49 -0700 (Sun, 29 Mar 2009) | 2 lines
  
  [HUDSON-3251] (5/18) moving maven-related functionality to maven plugin.
........
  r16693 | kohsuke | 2009-03-29 09:01:11 -0700 (Sun, 29 Mar 2009) | 5 lines
  
  [HUDSON-3251] (5/18) moving maven-related functionality to maven plugin
  
  Forgot to add a newly created file.
........
  r16694 | kohsuke | 2009-03-29 09:02:24 -0700 (Sun, 29 Mar 2009) | 1 line
  
  needs a copyright header on all files in the core
........
  r16695 | kohsuke | 2009-03-29 09:07:03 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (6/18) updating poms and packaging to bundle maven plugin (with a minor adjustment to revert forkMode change)
........
  r16696 | kohsuke | 2009-03-29 09:17:58 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (6/18) updating poms and packaging to bundle maven plugin (with a minor adjustment to revert forkMode change)
........
  r16697 | kohsuke | 2009-03-29 09:38:23 -0700 (Sun, 29 Mar 2009) | 2 lines
  
  [HUDSON-3251] (7/18) add a hudson.bundled.plugins property that can override the default bundled plugins.
........
  r16701 | kohsuke | 2009-03-29 15:14:38 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (8/18) finding Maven jars through reflection for now. TODO: introduce a post-initialization hook
........
  r16702 | kohsuke | 2009-03-29 15:20:36 -0700 (Sun, 29 Mar 2009) | 2 lines
  
  [HUDSON-3251] (10/18) use lastModified to avoid unpacking bundled plugins unnecessarily.
........
  r16703 | kohsuke | 2009-03-29 15:21:15 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (12/18) updating poms and packaging to bundle maven plugin
........
  r16704 | kohsuke | 2009-03-29 15:37:32 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (15/18) resolve plugins from the classpath in tests. Slightly reworked.
........
  r16705 | kohsuke | 2009-03-29 15:38:12 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (16/18) update hpi plugin version
........
  r16706 | kohsuke | 2009-03-29 15:38:54 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] (17/18) moved createExecutedMojoCache
........
  r16707 | kohsuke | 2009-03-29 15:42:38 -0700 (Sun, 29 Mar 2009) | 3 lines
  
  [HUDSON-3251] after looking at (18/18), I think the same effect can be achieved more easily by not setting this system property at all.
  
  Or am I missing something?
........
  r16708 | kohsuke | 2009-03-29 15:43:30 -0700 (Sun, 29 Mar 2009) | 1 line
  
  formatting change
........
  r16709 | kohsuke | 2009-03-29 15:58:16 -0700 (Sun, 29 Mar 2009) | 1 line
  
  [HUDSON-3251] ignore certain builders and publishers in Maven2 job type. This does the same thing as (2/18) in Tom's patch, but I believe this is better. Still needs to figure out how to do this for MavenModule, which doesn't have a descriptor.
........
  r16710 | kohsuke | 2009-03-29 16:01:00 -0700 (Sun, 29 Mar 2009) | 1 line
  
  ignore generated files
........
  r16712 | kohsuke | 2009-03-29 16:29:05 -0700 (Sun, 29 Mar 2009) | 3 lines
  
  [HUDSON-3251] revisited patch (8/18). ComputerListener is extended to support the preOnline step, so that some operations can be carried out whose failure will result in the node failing to become online.
  
  Maven-plugin uses this now to avoid the use of reflection.
........
  r16713 | kohsuke | 2009-03-29 16:38:48 -0700 (Sun, 29 Mar 2009) | 1 line
  
  switching to fork because otherwise the test fails with PermGen out of space
........
  r16714 | kohsuke | 2009-03-29 16:39:36 -0700 (Sun, 29 Mar 2009) | 1 line
  
  no, the next version is 1.295.
........


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@16734 71c3de6d-444a-0410-be80-ed276b4c234a
2009-03-30 21:55:33 +00:00

80 lines
3.1 KiB
Java

/*
* The MIT License
*
* Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package hudson.maven;
import hudson.model.AbstractProject;
import hudson.model.Action;
import hudson.tasks.BuildStep;
import java.util.List;
import java.util.Map;
/**
* {@link Action} to be associated with {@link MavenModuleSetBuild},
* which usually displays some aspect of the aggregated results
* of the module builds (such as aggregated test result, aggregated
* coverage report, etc.)
*
* <p>
* When a module build is completed, {@link MavenBuild#getModuleSetBuild()
* its governing MavenModuleSetBuild} tries to create an instane of
* {@link MavenAggregatedReport} from each kind of {@link MavenReporterDescriptor}
* whose {@link MavenReporter}s are used on module builds.
*
* <p>
* The obtained instance is then persisted with {@link MavenModuleSetBuild}.
*
* @author Kohsuke Kawaguchi
* @since 1.99
* @see AggregatableAction
*/
public interface MavenAggregatedReport extends Action {
/**
* Called whenever a new module build is completed, to update the
* aggregated report. When multiple builds complete simultaneously,
* Hudson serializes the execution of this method, so this method
* needs not be concurrency-safe.
*
* @param moduleBuilds
* Same as <tt>MavenModuleSet.getModuleBuilds()</tt> but provided for convenience and efficiency.
* @param newBuild
* Newly completed build.
*/
void update(Map<MavenModule,List<MavenBuild>> moduleBuilds, MavenBuild newBuild);
/**
* Returns the implementation class of {@link AggregatableAction} that
* produces this {@link MavenAggregatedReport}. Hudson uses this method
* to determine which {@link AggregatableAction} is aggregated to
* which {@link MavenAggregatedReport}.
*/
Class<? extends AggregatableAction> getIndividualActionType();
/**
* Equivalent of {@link BuildStep#getProjectAction(AbstractProject)}
* for {@link MavenAggregatedReport}.
*/
Action getProjectAction(MavenModuleSet moduleSet);
}