Ah yes, let me fix that (I fixed the other issues on startup but forgot that the resources uses the version too). So here's the back story on that. In many places CS uses getImplementationVersion() which java will put from the MANIFEST.MF. The problem is that when you run in a situation where you don't have jar's, java won't find anything and return null. In short it would be swell if CS didn't use getImplementationVersion(), but instead I've just been changing everything to handle nulls. The resources is different though because what you really want for a dev setup is for the version to be random so that it always copies the scripts and what not over.
Darren > -------- Original Message -------- > Subject: RE: maven: latest patches and how to setup Eclipse/M2E/Jetty > From: Hugo Trippaers <htrippa...@schubergphilis.com> > Date: Wed, August 29, 2012 8:48 am > To: "cloudstack-dev@incubator.apache.org" > <cloudstack-dev@incubator.apache.org> > > > Heya, > > I'm running into some problems with the jetty:run directly from eclipse. > Everything starts fine, except that the code depends on > 'getImplementationVersion()' at various points. (See CitrixResourceBase:5452 > for example ) > > When running with jetty this returns null and that will subsequently cause > the initialization of a Xen hypervisor to fail as the version field for the > HostVO can't be null in the database. > > Any way to work around this? > > Cheers, > > Hugo > > -----Original Message----- > From: Olivier Lamy [mailto:ol...@apache.org] > Sent: Wednesday, August 29, 2012 7:33 AM > To: cloudstack-dev@incubator.apache.org > Subject: Re: maven: latest patches and how to setup Eclipse/M2E/Jetty > > 2012/8/29 Darren Shepherd <dar...@godaddy.com>: > > Olivier, > > > > You added the client module to the main pom.xml, but that break the > > profiles for the build. I created that pom mainly for the jetty:run, > > but it depends on all the non-oss stuff and doesn't respect the > > profiles to not depend on them when the profiles aren't activated. > > While it would be great to have the client pom switch its deps based > > on the profiles, it doesn't matter because at runtime because the > > components.xml for CS refers to all the non-oss stuff. > > > > So I purposely left the client module out of the main build for two > > reasons. > > > > 1) It doesn't respect the profiles > Good reason. I will check that. > > 2) "mvn -Dnonoss -am -pl client jetty:run" doesn't seem to work. You > > have to do > > "mvn -Dnonoss install && cd client && mvn jetty:run" for some reason. > > I've never gotten the jetty plugin to work right with multi-modules, I > > always seem to need to run it as a standalone build. > > Maybe but tomcat7:run works great with multi modules :-) > > > > > > > > Darren > > > > > > > > > >> -------- Original Message -------- > >> Subject: Re: maven: latest patches and how to setup Eclipse/M2E/Jetty > >> From: Olivier Lamy <ol...@apache.org> > >> Date: Tue, August 28, 2012 3:10 pm > >> To: cloudstack-dev@incubator.apache.org > >> > >> > >> merged. > >> Added configuration for using tomcat maven plugin too. > >> from README.md: > >> > >> to run webapp client: > >> mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.0-beta-1:run -pl > >> :cloud-client-ui -am then hit: http://localhost:8080/cloud-client-ui/ > >> or add in your ~/.m2/settings.xml > >> <pluginGroups> > >> <pluginGroup>org.apache.tomcat.maven</pluginGroup> > >> </pluginGroups> > >> and save your fingers with mvn tomcat7:run -pl :cloud-client-ui -am > >> > >> > >> 2012/8/28 Olivier Lamy <ol...@apache.org>: > >> > Hi, > >> > I will take care of that. > >> > > >> > 2012/8/28 Darren Shepherd <dar...@godaddy.com>: > >> >> > >> >> For whatever reason, my patches on review board never seem to > >> >> work. I just do "git format-patch --stdout origin/master" but > >> >> then review board just throws an error when I upload the patch. > >> >> Regardless, can a committer pull the branch "maven-final" from > >> >> https://github.com/ibuildthecloud/incubator-cloudstack.git and > >> >> merge to master? > >> >> > >> >> Included in the branch is the following: > >> >> > >> >> > >> >> * Add resources to jars - There was a bunch of random files like > >> >> keystores and such that were missing from the maven built jars > >> >> > >> >> * Added profiles for non-oss stuff - The following maven profiles > >> >> are available to build the non-oss stuff: kvm, f5, netscaler, srx, > >> >> netapp, vmware. To include those components in the build just put > >> >> "-Pvmware,kvm" or whatever component you want. You can also do > >> >> "mvn -Dnonoss=true" to include all of them. > >> >> > >> >> * Added deps/install-non-oss.sh - This script will install the > >> >> nonoss jars into your local repo so that you don't have to use my > >> >> private repo anymore > >> >> > >> >> * jetty:run support and a corresponding Eclipse launch config - > >> >> This feature is really, really convenient for development. Refer > >> >> to below for more info. > >> >> > >> >> > >> >> If you want to setup your development environment to be based on > >> >> Eclipse and Maven and not the ant stuff then do the following > >> >> (after you have pulled my changes): > >> >> > >> >> 1. If you have existing Eclipse projects, delete them all. > >> >> 2. Delete all .classpath, .project, and .settings files (ie "find . > >> >> -name .classpath -o -name .project -o -name .settings -exec rm -rf > >> >> {} \; -print" ) 3. Install M2E Eclipse. If your running Indigo or > >> >> Juno M2E is an official Eclipse foundation project. If your > >> >> running Helios or older its a separate plugin that google knows > >> >> the location of (but honestly just upgrade to Indigo. Not Juno, > >> >> I've found it to be really slow). So in Indigo/Juno just go to > >> >> Help->Install New Software and put m2e in the filter and you'll > >> >> find it. > >> >> 4. Go to File->Import and then Import Existing *Maven* Project. > >> >> Select the root of the git repo and it will find a bunch of > >> >> projects. Import and then let maven download the internet and > >> >> compile everything. First run will be very slow, but then fast > >> >> thereafter. > >> >> > >> >> You should now have all your compiling cloudstack projects. If > >> >> you get issues regarding compiling the vmware, f5, then run > >> >> deps/install-non-oss.sh to install the non-oss stuff. Now the > >> >> awesome part (assuming the previous steps worked). > >> >> > >> >> 5. Go back to File->Import, Import Existing *Maven* Project and > >> >> select the {git.root}/client folder and import. > >> >> 6. Go to Run->Debug Configurations... on the left you should see > >> >> Maven > >> >> Build-> cloudstack-ui. Click that and magic will ensue. That > >> >> Build-> will run > >> >> cloudstack in a jetty instance which should be accessible at > >> >> http://localhost:8080/client. So now you can just edit code and > >> >> click run and it will launch it in Eclipse with debugging and all > >> >> the hotswapping magic the JVM provides. It assumes your DB is at > >> >> localhost. > >> >> If your DB is elsewhere, then edit > >> >> ${git.root}/build/replace.properties > >> >> appropriately. > >> >> > >> >> Adios, > >> >> Darren > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> > > >> > > >> > > >> > -- > >> > Olivier Lamy > >> > Talend: http://coders.talend.com > >> > http://twitter.com/olamy | http://linkedin.com/in/olamy > >> > >> > >> > >> -- > >> Olivier Lamy > >> Talend: http://coders.talend.com > >> http://twitter.com/olamy | http://linkedin.com/in/olamy > > > > -- > Olivier Lamy > Talend: http://coders.talend.com > http://twitter.com/olamy | http://linkedin.com/in/olamy