Source Code¶
The GeoTools source code is organized into the following structure:
|
Java projects that help with our build process |
|
documentation and website source in rich structured text |
|
the core library allowing your application to be spatial |
|
extensions built on top of the library that do useful things |
|
OGC schemas and data structures |
|
plugins that work with the core library to support additional formats |
|
community code that is not ready yet, but you may find interesting |
|
scratch space for ideas and experiments and collaboration |
Download Source Code¶
Source code is published with each release and is available on the downloads page:
Source code encoding is UTF-8.
Git Checkout of Source Code¶
GeoTools makes use of the Git revision control system (as mentioned in downloads above). It is an advanced version management tool with a different workflow than Subversion or CVS.
You do not need any special permission to have read-only access to the source code which is located on github. You are encouraged to clone the repository or fork it into your own account and issue pull requests.
Please just check out the code and have fun. If you are interested in getting commit permission later you can look into Developers Guide Roles and Responsibilities.
Our Git Install page contains detailed instructions for setting up git on different platforms.
Navigate to where you want the checkout with the command line:
C:\java>
Checkout GeoTools using git (a new directory
geotools
will be created):C:\java> git clone git://github.com/geotools/geotools.git
#. This will create a file:geotools directory that contains the source code for this project
Notes:
You can switch between the main and stable branches easily:
C:\java\geotools> git checkout main C:\java\geotools> git checkout 11.x C:\java\geotools> git checkout 8.x
Take the time to read the git book before diving into git:
Also an excellent introduction to git:
Although links to various IDE interfaces will be made available, no GUI will substitute for an understanding of the underlying git versioning model, and how the system is actually doing work.