hudson.maven
Interface MavenBuildProxy

All Known Subinterfaces:
MavenBuildProxy2
All Known Implementing Classes:
AbstractMavenBuilder.FilterImpl, MavenBuild.ProxyImpl2, MavenBuildProxy.Filter, MavenBuildProxy2.Filter

public interface MavenBuildProxy

Remoting proxy interface for MavenReporters to talk to MavenBuild during the build. That is, this represents MavenBuild objects in the master's JVM to code running inside Maven JVM.

Author:
Kohsuke Kawaguchi

Nested Class Summary
static interface MavenBuildProxy.BuildCallable<V,T extends Throwable>
           
static class MavenBuildProxy.Filter<CORE extends MavenBuildProxy>
          Filter for MavenBuildProxy.
 
Method Summary
<V,T extends Throwable>
V
execute(MavenBuildProxy.BuildCallable<V,T> program)
          Executes the given MavenBuildProxy.BuildCallable on the master, where one has access to MavenBuild and all the other Hudson objects.
 void executeAsync(MavenBuildProxy.BuildCallable<?,?> program)
          Executes the given MavenBuildProxy.BuildCallable asynchronously on the master.
 FilePath getArtifactsDir()
          Deprecated. Does not work with ArtifactManager.
 MavenBuildInformation getMavenBuildInformation()
           
 long getMilliSecsSinceBuildStart()
          # of milliseconds elapsed since getTimestamp().
 FilePath getModuleSetRootDir()
          Root directory of the owner MavenModuleSet
 FilePath getProjectRootDir()
          Root directory of the parent of this build.
 FilePath getRootDir()
          Root directory of the build.
 Calendar getTimestamp()
           
 boolean isArchivingDisabled()
          If true, artifacts will not actually be archived to master.
 void queueArchiving(String artifactPath, String artifact)
           
 void registerAsAggregatedProjectAction(MavenReporter reporter)
          Nominates that the reporter will contribute a project action for this build by using MavenReporter.getAggregatedProjectAction(MavenModuleSet).
 void registerAsProjectAction(MavenProjectActionBuilder builder)
          Nominates that the reporter will contribute a project action for this build by using MavenReporter.getProjectActions(MavenModule).
 void registerAsProjectAction(MavenReporter reporter)
          Nominates that the reporter will contribute a project action for this build by using MavenReporter.getProjectActions(MavenModule).
 void setExecutedMojos(List<ExecutedMojo> executedMojos)
          Called at the end of the build to record what mojos are executed.
 void setResult(Result result)
           
 

Method Detail

execute

<V,T extends Throwable> V execute(MavenBuildProxy.BuildCallable<V,T> program)
          throws T extends Throwable,
                 IOException,
                 InterruptedException
Executes the given MavenBuildProxy.BuildCallable on the master, where one has access to MavenBuild and all the other Hudson objects.

The parameter, return value, and exception are all transfered by using Java serialization.

Returns:
the value that MavenBuildProxy.BuildCallable returned.
Throws:
T - if MavenBuildProxy.BuildCallable throws this exception.
IOException - if the remoting failed.
InterruptedException - if the remote execution is aborted.
T extends Throwable
See Also:
executeAsync(BuildCallable)

executeAsync

void executeAsync(MavenBuildProxy.BuildCallable<?,?> program)
                  throws IOException
Executes the given MavenBuildProxy.BuildCallable asynchronously on the master.

This method works like execute(BuildCallable) except that the method returns immediately and doesn't wait for the completion of the program.

The completions of asynchronous executions are accounted for before the build completes. If they throw exceptions, they'll be reported and the build will be marked as a failure.

Throws:
IOException

getRootDir

FilePath getRootDir()
Root directory of the build.

See Also:
Run.getRootDir()

getProjectRootDir

FilePath getProjectRootDir()
Root directory of the parent of this build.


getModuleSetRootDir

FilePath getModuleSetRootDir()
Root directory of the owner MavenModuleSet


getArtifactsDir

@Deprecated
FilePath getArtifactsDir()
Deprecated. Does not work with ArtifactManager.


queueArchiving

void queueArchiving(String artifactPath,
                    String artifact)
Parameters:
artifactPath - a relative /-separated path
artifact - absolute path name on the slave in the workspace
Since:
1.532
See Also:
ArtifactManager.archive(hudson.FilePath, hudson.Launcher, hudson.model.BuildListener, java.util.Map)

setResult

void setResult(Result result)
See Also:
Run.setResult(Result)

getTimestamp

Calendar getTimestamp()
See Also:
Run.getTimestamp()

getMilliSecsSinceBuildStart

long getMilliSecsSinceBuildStart()
# of milliseconds elapsed since getTimestamp(). Where the clock skew is involved between the master and the Maven JVM, comparing current time on Maven JVM with getTimestamp() could be problematic, but this value is more robust.


isArchivingDisabled

boolean isArchivingDisabled()
If true, artifacts will not actually be archived to master. Calls MavenModuleSet.isArchivingDisabled().


registerAsProjectAction

void registerAsProjectAction(MavenReporter reporter)
Nominates that the reporter will contribute a project action for this build by using MavenReporter.getProjectActions(MavenModule).

The specified MavenReporter object will be transfered to the master and will become a persisted part of the MavenBuild.


registerAsProjectAction

void registerAsProjectAction(MavenProjectActionBuilder builder)
Nominates that the reporter will contribute a project action for this build by using MavenReporter.getProjectActions(MavenModule).

The specified MavenReporter object will be transferred to the master and will become a persisted part of the MavenBuild.

Since:
1.372

registerAsAggregatedProjectAction

void registerAsAggregatedProjectAction(MavenReporter reporter)
Nominates that the reporter will contribute a project action for this build by using MavenReporter.getAggregatedProjectAction(MavenModuleSet).

The specified MavenReporter object will be transfered to the master and will become a persisted part of the MavenModuleSetBuild.


setExecutedMojos

void setExecutedMojos(List<ExecutedMojo> executedMojos)
Called at the end of the build to record what mojos are executed.


getMavenBuildInformation

MavenBuildInformation getMavenBuildInformation()


Copyright © 2004-2013. All Rights Reserved.