mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix module-info integrate after errors (IDEA-181208)
This commit is contained in:
+3
@@ -0,0 +1,3 @@
|
||||
module A {
|
||||
exports ppp;
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
module A {
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package ppp;
|
||||
|
||||
public class Util {
|
||||
public static void perform() {
|
||||
System.out.println("Util.perform");
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
module B {
|
||||
requires A;
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package qqq;
|
||||
|
||||
import ppp.*;
|
||||
|
||||
public class Client {
|
||||
public void perform() { error
|
||||
Util.perform();
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package qqq;
|
||||
|
||||
import ppp.*;
|
||||
|
||||
public class Client {
|
||||
public void perform() {
|
||||
Util.perform();
|
||||
}
|
||||
}
|
||||
@@ -2340,8 +2340,13 @@ public class Mappings {
|
||||
if (modulesDiff.unchanged()) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (ModuleRepr moduleRepr : modulesDiff.added()) {
|
||||
myDelta.addChangedClass(moduleRepr.name); // need this for integrate
|
||||
}
|
||||
|
||||
for (ModuleRepr removedModule : modulesDiff.removed()) {
|
||||
myDelta.addDeletedClass(removedModule, fileName);
|
||||
myDelta.addDeletedClass(removedModule, fileName); // need this for integrate
|
||||
myPresent.affectDependentModules(state, removedModule.name, null, true);
|
||||
}
|
||||
|
||||
@@ -2352,7 +2357,7 @@ public class Mappings {
|
||||
boolean affectDeps = false;
|
||||
UsageConstraint constraint = null;
|
||||
|
||||
myDelta.addChangedClass(moduleRepr.name);
|
||||
myDelta.addChangedClass(moduleRepr.name); // need this for integrate
|
||||
|
||||
if (d.versionChanged()) {
|
||||
final int version = moduleRepr.getVersion();
|
||||
|
||||
@@ -95,7 +95,7 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
private void modify(int stage) {
|
||||
protected void modify(int stage) {
|
||||
final String removedSuffix = stage == 0? ".remove" : ".remove" + stage;
|
||||
final String newSuffix = stage == 0? ".new" : ".new" + stage;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.jetbrains.ether;
|
||||
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import org.jetbrains.jps.builders.BuildResult;
|
||||
import org.jetbrains.jps.builders.CompileScopeTestBuilder;
|
||||
import org.jetbrains.jps.model.JpsModuleRootModificationUtil;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
@@ -84,6 +85,17 @@ public class Java9Test extends IncrementalTestCase {
|
||||
buildResult.assertSuccessful();
|
||||
}
|
||||
|
||||
public void testIntegrateAfterErrors() {
|
||||
setupInitialProject();
|
||||
setupModules();
|
||||
|
||||
doBuild(CompileScopeTestBuilder.rebuild().allModules()).assertFailed();
|
||||
modify(0);
|
||||
doBuild(CompileScopeTestBuilder.make().allModules()).assertSuccessful();
|
||||
modify(1);
|
||||
doBuild(CompileScopeTestBuilder.make().allModules()).assertFailed();
|
||||
}
|
||||
|
||||
protected BuildResult doTestBuild(int makesCount) {
|
||||
setupModules();
|
||||
return super.doTestBuild(makesCount);
|
||||
|
||||
Reference in New Issue
Block a user