World Wind Forums

Go Back   World Wind Forums > WorldWind JAVA forums > Feature Discussion

Feature Discussion Education, discussion and proposals of WWJ features

Reply
 
Thread Tools Display Modes
Old 05-07-2009, 09:59 PM   #1
brandon-enochs
Junior Member
 
Join Date: May 2009
Posts: 1
brandon-enochs is on a distinguished road
Default Switching to Maven

I propose that the World Wind team switch to Apache Maven. Apache Maven is build system intended to replace adhoc ant build such as the one's currently being used by the World Wind SDK. Maven provides an easy to use module system, standard direct layout, and a standard way of expressing version numbers and dependencies. It has really improved our work flow on Flying Squirrel at the Naval Research Laboratory. I encourage the World Wind developers to check out http://maven.apache.org and http://repo.exist.com/dist/maestro/1...sWithMaven.pdf. If need be, I can write your project object models for you.

Thanks,
Brandon
brandon-enochs is offline   Reply With Quote
Old 05-07-2009, 10:11 PM   #2
TomServo
God. Root. What is difference?
 
TomServo's Avatar
 
Join Date: Sep 2004
Location: Eastern Pennsylvania
Posts: 2,847
TomServo
Default

I'll pass it along to them, but no guarantees though.
__________________


Earth is Square blog

PUBLIC NOTICE AS REQUIRED BY LAW: Any use of this forum post, in any manner whatsoever, will increase the amount of disorder in the universe. Although no liability is implied herein, the consumer is warned that this process will ultimately lead to the heat death of the universe.
TomServo is offline   Reply With Quote
Old 05-07-2009, 10:15 PM   #3
TomServo
God. Root. What is difference?
 
TomServo's Avatar
 
Join Date: Sep 2004
Location: Eastern Pennsylvania
Posts: 2,847
TomServo
Default

Now I recognize the name after seeing the Flying Squirrel. Put a case for it forward and may be able to convince them.
__________________


Earth is Square blog

PUBLIC NOTICE AS REQUIRED BY LAW: Any use of this forum post, in any manner whatsoever, will increase the amount of disorder in the universe. Although no liability is implied herein, the consumer is warned that this process will ultimately lead to the heat death of the universe.
TomServo is offline   Reply With Quote
Old 05-14-2009, 12:28 AM   #4
zolyfarkas
Junior Member
 
Join Date: Apr 2009
Posts: 4
zolyfarkas is on a distinguished road
Default +1

dependency management is most important(no more jar hell):

http://maven.apache.org/guides/intro...mechanism.html

Will make building and running worldwind significantly easier by command line and all major IDE's support maven, will also allow to easily modularize the worldwind project ...

I am already using maven to build wwj, still have some work to do related to platform specific dependencies...

I am more than happy to contribute my m2 work
zolyfarkas is offline   Reply With Quote
Old 07-10-2009, 05:12 PM   #5
ddriggs
Newbie
 
Join Date: Apr 2009
Location: Denver
Posts: 11
ddriggs is on a distinguished road
Default

Please keep in mind that not all developers have an internet connection! The lowest level of Jar Hell is transferring all your code over to a stand-alone network and realizing you don't have a jar that maven fetched unbeknownst to you.
ddriggs is offline   Reply With Quote
Old 04-21-2010, 07:56 PM   #6
buzz3791
Junior Member
 
Join Date: Apr 2010
Posts: 12
buzz3791 is on a distinguished road
Smile +1

Using Maven definitely makes it easier to incorporate open source projects like World Wind for Java into other projects.

Maven makes team development easier, because everyone is synchronized on the same JAR versions.

Maven support does require some effort. But the effort gets reused by all project clients. Somebody has to deal with dependency problems once and everyone gets to benefit.

A specific example where Maven would make versions clearer. We're incorporating both the server and the SDK into our application. The server releases (latest Jan 2010) are currently lagging the SDK releases (latest April 2010). Right now, I can't get the server code to compile because of this error

