mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fixed dependency mapping (jps/incremental).
This commit is contained in:
@@ -86,7 +86,7 @@ public class Mappings {
|
||||
}
|
||||
|
||||
private void createImplementation(final File rootDir, final boolean isTransient) throws IOException {
|
||||
if (! isTransient) {
|
||||
if (!isTransient) {
|
||||
myContext = new DependencyContext(rootDir);
|
||||
}
|
||||
|
||||
@@ -578,11 +578,13 @@ public class Mappings {
|
||||
|
||||
void affectAll(final DependencyContext.S className, final Collection<File> affectedFiles) {
|
||||
final Set<DependencyContext.S> dependants = (Set<DependencyContext.S>)myClassToClassDependency.get(className);
|
||||
final DependencyContext.S sourceFile = myClassToSourceFile.get(className);
|
||||
|
||||
if (dependants != null) {
|
||||
for (DependencyContext.S depClass : dependants) {
|
||||
final DependencyContext.S depFile = myClassToSourceFile.get(depClass);
|
||||
if (depFile != null) {
|
||||
|
||||
if (depFile != null && sourceFile != null && !depFile.equals(sourceFile)) {
|
||||
affectedFiles.add(new File(myContext.getValue(depFile)));
|
||||
}
|
||||
}
|
||||
@@ -1299,9 +1301,9 @@ public class Mappings {
|
||||
}
|
||||
|
||||
//final Set<ClassRepr> cl = (Set<ClassRepr>) delta.mySourceFileToClasses.get(new DependencyContext.S(352));
|
||||
|
||||
|
||||
//System.out.println("There: " + (cl == null ? "wow..." : cl.size()));
|
||||
|
||||
|
||||
myClassToSubclasses.putAll(delta.myClassToSubclasses);
|
||||
mySourceFileToClasses.putAll(delta.mySourceFileToClasses);
|
||||
mySourceFileToUsages.putAll(delta.mySourceFileToUsages);
|
||||
@@ -1374,18 +1376,30 @@ public class Mappings {
|
||||
if (repr != null) {
|
||||
final DependencyContext.S className = repr.name;
|
||||
|
||||
for (UsageRepr.Usage u : localUsages.getUsages()) {
|
||||
myClassToClassDependency.put(u.getOwner(), className);
|
||||
}
|
||||
}
|
||||
|
||||
if (repr != null) {
|
||||
myClassToSourceFile.put(repr.name, sourceFileNameS);
|
||||
mySourceFileToClasses.put(sourceFileNameS, repr);
|
||||
|
||||
for (DependencyContext.S s : repr.getSupers()) {
|
||||
myClassToSubclasses.put(s, repr.name);
|
||||
}
|
||||
|
||||
for (UsageRepr.Usage u : localUsages.getUsages()) {
|
||||
final DependencyContext.S owner = u.getOwner();
|
||||
|
||||
if (!owner.equals(className)) {
|
||||
final DependencyContext.S sourceFile = repr.getSourceFileName();
|
||||
final DependencyContext.S ownerSourceFile = myClassToSourceFile.get(owner);
|
||||
|
||||
if (ownerSourceFile != null) {
|
||||
if (!ownerSourceFile.equals(sourceFile)) {
|
||||
myClassToClassDependency.put(owner, className);
|
||||
}
|
||||
}
|
||||
else {
|
||||
myClassToClassDependency.put(owner, className);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!localUsages.isEmpty()) {
|
||||
@@ -1416,7 +1430,7 @@ public class Mappings {
|
||||
// only close if you own the context
|
||||
//final Set<ClassRepr> classes = (Set<ClassRepr>)mySourceFileToClasses.get(new DependencyContext.S(352));
|
||||
//System.out.println("Here: " + (classes == null ? "wow..." : classes.size()));
|
||||
|
||||
|
||||
myContext.close();
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user