November 02, 2005
Maven (yet again)
Hey, I used to go crazy writing about firebird. Well, I don't have a chance to play with firebird right now, instead I am busy screwing around with maven2. I have pretty much given up on it.
Of course, it is also possible that I am an idiot and that eclipse plugin code is beautiful and I can't figure out how it should be tested because I am a twit. Many people would probably agree there. BUT - I did ask another programmer to look at it and he said something like "You aren't going to try and extend THAT?????? Are you?????" This is not a case of "Not invented by me". This is a case where there are 5 unittests, named unittest1,2...5. and none of them test anything other than if the code throws an exception. Thank you, that is not what I call a reasonable unit test. Also, the code is not easily testable because it takes (I think) 10 parameters to construct the class I was going to extend. Somebody up there does not approve of dependency injection.
In other words, they wrote legacy code.
So, I am letting the eclipse plugin build a file that I will never use. I am then pulling a dom from it. I am then comparing it with a dom from a .classpath file that I have already written. Doms are then being merged.
Interestingly enough the artifact class does not build a good string for a jar name. Silly shit like that. 200 messages a day since they released Maven 2...and too many of them are jira cases. The plugin left my eclipse projects uncompilable.
So, I will do what I can - and then decide whether I want to rewrite the plugin. I doubt it. Maybe for maven 3?
Posted by liz at 02:44 PM | Comments (0) | TrackBack
October 27, 2005
Back in the saddle
I have been working at the new company for about 4 days (I did NO coding/design/headwork during my vacation). Luckily, they want me to do what I am good at. Right now it is working with maven.
Yes, I still hate Maven. I also think that it is where we are going to go for at least some of our projects. Maven 2 has been released, and I am now extending it's eclipse plugin. I want it to learn how to update a .classpath, and how to include src and javadoc resources when building a .classpath from a POM. I am hoping that this will get around what we consider to be weaknesses within both eclipse and maven.
While doing this, I am making use of the plexus toolkit (because maven already uses it). Excellent toolkit. I would do some things differently, but I was able to get used to it in 1 day. It is going to become part of those files that I carry around with me from project to project and job to job.
After I get this all finished we will make a decision about how much farther to go with maven. Right now we are just going to go with standardizing resources every developer needs to be able to find. This means that some developers will have to do things differently, but I am NOT the person who has to enforce Best Practices here.
It is so much fun working with a crew of really bright people again. I swear, I haven't worked with a crew like this since I got my dream junior programmer at Nasdaq.
Posted by liz at 01:18 PM | Comments (0) | TrackBack
October 12, 2005
Changing spaces
Today is my last day at Company M. I am taking a week or so off to relax, knit and work on the 3 opensource projects I am committed to. Sometimes I wonder how I managed to persuade myself that I could actually work on 3 projects in my copious spare time. Especially seeing that my pair programmer for the big one just moved across the country from me. But, that isn't what I am blogging about.
What I am blogging about is Maven2. I am one of those fanatic maven haters. It bit me in the ass when I first started here, and I (with company blessing) took all the code OUT of maven. Actually, there are pieces of maven I like, mostly the war and jar plugins. But, they aren't worth the maven workaround.
I am a software nazi. I believe in a standard build structure. Unfortunately, my standard build structure is not the same as maven2's standard build structure. m2 has a tree that starts as src/target (fine so far). But src then splits into main and test. Then both of these break into java and resources. It just lost me there. I think that the use of main adds complexity. Mine starts as src/test. They both then split into java and config. I could rename config, but I think that it is actually more descriptive than resources, which has a very specific meaning in java. Both are perfectly acceptable build structures, but I don't want to user the main style build. I could (and might) change my build to mirror the m2 build, but I am still not sure how well it would work.
I am also still working on adding a ruby on rails project inside a project.
What I loved maven for was the ability to pull jars/poms from ibiblio. I am going to look at ivy next week and see if it will work to pull my dependency tree instead. If it does as good a job (or better) than m2, I will stop thinking about m2.
BTW, one of the things I HATE about m2 is that it STOPS pulling all the dependencies and chokes the minute it needs to use a sun library.
Posted by liz at 11:29 AM | Comments (0) | TrackBack
October 07, 2005
New Company
I just signed an offer letter from another consulting company. I know some of the people in the new team, but I really have no idea what sort of project I will be on. I do know that the new company has redesigned their teams around Agile processes.
This happens at just the right time. My main quickstart is well tested, I start the administration piece of the authorization software today. The company I am working for has no projects that fit me well. I am not sure if they have ever bought into OO, much the less java, .NET or agile processes. My beloved manager has moved to a new job in a big (non-consulting) company that will be perfect for him.
Bill (the manager) and I will continue working on the quickstarts, and the business objects that started this whole mess. They will be opensource. First release (probably just the quickstarts, the common jar and the authorization code should be ready to roll by November.
Posted by liz at 09:28 AM | Comments (0) | TrackBack