From 823f8cbc440ea2ae7184b387d65bc8277aad0992 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 5 Oct 2016 18:09:26 +0300 Subject: [PATCH] ArtifactBuildTaskProvider: javadoc added --- .../builders/artifacts/ArtifactBuildTaskProvider.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/artifacts/ArtifactBuildTaskProvider.java b/jps/jps-builders/src/org/jetbrains/jps/builders/artifacts/ArtifactBuildTaskProvider.java index 5d0ff6cc85c6..84972eb29617 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/artifacts/ArtifactBuildTaskProvider.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/artifacts/ArtifactBuildTaskProvider.java @@ -22,6 +22,10 @@ import org.jetbrains.jps.model.artifact.JpsArtifact; import java.util.List; /** + * Allows to perform additional tasks when artifacts are built. Implementations of this class are registered as Java services, by creating + * a file META-INF/services/org.jetbrains.jps.builders.artifacts.ArtifactBuildTaskProvider containing the qualified name of your + * implementation class. + * * @author nik */ public abstract class ArtifactBuildTaskProvider { @@ -38,6 +42,13 @@ public abstract class ArtifactBuildTaskProvider { } } + /** + * Returns list of tasks which need to be executed during {@code buildPhase} when {@code artifact} is building. Firstly tasks returned for + * {@link ArtifactBuildPhase#PRE_PROCESSING PRE_PROCESSING} are executed, then files specified in the artifact layout are copied to the output directory. + * If all files in the artifact output were up to date, i.e. no copying was performed, the build finishes. Otherwise all tasks returned for + * {@link ArtifactBuildPhase#FINISHING_BUILD FINISHING_BUILD} are executed and then all tasks returned for + * {@link ArtifactBuildPhase#POST_PROCESSING POST_PROCESSING} are executed. + */ @NotNull public abstract List createArtifactBuildTasks(@NotNull JpsArtifact artifact, @NotNull ArtifactBuildPhase buildPhase); }