uDig 源码开发环境构建

来源:互联网 发布:顶级域名带几个二级 编辑:程序博客网 时间:2024/05/21 03:58


h1. uDig Overview

 

The User-friendly Desktop Internet GIS(uDig) is an open source("EPL":http://www.eclipse.org/legal/epl-v10.html +"BSD":http://udig.refractions.net/files/bsd3-v10.html) desktopapplication framework, built with the Eclipse Rich Client (RCP) technology.

 

* uDig can be used as a stand-aloneapplication

* uDig can be extended with RCP"plug-ins"

* uDig can be used as a plug-in in anexisting RCP application

 

uDig is an open project, with developersfrom multiple companies participating in the decision making process andproject direction. All decisions are made transparently, on the public mailinglist, or in open "IRC":http://en.wikipedia.org/wiki/IRC discussions.

 

* <ahref="irc://us.freenode.net/udig">#udig</a> on"freenode":http://freenode.net/irc_servers.shtml

* <ahref="irc://us.freenode.net/geotools">#geotools</a> on"freenode":http://freenode.net/irc_servers.shtml

 

h2. Website

 

* uDig Project -http://locationtech.org/projects/technology.udig

* uDig Website -"http://udig.refractions.net/":http://udig.refractions.net/

* Developers Guide -"http://udig.refractions.net/developers/":http://udig.refractions.net/developers/

 

h2. Project Outline

 

The goal of uDig is to provide a completeJava solution for desktop GIS data access, editing, and viewing. uDig aims tobe:

* <b>U</b>ser friendly,providing a familiar graphical environment for GIS users;

* <b>D</b>esktop located,running as a thick client, natively on Windows, Mac OS/X and Linux;

* <b>I</b>nternet oriented,consuming standard (WMS, WFS, WCS) and de facto (GeoRSS, KML, tiles) geospatialweb services; and,

* <b>G</b>IS ready, providingthe framework on which complex analytical capabilities can be built, andgradually subsuming those capabilities into the main application.

 

h2. Steering Committee

 

* Andrea Antonello @moovida

* Frank Gasdorf @fgdrf

* Jesse Eichar @jesseeichar

* Jody Garnett @jodygarnett

* Mauricio Pazos @mpazos

 

h2. Contributing

 

Join us in working on uDig

 

* "How to Takepart":http://udig.refractions.net/confluence/display/ADMIN/How+to+take+part

* "DevelopmentEnvironment":http://udig.refractions.net/confluence/display/ADMIN/02+Development+Environment

* "ProjectProcedures":http://udig.refractions.net/confluence/display/ADMIN/04+Project+Procedures

 

There are two ways to take part: indirectlyusing github pull requests; and directly by obtaining commit access.

 

h1. Build Instructions

 

1. We have three branches in our short termroadmap:

  

  *https://github.com/uDig/udig-platform/tree/master

  *https://github.com/uDig/udig-platform/tree/locationtech_rename

  *https://github.com/uDig/udig-platform/tree/locationtech_ip2

  

  Check out the branch you wish to work with (or fork as you see fit).

 

  Tocheck it out:

  <pre><code>

    git clone https://github.com/uDig/udig-platform.git udig

    cd udig

    git checkout master

  </pre></code>

 

2. Download stuff (using maven to launchsmall ant download scripts):

  <pre><code>

    mvn clean install -f pom-libs.xml

 

    [INFO]------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO]------------------------------------------------------------------------

    [INFO] Total time: 8:05.291s

  </code></pre>

 

h2. Option - Command Line Build

 

1. Tycho Build

  <pre><code>

     mvn clean install -Pproduct -Psdk -Pdocs

 

     [INFO]------------------------------------------------------------------------

     [INFO] BUILD SUCCESS

     [INFO] ------------------------------------------------------------------------

     [INFO] Total time: 12:44.827s

  </code></pre>

 

