incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugo Trippaers <HTrippa...@schubergphilis.com>
Subject RE: maven: latest patches and how to setup Eclipse/M2E/Jetty
Date Wed, 29 Aug 2012 15:48:30 GMT
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:olamy@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 <darren@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 <olamy@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 <olamy@apache.org>:
>> > Hi,
>> > I will take care of that.
>> >
>> > 2012/8/28 Darren Shepherd <darren@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

Mime
View raw message