From 2f5819dffe854e69bce756b3b747b042d2b8aa61 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Fri, 1 Mar 2013 13:39:08 +0100 Subject: [PATCH] IDEA-99822 Make: Reload java source in different encoding does not trigger incremental make; passing ProjectDescriptor instead of Context object as BuildTarget configuration calculation depends on model only --- .../src/org/jetbrains/jps/builders/BuildTarget.java | 3 ++- .../src/org/jetbrains/jps/incremental/ModuleBuildTarget.java | 5 +++-- .../src/org/jetbrains/jps/incremental/ResourcesTarget.java | 5 +++-- .../jps/incremental/artifacts/ArtifactBuildTarget.java | 5 +++-- .../jps/incremental/storage/BuildTargetConfiguration.java | 2 +- .../jetbrains/jps/maven/model/impl/MavenResourcesTarget.java | 5 +++-- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/BuildTarget.java b/jps/jps-builders/src/org/jetbrains/jps/builders/BuildTarget.java index 4fd157e29c5d..08c452a048ec 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/BuildTarget.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/BuildTarget.java @@ -18,6 +18,7 @@ package org.jetbrains.jps.builders; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.builders.storage.BuildDataPaths; +import org.jetbrains.jps.cmdline.ProjectDescriptor; import org.jetbrains.jps.incremental.CompileContext; import org.jetbrains.jps.indices.IgnoredFileIndex; import org.jetbrains.jps.indices.ModuleExcludeIndex; @@ -46,7 +47,7 @@ public abstract class BuildTarget { public abstract Collection> computeDependencies(BuildTargetRegistry targetRegistry, TargetOutputIndex outputIndex); - public void writeConfiguration(CompileContext context, PrintWriter out) { + public void writeConfiguration(ProjectDescriptor pd, PrintWriter out) { } @NotNull diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleBuildTarget.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleBuildTarget.java index d85da8f9a414..0763f17a3ccb 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleBuildTarget.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleBuildTarget.java @@ -31,6 +31,7 @@ import org.jetbrains.jps.builders.java.ExcludedJavaSourceRootProvider; import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType; import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor; import org.jetbrains.jps.builders.storage.BuildDataPaths; +import org.jetbrains.jps.cmdline.ProjectDescriptor; import org.jetbrains.jps.indices.IgnoredFileIndex; import org.jetbrains.jps.indices.ModuleExcludeIndex; import org.jetbrains.jps.model.JpsModel; @@ -156,7 +157,7 @@ public final class ModuleBuildTarget extends JVMModuleBuildTarget roots = rootIndex.getTargetRoots(this, null); for (ResourceRootDescriptor root : roots) { fingerprint += FileUtil.fileHashCode(root.getRootFile()); diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuildTarget.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuildTarget.java index 1bacc2c70795..8370c752549b 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuildTarget.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/ArtifactBuildTarget.java @@ -22,6 +22,7 @@ import com.intellij.util.SmartList; import org.jetbrains.annotations.NotNull; import org.jetbrains.jps.builders.*; import org.jetbrains.jps.builders.storage.BuildDataPaths; +import org.jetbrains.jps.cmdline.ProjectDescriptor; import org.jetbrains.jps.incremental.CompileContext; import org.jetbrains.jps.incremental.artifacts.builders.LayoutElementBuildersRegistry; import org.jetbrains.jps.incremental.artifacts.impl.JpsArtifactUtil; @@ -106,9 +107,9 @@ public class ArtifactBuildTarget extends BuildTarget { } @Override - public void writeConfiguration(CompileContext context, PrintWriter out) { + public void writeConfiguration(ProjectDescriptor pd, PrintWriter out) { out.println(StringUtil.notNullize(myArtifact.getOutputPath())); - final BuildRootIndex rootIndex = context.getProjectDescriptor().getBuildRootIndex(); + final BuildRootIndex rootIndex = pd.getBuildRootIndex(); for (ArtifactRootDescriptor descriptor : rootIndex.getTargetRoots(this, null)) { descriptor.writeConfiguration(out); } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildTargetConfiguration.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildTargetConfiguration.java index 5b001facff92..abf0ca97aaf9 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildTargetConfiguration.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/storage/BuildTargetConfiguration.java @@ -126,7 +126,7 @@ public class BuildTargetConfiguration { private String saveToString(CompileContext context) { StringWriter out = new StringWriter(); //noinspection IOResourceOpenedButNotSafelyClosed - myTarget.writeConfiguration(context, new PrintWriter(out)); + myTarget.writeConfiguration(context.getProjectDescriptor(), new PrintWriter(out)); return out.toString(); } diff --git a/plugins/maven/jps-plugin/src/org/jetbrains/jps/maven/model/impl/MavenResourcesTarget.java b/plugins/maven/jps-plugin/src/org/jetbrains/jps/maven/model/impl/MavenResourcesTarget.java index 8cc12d1f9916..ccb6c7ab4eae 100644 --- a/plugins/maven/jps-plugin/src/org/jetbrains/jps/maven/model/impl/MavenResourcesTarget.java +++ b/plugins/maven/jps-plugin/src/org/jetbrains/jps/maven/model/impl/MavenResourcesTarget.java @@ -22,6 +22,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.builders.*; import org.jetbrains.jps.builders.storage.BuildDataPaths; +import org.jetbrains.jps.cmdline.ProjectDescriptor; import org.jetbrains.jps.incremental.CompileContext; import org.jetbrains.jps.indices.IgnoredFileIndex; import org.jetbrains.jps.indices.ModuleExcludeIndex; @@ -141,8 +142,8 @@ public class MavenResourcesTarget extends ModuleBasedTarget