Skip to content

Commit 346b306

Browse files
committed
fix for GRAILS-5700 "Maven dependencies being cached by ivy"
1 parent c7fe67e commit 346b306

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/java/org/codehaus/groovy/grails/resolve/EnhancedDefaultDependencyDescriptor.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@ public class EnhancedDefaultDependencyDescriptor extends DefaultDependencyDescri
117117
field.set(this, b)
118118
}
119119

120+
void setChanging ( boolean b ) {
121+
// nasty hack since the isChanging Ivy field is not public
122+
Field field = getClass().getSuperclass().getDeclaredField("isChanging")
123+
field.accessible = true
124+
field.set(this, b)
125+
}
120126

121127
void addRuleForModuleId(ModuleId mid, String scope) {
122128
def id = new ArtifactId(mid, WILDCARD, WILDCARD, WILDCARD)

src/test/org/codehaus/groovy/grails/resolve/IvyDependencyManagerTests.groovy

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,21 @@ public class IvyDependencyManagerTests extends GroovyTestCase{
3333
GroovySystem.metaClassRegistry.removeMetaClass(System)
3434
}
3535

36+
void testChanging() {
37+
def settings = new BuildSettings()
38+
def manager = new IvyDependencyManager("test", "0.1",settings)
39+
40+
manager.parseDependencies {
41+
runtime( [group:"opensymphony", name:"oscache", version:"2.4.1", classifier:"source"] ) {
42+
changing = true
43+
}
44+
}
45+
46+
47+
def dep = manager.dependencyDescriptors.iterator().next()
48+
assert dep.changing
49+
50+
}
3651
void testClassifier() {
3752
def settings = new BuildSettings()
3853
def manager = new IvyDependencyManager("test", "0.1",settings)

0 commit comments

Comments
 (0)