Erma Mavenized

2 views
Skip to first unread message

Ray Krueger

unread,
Apr 11, 2009, 11:18:46 AM4/11/09
to erma...@googlegroups.com
My Erma Mavenization effort is complete. If you clone my Erma fork and
execute the build with Maven 2 (2.0.9+ is best) everything should just
work.

I've divided the project into two parts.
erma-core - All the main api and lib stuff that is 1.4 compatible.
Including awful commons-attributes stuff.
erma-tiger - All the jdk1.5 stuff for annotations and such.

mvn test - Runs the unit tests.
mvn install - Installs the erma-core and erma-tiger artifacts into
your local repository.
mvn dependency:tree - will show you the graph of dependencies each module uses.
mvn package - Will build releasable jar files (we should consider the
release plugin though)

If we introduce the maven-release-plugin we can start doing automated
releases straight from github. The release plugin can already handle
tagging and updating the versions in the poms automatically. I'd like
to see if there's a way to "deploy" artifacts to the github file
downloads. If not we can always do the svn thing, or the
code.orbitz.com location as well. That's another research effort for
another time though.

Mavenizing this gets us really close to a fully automated project
management system. We just gotta do a bit more research. This is also
gets us maven friendly artifacts that can then be downloaded by other
dependency management things like buildr, ivy, and the maven2 ant
tasks.

Out
-Ray

mokeefe

unread,
Apr 13, 2009, 11:48:46 AM4/13/09
to erma-core
Thanks, Ray... I owe you a beer!

-Matt

Stephen Mullins

unread,
May 28, 2009, 6:42:59 PM5/28/09
to erma...@googlegroups.com
I had to add junit 3.8.1 as a dep to erma-core/pom.xml to get it to work.  I didn't give it a scope since to compile our src/test classes (like MockMonitorProcessor) you need the junit jar.

Love the build now though, good job ray.

Ray Krueger

unread,
May 28, 2009, 8:55:51 PM5/28/09
to erma...@googlegroups.com
Junit should be test scoped.
Unless there is production code in src/main/java that depends on it
(which would be dumb).

Stephen Mullins

unread,
May 28, 2009, 10:02:54 PM5/28/09
to erma...@googlegroups.com
that's what i'm saying; we have classes under src/main/java/com/orbitz/monitoring/api/test

Ray Krueger

unread,
May 29, 2009, 6:42:43 AM5/29/09
to erma...@googlegroups.com
Finally got a chance to clone that and peek at it. I must have messed
with the scope and not rerun the tests or something lame like that.
I see the classes there are for folks to write unit tests against.
Should that stuff be moved into src/test or is that stuff there for
erma consumers to use in writing tests for their own applications?

Stephen Mullins

unread,
May 29, 2009, 9:23:23 AM5/29/09
to erma...@googlegroups.com
i think they are for ppl to write unit tests against erma instrumentation.  we publish those classes in a api-test.jar that app owners can pull in as part of their test dependencies.  how easy is it for maven to publish separate jars like that?

Ray Krueger

unread,
May 29, 2009, 9:54:31 AM5/29/09
to erma...@googlegroups.com
> i think they are for ppl to write unit tests against erma instrumentation.
> we publish those classes in a api-test.jar that app owners can pull in as
> part of their test dependencies.  how easy is it for maven to publish
> separate jars like that?

The proper thing to do then is to pull those components out into an
erma-test module if we don't want them part of the main distribution.
This is the right thing to do as Maven uses can declare erma-test as a
test-scoped dependency in their projects as well.

Reply all
Reply to author
Forward
0 new messages