From 333c3a0e7f2e259cf10de20d2931c5c6c4e52bc1 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 30 Oct 2012 18:32:11 +0100 Subject: [PATCH 1/4] folder icons --- .../src/com/intellij/analysis/AnalysisUIOptions.java | 3 +-- .../com/intellij/openapi/vcs/changes/ChangesViewManager.java | 3 +-- .../intellij/openapi/vcs/changes/UnversionedViewDialog.java | 4 ++-- .../com/intellij/openapi/vcs/changes/ui/ChangesTreeList.java | 3 +-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/analysis/AnalysisUIOptions.java b/platform/lang-impl/src/com/intellij/analysis/AnalysisUIOptions.java index 863999b03366..1e1658c7b0ae 100644 --- a/platform/lang-impl/src/com/intellij/analysis/AnalysisUIOptions.java +++ b/platform/lang-impl/src/com/intellij/analysis/AnalysisUIOptions.java @@ -25,7 +25,6 @@ import com.intellij.openapi.actionSystem.ToggleAction; import com.intellij.openapi.components.*; import com.intellij.openapi.project.Project; import com.intellij.ui.AutoScrollToSourceHandler; -import com.intellij.util.PlatformIcons; import com.intellij.util.xmlb.XmlSerializerUtil; /** @@ -150,7 +149,7 @@ public class AnalysisUIOptions implements PersistentStateComponent extends JPanel implements TypeSafeDataP public ToggleShowDirectoriesAction() { super(VcsBundle.message("changes.action.show.directories.text"), VcsBundle.message("changes.action.show.directories.description"), - PlatformIcons.DIRECTORY_CLOSED_ICON); + AllIcons.Actions.GroupByPackage); } public boolean isSelected(AnActionEvent e) { From 26473090452161119a6bb90ccfcadd6c70e3bdfb Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 30 Oct 2012 21:28:17 +0400 Subject: [PATCH 2/4] external artifact builder: fixed clearing output directory on rebuild for archive artifacts --- .../jetbrains/jps/builders/BuildTarget.java | 2 +- .../jps/incremental/ModuleBuildTarget.java | 2 +- .../artifacts/ArtifactBuildTarget.java | 6 +++--- .../artifacts/ArtifactBuilderTest.java | 18 +++++++++++++++++- .../android/builder/AndroidBuildTarget.java | 2 +- .../maven/model/impl/MavenResourcesTarget.java | 2 +- 6 files changed, 24 insertions(+), 8 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 d228a80b0902..990f64280b1c 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/BuildTarget.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/BuildTarget.java @@ -47,7 +47,7 @@ public abstract class BuildTarget { public abstract String getPresentableName(); @NotNull - public abstract Collection getOutputDirs(CompileContext context); + public abstract Collection getOutputRoots(CompileContext context); @Override public String toString() { 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 3dd48ebe5452..d8b7abb75be0 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleBuildTarget.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleBuildTarget.java @@ -51,7 +51,7 @@ public class ModuleBuildTarget extends ModuleBasedTarget getOutputDirs(CompileContext context) { + public Collection getOutputRoots(CompileContext context) { Collection result = new SmartList(); final File outputDir = getOutputDir(); if (outputDir != null) { 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 b08fb0bcb43f..e5819a1fadff 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 @@ -126,8 +126,8 @@ public class ArtifactBuildTarget extends BuildTarget { @NotNull @Override - public Collection getOutputDirs(CompileContext ccontext) { - String outputPath = myArtifact.getOutputPath(); - return outputPath != null && !StringUtil.isEmpty(outputPath) ? Collections.singleton(new File(FileUtil.toSystemDependentName(outputPath))) : Collections.emptyList(); + public Collection getOutputRoots(CompileContext context) { + String outputFilePath = myArtifact.getOutputFilePath(); + return outputFilePath != null && !StringUtil.isEmpty(outputFilePath) ? Collections.singleton(new File(FileUtil.toSystemDependentName(outputFilePath))) : Collections.emptyList(); } } diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java index 506004b2853e..19244cadec31 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/incremental/artifacts/ArtifactBuilderTest.java @@ -273,11 +273,27 @@ public class ArtifactBuilderTest extends ArtifactBuilderTestCase { String file = createFile("d/a.txt"); JpsArtifact a = addArtifact(root().parentDirCopy(file)); buildAll(); - new File(a.getOutputPath(), "b.txt").createNewFile(); + createFileInArtifactOutput(a, "b.txt"); buildAllAndAssertUpToDate(); assertOutput(a, fs().file("a.txt").file("b.txt")); rebuildAll(); assertOutput(a, fs().file("a.txt")); } + + public void testDeleteOnlyOutputFileOnRebuildForArchiveArtifact() throws IOException { + String file = createFile("a.txt"); + JpsArtifact a = addArtifact(archive("a.jar").fileCopy(file)); + buildAll(); + createFileInArtifactOutput(a, "b.txt"); + buildAllAndAssertUpToDate(); + assertOutput(a, fs().archive("a.jar").file("a.txt").end().file("b.txt")); + + rebuildAll(); + assertOutput(a, fs().archive("a.jar").file("a.txt").end().file("b.txt")); + } + + private static void createFileInArtifactOutput(JpsArtifact a, final String fileName) throws IOException { + assertTrue(new File(a.getOutputPath(), fileName).createNewFile()); + } } diff --git a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/builder/AndroidBuildTarget.java b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/builder/AndroidBuildTarget.java index f73a169dc7ff..d0f849ea4e88 100644 --- a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/builder/AndroidBuildTarget.java +++ b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/builder/AndroidBuildTarget.java @@ -88,7 +88,7 @@ public class AndroidBuildTarget extends ModuleBasedTarget { @NotNull @Override - public Collection getOutputDirs(CompileContext context) { + public Collection getOutputRoots(CompileContext context) { return Collections.emptyList(); } 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 d90981ac11f1..24369f6368ad 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 @@ -107,7 +107,7 @@ public class MavenResourcesTarget extends ModuleBasedTarget getOutputDirs(CompileContext context) { + public Collection getOutputRoots(CompileContext context) { final Set result = new THashSet(FileUtil.FILE_HASHING_STRATEGY); final File moduleOutput = getModuleOutputDir(); for (ResourceRootConfiguration resConfig : getRootConfigurations(context.getProjectDescriptor().dataManager.getDataPaths())) { From 5cd84f2c6583212538fb577a37570540446e83d1 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 30 Oct 2012 21:40:03 +0400 Subject: [PATCH 3/4] fixed after merge --- .../org/jetbrains/jps/incremental/BuildOperations.java | 10 +++++----- .../jetbrains/jps/incremental/IncProjectBuilder.java | 5 ++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildOperations.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildOperations.java index 6b42a352e4ca..8bb2b129a070 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildOperations.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuildOperations.java @@ -139,17 +139,17 @@ public class BuildOperations { myTarget = target; myContext = context; myFileGeneratedEvent = new FileGeneratedEvent(); - myOutputs = myTarget.getOutputDirs(context); + myOutputs = myTarget.getOutputRoots(context); } @Override public void registerOutputFile(String outputFilePath, Collection sourceFiles) throws IOException { final File outputFile = new File(outputFilePath); - for (File outputDir : myOutputs) { - if (FileUtil.isAncestor(outputDir, outputFile, true)) { - final String relativePath = FileUtil.getRelativePath(outputDir, outputFile); + for (File outputRoot : myOutputs) { + if (FileUtil.isAncestor(outputRoot, outputFile, false)) { + final String relativePath = FileUtil.getRelativePath(outputRoot, outputFile); if (relativePath != null) { - myFileGeneratedEvent.add(FileUtil.toSystemIndependentName(outputDir.getPath()), FileUtil.toSystemIndependentName(relativePath)); + myFileGeneratedEvent.add(FileUtil.toSystemIndependentName(outputRoot.getPath()), FileUtil.toSystemIndependentName(relativePath)); } break; } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java index 963a997b5fa9..60371990fb4a 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java @@ -322,7 +322,7 @@ public class IncProjectBuilder { ProjectDescriptor projectDescriptor = context.getProjectDescriptor(); for (BuildTarget target : projectDescriptor.getBuildTargetIndex().getAllTargets()) { - final Collection outputs = target.getOutputDirs(context); + final Collection outputs = target.getOutputRoots(context); for (File file : outputs) { rootsToDelete.putValue(file, target); } @@ -363,6 +363,9 @@ public class IncProjectBuilder { if (children != null) { filesToDelete.addAll(Arrays.asList(children)); } + else if (outputRoot.isFile()) { + filesToDelete.add(outputRoot); + } } else { context.processMessage(new CompilerMessage( From 4e81cd46140302ef2f7efb85a2a20a02b15e3e75 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Tue, 30 Oct 2012 22:12:31 +0400 Subject: [PATCH 4/4] EA-36606 - AIOOBE: DefaultTableColumnModel.getColumn --- platform/platform-api/src/com/intellij/ui/table/TableView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/platform/platform-api/src/com/intellij/ui/table/TableView.java b/platform/platform-api/src/com/intellij/ui/table/TableView.java index 955d0a9507c8..0a7495d07c38 100644 --- a/platform/platform-api/src/com/intellij/ui/table/TableView.java +++ b/platform/platform-api/src/com/intellij/ui/table/TableView.java @@ -53,6 +53,7 @@ public class TableView extends BaseTableView implements ItemsProvider, Sel public void setModelAndUpdateColumns(final ListTableModel model) { super.setModel(model); + createDefaultColumnsFromModel(); updateColumnSizes(); }