2. Packaging, branding and installers::

  <pre><code>

     cd deploy

     ./all.sh

 

     ..snip..

     Releasing linux64

     Creating ./build/linux64/udig

     Building ./build/udig-2.0.0-SNAPSHOT.linux.gtk.x86_64.zip ...

     Extracting./../features/org.locationtech.udig-product/target/products/org.locationtech.udig-product-linux.gtk.x86_64.zip

     Preparing ./build/linux64 with ./jre/jre1.6.0_25.lin64_gdal_ecw

     Looking for ./jre/jre1.6.0_25.lin64_gdal_ecw.tar.gz

     Extracting ./jre/jre1.6.0_25.lin64_gdal_ecw.tar.gz

     Preparing ./build/linux64 with start up scripts and html files

     Assemble ./build/udig-2.0.0-SNAPSHOT.linux.gtk.x86_64.zip

  </code></pre>

 

3. Upload to website

 

See results athttp://udig.refractions.net/download/unstable/ there should be a 2.0.0-SNAPSHOTby the time you read this.

 

h2. Option - Eclipse Build

 

h3. Preferences

 

From the Eclipse **Preferences** screen:

 

1. **Java --> Code Style --> CodingTemplate**

    

  Use the **Import** button and select the file`extras/org.locationtech.udig.dev/codetemplates.xml`

    

  Confirm the uDig header is available for **New Java Files** as shown::

<pre><code>/* uDig - UserFriendly Desktop Internet GIS client

 *http://udig.refractions.net

 *(C) 2013, Refractions Research Inc.

 *

 *All rights reserved. This program and the accompanying materials

 *are made available under the terms of the Eclipse Public License v1.0

 *(http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD

 *License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).

 */</code></pre>

 

2. **Java --> Code Style --> CodeFormatter**

    

  Use the **Import** button and select the file`extras/org.locationtech.udig.dev/codeformatter.xml`

 

3. **Java --> Compiler -->Errors/Warnings**

     

  Open the **Code Style** category and change **Non-externalized strings**to 'Warning'.

    

4. **Plug-in Development --> APIBaselines**

    

   Change the **Missing API baseline** to 'Warning'.

    

h3. Target Platform and Running uDig

 

uDig makes use of a target platform, inorder to download and reference bundles from:

 

* Eclipse Rich Client Platform (we areusing Indigo)

* Babel Project (providing translations)

* Orbit (open source components that havebeen checked by the Eclipse legal team)

 

Here is how to set that up:

 

1. Use the **Import Existing Projects**wizard to import the targets/indigo project into workspace.

 

!extras/images/import_projects_targets.png!


 

2. Open up udig-indigo-target.target andclick on Set as Target Platform

 

!extras/images/target.png!

 

This will reset the target platform whichwill take some time.

  

3. Save a copy of the target-platformlocally

 

Since the target definition uses onlineresources it's a good idea to export it for offline development purposes.

To do so, click on the export action topright in the target platform editor.

  

!extras/images/export-target-platform-01.png!

 

Choose a destination folder to storefeatures and bundles as a local P2 repository resolved via the target defintionfile.

 

!extras/images/export-target-platform-02.png!

 

 

Later if there is a need to work offlineyou can easily create a new target platform definion, for details consult"eclipse onlinehelp":http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Fpreference_pages%2Ftarget_platform.htm.

 

4. Once the target platform is finished youcan import the remaining uDig projects.

 

5. Open up*org.locationtech.udig/udig.product* and click *Launch the product*

 

!extras/images/product.png!

 

h3. Find Bugs

 

We use **FindBugs** to catch many smallissues as part of our review process:

 

1. Select **Help --> Eclipsemarketplace** from the menu bar

2. Search for **FindBugs** and Install

3. You will be asked to restart eclipse

 

Take a moment to run **FindBugs** beforesubmitting a pull request.


出自:https://github.com/uDig/udig-platform

0 0