[Soc-coordination] [GSoC] Status Reoprt: Java Project Dependency Builder

Andrew Schurman arcticwaters at gmail.com
Sat Jun 21 16:50:29 UTC 2014


Hey guys,

Over the past week I've been able to weave all the code I have
together so that it looks like a maven plugin. There wasn't too much
weaving to really. My time has been mostly testing the plugin to find
edge cases in the logic that's already implemented and there were
quite few. For example, when resolving dependencies, my initial
implementation would not filter out dependency exclusions from plugin
dependencies. Another one centered around not resolving the full build
dependency tree (plugins, extensions). This should probably have been
expected since this area was mostly hand crafted (there are no APIs
that I could find to get the information in the same way as regular
dependencies). On the bright side, I did find another plugin which
made life a little easier. maven-dependency-tree appears to have a
compatibility layer for all versions of Maven saving me from having to
write things twice if I wanted to target more than just the latest
version of Maven. It amazes me that I didn't know about things like
this with my extensive Maven background.

The biggest pain point of the week was the time it took to actually
test things. Most of the testing was done manually as I wasn't sure
how things would work together at first. Now that I've seen how things
interact, I'm starting to get a feel for what gets returned. As such,
I've started to create automated tests so that I don't waste another
week running through manual test cases. As of now, there are just a
few test cases left, but I want to get these in before I push the next
set of changes. just to confirm that I haven't broken anything with my
tweaks. That does mean you'll have to wait a little longer if you were
eager to test out the plugin.

On a higher level note, I did try testing against artifacts in
central. When trying to build junit, I found that the SCM url for
hamcrest-core was a little funny. In particular, the git url had a
sub-folder on it which git doesn't understand. It must have been
another artifact that I tested as I don't see the same problem in the
pom in central. In either case, one of the planned features should be
able to solve this: a scm url database to override project urls so I'm
not too worried.

Next week, I'm hoping to finally support projects built with Ant.

Cheers,
Andrew



More information about the Soc-coordination mailing list