It's been way too long since I've blogged but I do have an update that might be of interest. I finally carved out enough time to get support built in to gosling for using dependency resolution using maven repositories. At the moment that is accessed through the Dependencies class. The call is a pretty simple call to make but it does require that you pass in a Dependency object and a FileSet to add the dependency path to. I'm going to add convenience methods on Project to access all this so that you needn't worry about the plumbing. It's still largely experimental but the unit test passes and that's a good sign. My ultimate hope is that this mechanism can be used to add plugins to your build without having to download them manually. Adding things to $ANT_HOME/lib has always irked me and just seems a little clunky. Maven manages this pretty well as far as I can tell so it shouldn't be too bad. So what's next for gosling? I want to finish building out the most common tasks for building systems. For example, I use uptodate quite a bit in various ant settings. I also need to work on support for publishing artifacts via gosling to maven repositories. I would also like to clean up APIs a little.Â There's still more XML-oriented cruft in there than I'd like.Â I'm getting close enough to usability that I might just stamp it 1.0 once things like this are rounded out. Once 1.0 is done the biggest item on my plate is what I'm calling at the moment "profiles."
This isn't anything terribly exotic but the one profile that seems to be most asked about would be a maven-like profile where project structure is defaulted and enforced along with a build lifecycle that users of this profile would just hook into. This could also mean more focused profiles such as web application oriented profiles or ones more geared to full JEE development.Â Since it's just Java, this will largely be done through inheritance and likely will use event notifications. I still have to work through that particular design. So that's what's on tap for gosling. I just pushed version 0.3 out to https://gosling.dev.java.net.Â If you haven't tried gosling out yet, please do give it a try and provide some feedback on the lists.