Isomorphic, I don't know if this is of any use to you, but I've spent some time mavenizing smartgwt and I'm willing to share the code for what I've done.
My prime motivator was two-fold: a) we don't like distributing our J2EE projects with jar files embedded and we use maven2 throughout our organization, so it was a problem having this one set of applications that didn't fit the mold b) Some of the packaged dependencies that come with the smartgwt.zip archive are actually quite old and I wanted to update them to fix some problems in those libraries.
Essentially, what I've done is taken the standard SmartGWT zip archive; extracted the jar files created by Isomorphic; figured out what the transient dependencies are for those jars and for each of the 12 jars created a POM file; which could be uploaded along with the jar into a standard Maven2 repository (we use Artifactory;but other repo's should work as well); so that a project needing SmartGWT could declare those artifacts as dependencies.
In addition, because we do seem to rely quite a bit on the nightly builds to fix urgent problems; I've also written an Ant script which can download a nightly build; extract the appropriate jar files; attach correctly formatted POM files for each jar and then upload all those into a repository.
These nightly builds get pushed into the maven repo with a version similar to: "2.3-NIGHTLY-2010-11-21".
It would theoretically be feasible to automate scheduling the script to run on a daily basis so that a developer or organization can essentially have a repository of artifacts that represent the nightly build
I've tested the script both with the eval EE version and the licensed pro version (a version for which we have purchased a license) and it works fine for both. In the case of the eval version the script can do the actual download because its publicly available; in the case of the license Pro version, you need to manually download the zip archive and tell ant where it is (through a properties file) but this is fairly trivial.
For the other versions (Licensed PowerEdition and EE) I can't test because I don't have a license for this. However, it shouldn't be very difficult for someone that does have a valid license for those versions to modify the ant script and get it to work for them.
I'm willing to share what I've done with Isomorphic (the company :) and the community, if you thinks it's useful and can vet the approach. Personally, I haven't had any problems with developing SmartGWT this way - I am using newer versions of Hibernate and Spring than what's packaged with the standard SmartGWT distribution, for instance, but they seem to work fine for me.
Anyway - if you're interested, let me know. We can figure out how to get the code to you.
Cheers!
My prime motivator was two-fold: a) we don't like distributing our J2EE projects with jar files embedded and we use maven2 throughout our organization, so it was a problem having this one set of applications that didn't fit the mold b) Some of the packaged dependencies that come with the smartgwt.zip archive are actually quite old and I wanted to update them to fix some problems in those libraries.
Essentially, what I've done is taken the standard SmartGWT zip archive; extracted the jar files created by Isomorphic; figured out what the transient dependencies are for those jars and for each of the 12 jars created a POM file; which could be uploaded along with the jar into a standard Maven2 repository (we use Artifactory;but other repo's should work as well); so that a project needing SmartGWT could declare those artifacts as dependencies.
In addition, because we do seem to rely quite a bit on the nightly builds to fix urgent problems; I've also written an Ant script which can download a nightly build; extract the appropriate jar files; attach correctly formatted POM files for each jar and then upload all those into a repository.
These nightly builds get pushed into the maven repo with a version similar to: "2.3-NIGHTLY-2010-11-21".
It would theoretically be feasible to automate scheduling the script to run on a daily basis so that a developer or organization can essentially have a repository of artifacts that represent the nightly build
I've tested the script both with the eval EE version and the licensed pro version (a version for which we have purchased a license) and it works fine for both. In the case of the eval version the script can do the actual download because its publicly available; in the case of the license Pro version, you need to manually download the zip archive and tell ant where it is (through a properties file) but this is fairly trivial.
For the other versions (Licensed PowerEdition and EE) I can't test because I don't have a license for this. However, it shouldn't be very difficult for someone that does have a valid license for those versions to modify the ant script and get it to work for them.
I'm willing to share what I've done with Isomorphic (the company :) and the community, if you thinks it's useful and can vet the approach. Personally, I haven't had any problems with developing SmartGWT this way - I am using newer versions of Hibernate and Spring than what's packaged with the standard SmartGWT distribution, for instance, but they seem to work fine for me.
Anyway - if you're interested, let me know. We can figure out how to get the code to you.
Cheers!
Comment