All, Attached to this email is a port of snakeyaml, a YAML parser for Java.
The thing that makes this challenging is that the upstream build for this doesn't use ANT, it uses Maven. As many of you may know, the way Maven works is that you fetch the upstream source, and then as it builds, it is accessing the internet and pulling down the additional dependency jarfiles it needs to successfully build the final packages. Unfortunately, we have our build system locked down (and rightly so) so that during the build phase, the network is inaccessible. My "solution" (some might say hack) to this is that I run the full build and test locally, and then grab the contents of my ~/.m2/repository directory (where maven caches those files so that they aren't re-fetched each time) and put it in a tarball in a separate gitHub repository that is solely dedicated to the port in question and is synchronized to the version (and version dependencies) of the upstream project. The port then fetches the maven dependencies as a separate DISTFILES0 source and then leverages a feature of maven to run in "offline" mode using a local directory as the source of the dependencies. I've tried to do this as cleanly as my little n00b brain can manage but I would really appreciate some hardcore feedback on this suggested port. If I can get it clean enough to where folks on the list are willing to commit it for me, I'd like to wade into the ports infrastructure and documentation and see if I can suggest a patch that would allow this to happen more easily so that we could have access to the large number of Maven-built open source packages out there (most of the JDBC drivers, some of the required infrastructure for a full build of OpenJDK, etc.) I have tested this port locally to simulate the formal build process by first running a 'make fetch', then ifconfig down-ing my network and running the rest of the build and install process with no network connectivity. It "works on my machine" (TM) in this mode. I'll be doing further testing on my i386, single core sparc64 and multicore sparc64 boxes to ensure that this works everywhere that we have Java support as well; however, I wanted to get feedback now before I dive into that part. Please, be as direct as you possibly can on this so that I can leverage the collective knowledge of the group to perhaps solve this problem in a more systematic way. Thanks in advance, by the way, for all of your suggestions and thank you for the help you've given me to get this far. Thanks, Bryan
snakeyaml.tgz
Description: GNU Zip compressed data
