mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote branch 'origin/master'
This commit is contained in:
@@ -47,7 +47,7 @@ public abstract class BuildTarget<R extends BuildRootDescriptor> {
|
||||
public abstract String getPresentableName();
|
||||
|
||||
@NotNull
|
||||
public abstract Collection<File> getOutputDirs(CompileContext context);
|
||||
public abstract Collection<File> getOutputRoots(CompileContext context);
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
@@ -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<String> 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;
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ public class IncProjectBuilder {
|
||||
|
||||
ProjectDescriptor projectDescriptor = context.getProjectDescriptor();
|
||||
for (BuildTarget<?> target : projectDescriptor.getBuildTargetIndex().getAllTargets()) {
|
||||
final Collection<File> outputs = target.getOutputDirs(context);
|
||||
final Collection<File> 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(
|
||||
|
||||
@@ -51,7 +51,7 @@ public class ModuleBuildTarget extends ModuleBasedTarget<JavaSourceRootDescripto
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<File> getOutputDirs(CompileContext context) {
|
||||
public Collection<File> getOutputRoots(CompileContext context) {
|
||||
Collection<File> result = new SmartList<File>();
|
||||
final File outputDir = getOutputDir();
|
||||
if (outputDir != null) {
|
||||
|
||||
+3
-3
@@ -126,8 +126,8 @@ public class ArtifactBuildTarget extends BuildTarget<ArtifactRootDescriptor> {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<File> getOutputDirs(CompileContext ccontext) {
|
||||
String outputPath = myArtifact.getOutputPath();
|
||||
return outputPath != null && !StringUtil.isEmpty(outputPath) ? Collections.singleton(new File(FileUtil.toSystemDependentName(outputPath))) : Collections.<File>emptyList();
|
||||
public Collection<File> getOutputRoots(CompileContext context) {
|
||||
String outputFilePath = myArtifact.getOutputFilePath();
|
||||
return outputFilePath != null && !StringUtil.isEmpty(outputFilePath) ? Collections.singleton(new File(FileUtil.toSystemDependentName(outputFilePath))) : Collections.<File>emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
+17
-1
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<AnalysisUIOpt
|
||||
public AnAction createGroupByDirectoryAction(final InspectionResultsView view) {
|
||||
return new ToggleAction("Group by directory",
|
||||
"Group by directory",
|
||||
PlatformIcons.DIRECTORY_CLOSED_ICON) {
|
||||
AllIcons.Actions.GroupByPackage) {
|
||||
|
||||
@Override
|
||||
public boolean isSelected(AnActionEvent e) {
|
||||
|
||||
@@ -53,6 +53,7 @@ public class TableView<Item> extends BaseTableView implements ItemsProvider, Sel
|
||||
|
||||
public void setModelAndUpdateColumns(final ListTableModel<Item> model) {
|
||||
super.setModel(model);
|
||||
createDefaultColumnsFromModel();
|
||||
updateColumnSizes();
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,6 @@ import com.intellij.ui.SideBorder;
|
||||
import com.intellij.ui.content.Content;
|
||||
import com.intellij.ui.content.ContentFactory;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import com.intellij.util.messages.MessageBusConnection;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
@@ -541,7 +540,7 @@ public class ChangesViewManager implements ChangesViewI, JDOMExternalizable, Pro
|
||||
public ToggleShowFlattenAction() {
|
||||
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) {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.CommonActionsManager;
|
||||
import com.intellij.ide.TreeExpander;
|
||||
import com.intellij.ide.util.treeView.TreeState;
|
||||
@@ -37,7 +38,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import com.intellij.util.EditSourceOnDoubleClickHandler;
|
||||
import com.intellij.util.EditSourceOnEnterKeyHandler;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -222,7 +222,7 @@ public class UnversionedViewDialog extends DialogWrapper {
|
||||
public ToggleShowFlattenAction() {
|
||||
super(VcsBundle.message("changes.action.show.directories.text"),
|
||||
VcsBundle.message("changes.action.show.directories.description"),
|
||||
PlatformIcons.DIRECTORY_CLOSED_ICON);
|
||||
AllIcons.Actions.GroupByPackage);
|
||||
myFlattenState = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@ import com.intellij.ui.components.panels.NonOpaquePanel;
|
||||
import com.intellij.ui.treeStructure.Tree;
|
||||
import com.intellij.ui.treeStructure.actions.CollapseAllAction;
|
||||
import com.intellij.ui.treeStructure.actions.ExpandAllAction;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import com.intellij.util.containers.Convertor;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
@@ -799,7 +798,7 @@ public abstract class ChangesTreeList<T> 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) {
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ public class AndroidBuildTarget extends ModuleBasedTarget<BuildRootDescriptor> {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<File> getOutputDirs(CompileContext context) {
|
||||
public Collection<File> getOutputRoots(CompileContext context) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -107,7 +107,7 @@ public class MavenResourcesTarget extends ModuleBasedTarget<MavenResourceRootDes
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<File> getOutputDirs(CompileContext context) {
|
||||
public Collection<File> getOutputRoots(CompileContext context) {
|
||||
final Set<File> result = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
|
||||
final File moduleOutput = getModuleOutputDir();
|
||||
for (ResourceRootConfiguration resConfig : getRootConfigurations(context.getProjectDescriptor().dataManager.getDataPaths())) {
|
||||
|
||||
Reference in New Issue
Block a user