[Gradle] do not request multiple times the same model for same ProjectImportModelProviders

GitOrigin-RevId: b83f1fc5682c6f43bd1bede65df34b63beaf5875
This commit is contained in:
Vladislav.Soroka
2019-10-02 14:03:13 +00:00
committed by intellij-monorepo-bot
parent b3af7f7014
commit 200db76822
3 changed files with 46 additions and 0 deletions
@@ -36,4 +36,18 @@ public final class ClassSetBuildImportModelProvider implements ProjectImportMode
@NotNull ProjectModelConsumer modelConsumer) {
// Do nothing, this provider only works on the build model level
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ClassSetBuildImportModelProvider provider = (ClassSetBuildImportModelProvider)o;
if (!classSet.equals(provider.classSet)) return false;
return true;
}
@Override
public int hashCode() {
return classSet.hashCode();
}
}
@@ -41,4 +41,22 @@ public final class ClassSetImportModelProvider implements ProjectImportModelProv
}
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ClassSetImportModelProvider provider = (ClassSetImportModelProvider)o;
if (!projectModelClasses.equals(provider.projectModelClasses)) return false;
if (!buildModelClasses.equals(provider.buildModelClasses)) return false;
return true;
}
@Override
public int hashCode() {
int result = projectModelClasses.hashCode();
result = 31 * result + buildModelClasses.hashCode();
return result;
}
}
@@ -34,4 +34,18 @@ public final class ClassSetProjectImportModelProvider implements ProjectImportMo
}
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ClassSetProjectImportModelProvider provider = (ClassSetProjectImportModelProvider)o;
if (!classSet.equals(provider.classSet)) return false;
return true;
}
@Override
public int hashCode() {
return classSet.hashCode();
}
}