Code:
C:\rw_apps\dev\Maxview\MVServer\WorldWindMapServer\src\main\java\gov\nasa\worldwind\servers\wms\generators\BILGenerator.java:[40,12] cannot find symbol
symbol  : class DataDescriptor
location: class gov.nasa.worldwind.servers.wms.generators.BILGenerator

The root cause appears to be that I'm compiling the server against the wrong worldwind.jar SDK version. But I can't easily determine the worldwind.jar SDK version included in the server release. We're building worldwind.jar SDK from source. So I'm having to compile the server against various SDK versions until I find a match.

Brian

Last edited by buzz3791; 08-20-2010 at 02:17 PM. Reason: provide example where maven would help world wind users
buzz3791 is offline   Reply With Quote
Old 05-13-2010, 05:28 PM   #7
dmcmanam
Junior Member
 
Join Date: May 2010
Posts: 5
dmcmanam is on a distinguished road
Default Maven2 switch unlikely

The complaint about worldwind.jar lacking a version number can be addressed in the ant build.

Switching to Maven is a great idea for most projects, I particularly like the ease of generating a website and documentation. For WWJ, the big issue is how to deal with JOGL's JNI files, Maven2 is currently lousy at dealing with native libraries. You'll notice that most projects that have native files build with ant. If you think this isn't a Maven2 shortcoming I suggest submitting your own WWJ pom.xml, I would write it if I knew how.
dmcmanam is offline   Reply With Quote
Old 06-22-2011, 11:53 PM   #8
nmschulte
Junior Member
 
Join Date: Jun 2011
Posts: 1
nmschulte is on a distinguished road
Default

Has anything come of this? Using Maven to package WWJ, I mean.

The last post in the thread was about issues with JOGL and its native components. I took the approach that the jogamp.org community took with JOGL 2.0; separate jars for the natives. This allows one to use the maven profiles to select which native to use (for deployment), while allowing worldwind to depend upon only the runtime (of both JOGL and GlueGen). I haven't tackled GDAL yet, mainly because of it's rather invasive inclusion in the WWJ code (lib-externals directory and platform detection...). I simply mvn install:install-file'd it to my local repository and hook it that way.

If WWJ was to switch to JOGL 2.0, one wouldn't need to bother with packaging JOGL/GlueGen 1.1.1 with separate native jars. However, if switching to JOGL 2.0 just isn't a possibility (I don't know why not) and packaging of JOGL/GlueGen 1.1.1 was an issue, I can share my packaged jars in hopes of getting things off the ground.
nmschulte is offline   Reply With Quote
Old 06-27-2011, 05:04 PM   #9
petebrew
Junior Member
 
petebrew's Avatar
 
Join Date: Aug 2010
Posts: 4
petebrew is on a distinguished road
Default Include native libs

The issue of packaging the native JOGL/Gluegen libraries seems to have been solved by this guy: http://devblog.iscpif.fr/?p=76

WWJ is a huge project with a lot of dependencies that would hugely benefit from moving over to Maven. So a definite +1 from me.
petebrew is offline   Reply With Quote
Old 06-28-2011, 02:39 PM   #10
heidtmare
Senior Member
 
heidtmare's Avatar
 
Join Date: Feb 2008
Location: Melbourne, FL, USA
Posts: 678
heidtmare is on a distinguished road
Default

just throw the worldwind jar into your artifactory and package the natives into your own application. this has worked out very well for me on multiple projects.
__________________


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
WWJ SDK Alpha 4 - 0.4.0 available patmurris WWJ Release Announcements 10 09-21-2010 02:48 PM
Using Maven to build worldwind zolyfarkas Development Help 5 08-20-2010 02:43 PM
Switching to Full Screen? _abulafia_ Technical Support 0 10-09-2004 03:55 PM


All times are GMT +1. The time now is 12:50 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.