mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
clear output directories when possible for ModuleBased-targets only (IDEA-164315)
This commit is contained in:
@@ -579,8 +579,15 @@ public class IncProjectBuilder {
|
||||
final ProjectDescriptor projectDescriptor = context.getProjectDescriptor();
|
||||
final List<? extends BuildTarget<?>> allTargets = projectDescriptor.getBuildTargetIndex().getAllTargets();
|
||||
for (BuildTarget<?> target : allTargets) {
|
||||
for (File file : target.getOutputRoots(context)) {
|
||||
rootsToDelete.putValue(file, target);
|
||||
if (target instanceof ModuleBasedTarget) {
|
||||
for (File file : target.getOutputRoots(context)) {
|
||||
rootsToDelete.putValue(file, target);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (context.getScope().isBuildForced(target)) {
|
||||
clearOutputFilesUninterruptibly(context, target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -368,7 +368,7 @@ public class ArtifactBuilderTest extends ArtifactBuilderTestCase {
|
||||
assertOutput(a, fs().file("a.txt").file("b.txt"));
|
||||
|
||||
rebuildAllModulesAndArtifacts();
|
||||
assertOutput(a, fs().file("a.txt"));
|
||||
assertOutput(a, fs().file("a.txt").file("b.txt"));
|
||||
}
|
||||
|
||||
public void testDeleteOnlyOutputFileOnRebuildForArchiveArtifact() throws IOException {
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ public class CleanArtifactOutputOnRebuildTest extends ArtifactBuilderTestCase {
|
||||
assertOutput(a, fs().file("a.txt").file("b.txt"));
|
||||
|
||||
rebuildAllModulesAndArtifacts();
|
||||
assertOutput(a, fs().file("a.txt"));
|
||||
assertOutput(a, fs().file("a.txt").file("b.txt"));
|
||||
}
|
||||
|
||||
public void testDoNotCleanOnRebuildIfOptionIsSwitchedOff() {
|
||||
@@ -78,7 +78,7 @@ public class CleanArtifactOutputOnRebuildTest extends ArtifactBuilderTestCase {
|
||||
createFileInArtifactOutput(included, "b.txt");
|
||||
assertOutput(included, fs().file("a.txt").file("b.txt"));
|
||||
rebuildAllModulesAndArtifacts();
|
||||
assertOutput(included, fs().file("a.txt"));
|
||||
assertOutput(included, fs().file("a.txt").file("b.txt"));
|
||||
}
|
||||
|
||||
public void testCleanModuleOutputIfItIsIncludedInArtifact() {
|
||||
|
||||
Reference in New Issue
Block a user