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 17cfe2f33162..5d0ff6cc85c6 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 @@ -26,7 +26,16 @@ import java.util.List; */ public abstract class ArtifactBuildTaskProvider { public enum ArtifactBuildPhase { - PRE_PROCESSING, FINISHING_BUILD, POST_PROCESSING + PRE_PROCESSING("pre-processing"), FINISHING_BUILD("finishing"), POST_PROCESSING("post-processing"); + private final String myPresentableName; + + ArtifactBuildPhase(String presentableName) { + myPresentableName = presentableName; + } + + public String getPresentableName() { + return myPresentableName; + } } @NotNull diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java index a83164eeba34..5b09bd6dcfd8 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java @@ -185,8 +185,11 @@ public class IncArtifactBuilder extends TargetBuilder tasks = provider.createArtifactBuildTasks(artifact, phase); - for (BuildTask task : tasks) { - task.build(context); + if (!tasks.isEmpty()) { + context.processMessage(new ProgressMessage("Running " + phase.getPresentableName() + " tasks for '" + artifact.getName() + "' artifact...")); + for (BuildTask task : tasks) { + task.build(context); + } } } } diff --git a/plugins/ant/jps-plugin/src/org/jetbrains/jps/ant/build/AntArtifactBuildTaskProvider.java b/plugins/ant/jps-plugin/src/org/jetbrains/jps/ant/build/AntArtifactBuildTaskProvider.java index 6a4c9c8fdf2e..043b9f25467c 100644 --- a/plugins/ant/jps-plugin/src/org/jetbrains/jps/ant/build/AntArtifactBuildTaskProvider.java +++ b/plugins/ant/jps-plugin/src/org/jetbrains/jps/ant/build/AntArtifactBuildTaskProvider.java @@ -26,6 +26,7 @@ import com.intellij.openapi.util.Key; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.rt.ant.execution.AntMain2; +import com.intellij.util.PathUtilRt; import com.intellij.util.SystemProperties; import com.intellij.util.execution.ParametersListUtil; import org.jetbrains.annotations.NotNull; @@ -39,6 +40,7 @@ import org.jetbrains.jps.builders.artifacts.ArtifactBuildTaskProvider; import org.jetbrains.jps.incremental.*; import org.jetbrains.jps.incremental.messages.BuildMessage; import org.jetbrains.jps.incremental.messages.CompilerMessage; +import org.jetbrains.jps.incremental.messages.ProgressMessage; import org.jetbrains.jps.model.JpsDummyElement; import org.jetbrains.jps.model.JpsProject; import org.jetbrains.jps.model.artifact.JpsArtifact; @@ -173,6 +175,8 @@ public class AntArtifactBuildTaskProvider extends ArtifactBuildTaskProvider { programParams.add(targetName); } + context.processMessage(new ProgressMessage("Running " + (targetName != null ? "'" + targetName + "'" : "default") + " Ant target from '" + + PathUtilRt.getFileName(buildFilePath) + "' file...")); Iterable listeners = JpsServiceManager.getInstance().getExtensions(AntBuildTaskListener.class); for (AntBuildTaskListener listener : listeners) { listener.beforeAntBuildTaskStarted(myExtension, vmParams, programParams);