Difference between revisions of "Developing with Eclipse"

From BaseX Documentation
Jump to navigation Jump to search
Line 5: Line 5:
 
==Prerequisites==
 
==Prerequisites==
 
   
 
   
* BaseX is developed with the [https://www.eclipse.org/downloads/ Eclipse IDE for Java Developers] (other IDEs like IntelliJ IDEA can be used as well).
+
BaseX is developed with the Eclipse environment (other IDEs like IntelliJ IDEA can be used as well). The [https://www.eclipse.org/downloads/ Eclipse IDE for Java Developers] includes the EGit plugin (for [[Git]]) and the m2e plugin (for [[Maven]]).
* The (included) [http://www.eclipse.org/egit EGit] plugin allows you to use [[Git]] within Eclipse.
+
 
* The (included) [http://www.eclipse.org/m2e m2e] plugin provides [[Maven]] support.
+
Other Eclipse plugins we use are:
* Additional coding guidelines are defined via Checkstyle and can be integrated with the [http://eclipse-cs.sourceforge.net eclipse-cs] plugin. The Update URL is {{Code|http://eclipse-cs.sf.net/update/}}.
+
 
* Other Eclipse plugins we frequently use are
+
{| class="wikitable"
** [http://findbugs.sourceforge.net/ FindBugs] to analyze Java byte code (Update URL: <code><nowiki>http://findbugs.cs.umd.edu/eclipse</nowiki></code>),
+
|- valign="top"
** [http://www.eclipse.org/eclipse/platform-core/downloads.php Core Tools] to find unreferenced members (Update URL: <code><nowiki>http://eclipse.org/eclipse/platform-core/updates</nowiki></code>, and
+
! Name
** the code coverage tool [http://www.eclemma.org/ EclEmma] (Update URL: <code><nowiki>http://update.eclemma.org/</nowiki></code>).
+
! Description
 +
! Update URL
 +
|-
 +
| [http://eclipse-cs.sourceforge.net eclipse-cs]
 +
| Enforces coding standards.
 +
| <code><nowiki>http://eclipse-cs.sf.net/update/</nowiki></code>
 +
|-
 +
| [http://findbugs.sourceforge.net FundBugs]
 +
| Analyze project at byte code level
 +
| <code><nowiki>http://findbugs.cs.umd.edu/eclipse</nowiki></code>
 +
|-
 +
| [http://www.eclipse.org/eclipse/platform-core/downloads.php Core Tools]
 +
| Find dead (unreferenced) code.
 +
| <code><nowiki>http://eclipse.org/eclipse/platform-core/updates</nowiki></code>
 +
|-
 +
| [http://www.eclemma.org/ EclEmma]
 +
| Code coverage tool.
 +
| <code><nowiki>http://update.eclemma.org/</nowiki></code>
 +
|}
  
 
==Check Out==
 
==Check Out==

Revision as of 14:15, 28 July 2014

This page is part of the Developer Section. It describes how to get the BaseX sources compiled and running on your system.

Another article in the documentation describes how to use BaseX as a query processor in Eclipse.

Prerequisites

BaseX is developed with the Eclipse environment (other IDEs like IntelliJ IDEA can be used as well). The Eclipse IDE for Java Developers includes the EGit plugin (for Git) and the m2e plugin (for Maven).

Other Eclipse plugins we use are:

Name Description Update URL
eclipse-cs Enforces coding standards. http://eclipse-cs.sf.net/update/
FundBugs Analyze project at byte code level http://findbugs.cs.umd.edu/eclipse
Core Tools Find dead (unreferenced) code. http://eclipse.org/eclipse/platform-core/updates
EclEmma Code coverage tool. http://update.eclemma.org/

Check Out

Our Git Tutorial explains how BaseX can be checked out from the GitHub Repository and embedded in Eclipse with EGit. The article also demonstrates how git can be used on command-line.

The basex repository contains the following sub-directories:

  1. basex-core is the main project
  2. basex-api contains the BaseX APIs (XML:DB, bindings in other languages) and HTTP Services (REST, RESTXQ, WebDAV)
  3. basex-examples includes some examples code for BaseX
  4. basex-tests contains several unit and stress tests

If the problems view shows a list of warning, you may need to switch to Java 6 (WindowsPreferencesInstalled JREs).

With the Maven plugin from Eclipse, it sometimes requires several attempts to get all dependencies updated. This loop can be avoided if the sources are precompiled via Maven on command-line.

Start in Eclipse

  1. Press RunRun…
  2. Create a new "Java Application" launch configuration
  3. Select "basex" as "Project"
  4. Choose a "Main class" (e.g., org.basex.BaseXGUI for the graphical user interface)
  5. Launch the project via Run

Alternative

You may as well use the standalone version of Maven to compile and run the project, use other IDEs such as IntelliJ IDEA.