Archive
Upgrading Maven from 2.0.x to 2.1.x – profiles.xml
When we tried to upgrade from Maven 2.0.x to 2.1.x, our build broke, indicating we had a problem with our profiles.xml. I had a hard time finding out what’s supposed to be in the profiles.xml, since I couldn’t find a reference to the schema on the Maven website. I finally found a profiles.xml in one of our projects at work that referenced the profiles XML schema, which can be found here:
http://maven.apache.org/xsd/profiles-1.0.0.xsd
I’m still not sure if the schema changed from 2.0.x to 2.1.x, but I know that using <profiles/> as the root element worked in 2.0.x but did not work in 2.1.x. When you upgrade to 2.1.x, make sure the root element in your profiles.xml is <profilesXml/>. Actually, you can make the change to your profiles.xml before upgrading to Maven 2.1.x and then upgrade when you’re ready.
Mocking and stubbing in Groovy with ‘with’
I often use metaClass in Groovy to create mocks or stubs in my unit tests. Recently I’ve discovered that the with method makes this a bit simpler.
This:
Foo.metaClass.with {
doSomething = {
return true
}
anotherThing = {foo ->
assertEquals 42, foo
}
}
is slightly shorter than this:
Foo.metaClass.doSomething = {
return true
}
Foo.metaClass.anotherThing = {foo ->
assertEquals 42, foo
}
and less code means less bugs.
[Update: For more explanation of why the with method is so great, read this post.]
[Update: And for another way to write your mocks and stubs, see my previous post on mocking with Groovy.]
Recent Comments