...
Here is how the Shibboleth developers set up their Eclipse environment. These instructions were last updated for 2012's Eclipse Juno, but apply in large part to later releases. We recommend the Eclipse IDE for Java Developers distributions.
Table of Contents | ||
---|---|---|
|
Max Memory
By default, as of the 2019-09 release, Eclipse will use up to 1024MB of memory. This seems to be sufficient for most of what we do.
...
You must install the following plugins. The easiest way is to use the Marketplace (Help -> Eclipse Marketplace):
M2E Maven Integration for Eclipse
This is generally installed with other JDT components, but may be explicitly needed if starting from a bare install.
TestNG for Eclipse
Install the version from the Marketplace if it is available. If it does not appear to be available, try adding
https://dl.bintray.com/testng-team/testng-eclipse-release/
as a repository and installing from there.
Checkstyle Plug-in
Install the version from the Marketplace if it is available. If it does not appear to be available, try adding
ashttps://checkstyle.org/eclipse-cs/
as a repository and installing from there.
Required Configuration
The following configuration, set via the Preferences window, is required when working with Shibboleth.
General -> Editors -> Text Editors -> Insert spaces for tabs -> check
XML -> XML Files -> Editor -> Line Width -> 120
XML -> XML Files -> Editor -> Indent Using Spaces -> selected
XML -> XML Files -> Editor -> Indentation Size -> 4
The follow configuration is default in the 'Mars' release of eclipse (4.5) but should be checked.
General -> Editors -> Text Editors -> Show line numbers -> check
Java -> Code Style -> Add '@Override' annotation for new overriding methods -> check (Note: requirement reversed at developers meeting 2013-12-20)
Recommend Configuration
It is recommended that you set the following Eclipse Preferences to the given value. This is not required but the following options are all there for various reasons: help in debugging, code formatting/style, better IDE performance, etc.
General -> Show heap status -> check
General -> Startup and Shutdown -> Confirm exit when closing last window -> uncheck
General -> Startup and Shutdown -> Plug-ins activated on startup -> Mylyn .* -> uncheck
Java -> Editor -> Folding -> Comments -> check
Java -> Editor -> Folding -> Inner Types -> check
Java -> Compiler -> Javadoc
... as visible as: Private
Validate tag arguments: ticked
Report non visible references: ticked
Report deprecated references: unticked
Missing Javadoc tags: Warning (but Error might be a better idea)
... as visible as: Private
Ignore in overriding and implementing methods: ticked
Ignore method type parameters: unticked (perhaps a mistake)
Missing Javadoc comments: Ignore
Maven -> Download Artifact Sources -> check
Maven -> Download Artifact JavaDoc -> check
Maven -> User Interface -> Open XML page in the POM editor by default -> check
The follow configuration is default from the 'Mars' release of eclipse (4.5) but can be checked.
General -> Appearance -> Enabled animations -> uncheck
General -> Editors -> Structured Text Editors -> Enable Folding -> check
Install/Update -> Automatic Updates -> Automatically find new updates and notify me -> check
Maven -> Download repository index updates on startup -> uncheck
For development with the IdP V3 and V4 code, it is also recommended to add this XML Catalog into the Eclipse configuration. Do this after you have added and imported the V3 projects.
File -> Import -> XML -> XML Catalog.
Select the file
parent/resources/eclipse/user_catalog.xml
Importing Projects
In order to work with a project in Eclipse you need to get it from Source Control System and get it in to Eclipse. Here's the general steps.
Check out the project trunk/branch from the Git repository.
Note: you should perform this checkout from the command lineIn Eclipse, select
File -> Import
thenMaven -> Existing Maven Projects
If the project is a monolithic project, select the directory created in step 1 as the
Root Directory
If the project is a multi-module project, select the
*-parent
directory, located as a child directory of the project directory created in step 1, as theRoot Directory
Press the
Okay
button and wait while Eclipse builds everything, updates its caches, has a cup of tea and whatever else takes it so long.
Note: this configuration includes the Shibboleth project's standard Apache 2 license header. Code contributed to the Shibboleth project must contain this header. However, if you are not planning to contribute the code you'll probably want to change this. To do so, go to your project's properties and in Java Code Style -> Code Templates
adjust Comments -> File
to whatever you want it to be.
...