Skip to content

Commit 23f32d7

Browse files
Merge pull request #126 from nebula-plugins/gracefully-create-configuration
Gracefully create a copy configuration
2 parents e082c1a + d09fc96 commit 23f32d7

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/main/groovy/netflix/nebula/dependency/recommender/ExtendRecommenderConfigurationAction.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,15 @@ public void execute(Configuration configuration) {
6767
* will be not only a different instance, but also may return different deprecation values.
6868
*/
6969
private DefaultConfiguration createCopy(Set<Dependency> dependencies, Set<DependencyConstraint> dependencyConstraints) {
70-
DefaultConfiguration copiedConfiguration = (DefaultConfiguration) project.getConfigurations().create(getNameWithCopySuffix());
71-
copiedConfiguration.setVisible(false);
72-
copiedConfiguration.setCanBeResolved(false);
73-
copiedConfiguration.setCanBeConsumed(bom.isCanBeConsumed());
74-
copiedConfiguration.setTransitive(bom.isTransitive());
75-
copiedConfiguration.setDescription(bom.getDescription());
70+
DefaultConfiguration copiedConfiguration = (DefaultConfiguration) project.getConfigurations().findByName(getNameWithCopySuffix());
71+
if (copiedConfiguration == null) {
72+
copiedConfiguration = (DefaultConfiguration) project.getConfigurations().create(getNameWithCopySuffix());
73+
copiedConfiguration.setVisible(false);
74+
copiedConfiguration.setCanBeResolved(false);
75+
copiedConfiguration.setCanBeConsumed(bom.isCanBeConsumed());
76+
copiedConfiguration.setTransitive(bom.isTransitive());
77+
copiedConfiguration.setDescription(bom.getDescription());
78+
}
7679
copiedConfiguration.getArtifacts().addAll(bom.getAllArtifacts());
7780
for (ExcludeRule excludeRule : bom.getExcludeRules()) {
7881
copiedConfiguration.getExcludeRules().add(new DefaultExcludeRule(excludeRule.getGroup(), excludeRule.getModule()));

0 commit comments

Comments
 (0)