[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gemini-dev] Gemini Blueprint Maven build on trunk

Patch to make Gemini Blueprint build with Maven.

- Includes a Spring 3.0.7 update.
- Log4j 1.2.16 update.
- JUnit 4.9 update.
- Now uses the real Spring dependencies instead of the springsource wrapped ones, as Spring already contains the correct OSGi metadata. The same goes for slf4j and one or two other libraries.

Tested on Maven 3.0.3 with 1.6. Also tested on 1.7 but with test failures, but at least builds - the osgi containers do not export the correct framework/system packages when running on 1.7. This could probably be fixed by using the latest versions of those containers, or some config tweaks to what they export as system packages?

All Felix and Equinox integration tests pass but about five tests fail with Knopflerfish.

Still investigating the Knopflerfish failures, but I don't know if they were failing from before since the Maven build didn't work until now.

Tested with

# mvn clean install -Pequinox,it
# mvn clean install -Pknopflerfish,it
# mvn clean install -Pfelix,it

Also worth noting that the follow will now work, and pass. No need to specify an OSGi implementation. Obviously it's not running any integration tests.

# mvn clean install 

I recommend that you remove/move your ~/.m2 directory before trying to build. This will ensure you have the same starting slate I do. I also encourage everyone to do the same thing with the original build, to see the results others (like me) are getting when trying to build using maven.

If you are using Eclipse, I recommend you don't load the existing committed project files. But instead import from the Maven pom's afresh.


Putting what I have now out there for feedback.

Look forward to reading any replies.

Regards,
Aaron

Attachment: maven.patch
Description: Binary data

On 10/02/2012, at 10:31 PM, Aaron Whiteside wrote:

> Oh,
> 
> My bad, I should have said Gemini Blueprint.
> 
> I signed up from the link on the Gemini Blueprint page, assuming it was for Gemini Blueprint, my fault for not actually reading the email address before hitting send.
> 
> Regards,
> Aaron
> 
> On 10/02/2012, at 9:11 PM, michael keith wrote:
> 
>> Hi Aaron,
>> 
>> This is the dev list for all of the Gemini subprojects. Which project are you talking about?
>> 
>> Thanks,
>> -Mike
>> 
>> On 10/02/2012 8:28 PM, Aaron Whiteside wrote:
>>> Hey,
>>> 
>>> So I checked out the code the other day hoping to look into such things as spring 3.1 support and class weaving using osgi 4.3 weaving hooks.. only to find that the maven build is a mess.
>>> 
>>> It does not build out of the box. I also noticed that the eclipse .classpath files differ from the dependencies listed in the poms (note I don't use eclipse, I'm an IntelliJ fanboy).  On a side note you shouldn't be committing any IDE project files to the repo if you're using maven. Use your IDE's built in maven integration to set the project up, this will also ensure that things don't get out of sync - Rant over.
>>> 
>>> So I set out to fix the build. So far I have everything working
>>> 
>>> # mvn test
>>> # mvn test -Pequinox
>>> # mvn test -Pknopflerfish
>>> # mvn test -Pfelix 				# with one test failure.. will investigate
>>> 
>>> I'm also going through and fixing up general things so that it will build and not spew warnings on maven 3.x.
>>> 
>>> It seems the maven build has suffered serve neglect, I haven't seen one this bad in well forever.. (missing dependencies, wrong dependencies that don't exist anymore, plugins without versions specified, and the usage of properties are are mess, etc). If anyone wants to observe this behaviour, mv your ~/.m2/settings.xml to somewhere else temporarily and rm -rf ~/.m2/repository then run a build.
>>> 
>>> Once I have things nice and pretty I'll send a patch. This is just an FYI to let everyone/anyone who cares know. So please send me your feedback if you have any..
>>> 
>>> Thanks in advance for your time.
>>> 
>>> Aaron
>>> _______________________________________________
>>> gemini-dev mailing list
>>> gemini-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/gemini-dev
>