224 lines
No EOL
5.2 KiB
Text
224 lines
No EOL
5.2 KiB
Text
*development-gettingstarted.html*
|
|
|
|
Developers Guide
|
|
****************
|
|
|
|
This guide is intended for those who wish to contribute to eclim by
|
|
fixing bugs or adding new functionality.
|
|
|
|
|
|
Checking out the code and building it.
|
|
======================================
|
|
|
|
|
|
1. Check out the code:
|
|
----------------------
|
|
|
|
>
|
|
|
|
$ git clone git://github.com/ervandew/eclim.git
|
|
|
|
<
|
|
|
|
|
|
|
|
2. Build eclim:
|
|
---------------
|
|
|
|
>
|
|
|
|
$ cd eclim
|
|
$ ant -Declipse.home=/your/eclipse/home/dir
|
|
|
|
<
|
|
|
|
|
|
This will build and deploy eclim to your eclipse and vim directories.
|
|
|
|
Warning: Building eclim as root is highly discouraged. If your
|
|
eclipse install is only writable as root, you can supply the
|
|
eclipse.local property to tell eclim where your eclipse user local
|
|
directory is located and eclimd will be installed there (make sure
|
|
to replace <version> portion of the path below accordingly):>
|
|
|
|
$ ant \
|
|
-Declipse.home=/opt/eclipse \
|
|
-Declipse.local=$HOME/.eclipse/org.eclipse.platform_<version>
|
|
|
|
<
|
|
|
|
|
|
If you do not yet have a .eclipse directory in your home directory,
|
|
you can run either of the following commands to create it:>
|
|
|
|
$ ant -Declipse.home=/opt/eclipse eclipse.init
|
|
|
|
<
|
|
|
|
|
|
or>
|
|
|
|
$ /path/to/eclipse/eclipse -initialize
|
|
|
|
<
|
|
|
|
|
|
Note: If your eclipse home path contains a space, be sure to quote
|
|
it:>
|
|
|
|
> ant "-Declipse.home=C:/Program Files/eclipse"
|
|
|
|
<
|
|
|
|
|
|
Note: If your vimfiles directory is not located at the default
|
|
location for your OS, then you can specify the location using the
|
|
"vim.files" property:>
|
|
|
|
$ ant -Dvim.files=<your vimfiles dir>
|
|
|
|
<
|
|
|
|
|
|
When the build starts, it will first examine your eclipse installation
|
|
to find what eclipse plugins are available. It will then use that list
|
|
to determine which eclim features/plugins should be built and will
|
|
output a list like the one below showing what will be built vs what
|
|
will be skipped:
|
|
|
|
>
|
|
|
|
[echo] ${eclipse}: /opt/eclipse
|
|
[echo] # Skipping org.eclim.adt, missing com.android.ide.eclipse.adt
|
|
[echo] # Skipping org.eclim.dltk, missing org.eclipse.dltk.core
|
|
[echo] # Skipping org.eclim.dltkruby, missing org.eclipse.dltk.ruby
|
|
[echo] # Skipping org.eclim.pdt, missing org.eclipse.php
|
|
[echo] Plugins:
|
|
[echo] org.eclim.cdt
|
|
[echo] org.eclim.jdt
|
|
[echo] org.eclim.pydev
|
|
[echo] org.eclim.sdt
|
|
[echo] org.eclim.wst
|
|
|
|
<
|
|
|
|
|
|
In this case we can see that four eclim plugins will be skipped along
|
|
with the eclipse feature that would be required to build those
|
|
plugins.
|
|
|
|
If you don't want to supply the eclipse home directory, or any other
|
|
properties, on the command line every time you build eclim, you can
|
|
create a user.properties file at the eclim source root and put all
|
|
your properties in there:
|
|
|
|
>
|
|
|
|
$ vim user.properties
|
|
eclipse.home=/opt/eclipse
|
|
eclipse.local=${user.home}/.eclipse/org.eclipse.platform_<version>
|
|
vim.files=${user.home}/.vim/bundle/eclim
|
|
|
|
<
|
|
|
|
|
|
Note: The eclim vim help files, used by the :EclimHelp
|
|
(|vim-core-eclim#:EclimHelp|) command, are not built by default. To
|
|
build these you first need to install sphinx
|
|
(http://sphinx-doc.org), then run the following command:>
|
|
|
|
$ ant vimdocs
|
|
|
|
<
|
|
|
|
|
|
This target also supports the vim.files property if you want the
|
|
docs deployed to a directory other than the default location.
|
|
|
|
Warning: Debian/Ubuntu users: The debian version of sphinx has
|
|
unfortunately been patched to behave differently than the upstream
|
|
version, resulting in one or more eclim supplied sphinx extensions
|
|
not loading. Another issue you may run into is the docutils
|
|
package, which sphinx depends on, is outdated on debian/ubuntu,
|
|
resulting in another set of errors.So to get around these issues
|
|
you'll need to install sphinx using pip
|
|
(http://pip.readthedocs.org/en/latest/index.html) or similar.
|
|
|
|
|
|
3. Add eclim as a project:
|
|
--------------------------
|
|
|
|
Once you built eclim, you can then start the daemon
|
|
(eclimd#eclimd-start) and add eclim as a project:
|
|
|
|
>
|
|
|
|
:ProjectImport /path/to/git/checkout/of/eclim
|
|
|
|
<
|
|
|
|
|
|
*coding-style*
|
|
|
|
|
|
Coding Style
|
|
============
|
|
|
|
When contributing code please try to adhere to the coding style of
|
|
similar code so that eclim's source can retain consistency throughout.
|
|
For java code, eclim includes a checkstyle configuration which can be
|
|
run against the whole project:
|
|
|
|
>
|
|
|
|
$ ant checkstyle
|
|
|
|
<
|
|
|
|
|
|
or against the current java file from within vim:
|
|
|
|
>
|
|
|
|
:Checkstyle
|
|
|
|
<
|
|
|
|
|
|
*development-patches*
|
|
|
|
|
|
Developing / Submitting Patches
|
|
===============================
|
|
|
|
The preferred means of developing and submitting patches is to use a
|
|
github fork. Github provides a nice guide to forking
|
|
(http://help.github.com/forking/) which should get you started.
|
|
|
|
Although using a github fork is preferred, you can of course still
|
|
submit patches via email using git's format-patch command:
|
|
|
|
>
|
|
|
|
$ git format-patch -M origin/master
|
|
|
|
<
|
|
|
|
|
|
Running the above command will generate a series of patch files which
|
|
can be submitted to the eclim development group
|
|
(http://groups.google.com/group/eclim-dev).
|
|
|
|
|
|
What's Next
|
|
===========
|
|
|
|
Now that you're familiar with the basics of building and patching
|
|
eclim, the next step is to familiarize yourself with the eclim
|
|
architecture and to review the detailed docs on how new features are
|
|
added.
|
|
|
|
All of that and more can be found in the eclim development docs
|
|
(development-index).
|
|
|
|
vim:ft=eclimhelp |