Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This how-to describes how to set up a Grouper development environment so that you can code, test, and debug Grouper.

This page is specific to Grouper 2.5. 

 Instructions for Grouper 2.4 are found at 
How to Setup a Grouper Development Environment for Grouper 2.4. 

This is a "no build" dev env where

  • the developer does not run ant or maven on an ongoing basis
  • the IDE compiles java classes and copies files around so that Java classes can be run (e.g. unit tests, grouper shell, grouper client, any main())
  • the UI and WS webapp is ready be run by Tomee without any ant or maven, and just uses the compiled classes and files from the IDE
  • no grouper dependencies need to be compiled or built or copied it is all done by the IDE automatically

Developers should understand how it works since it is a little involved

Troubleshooting errors consists of looking in the directory where things are compiled or the webapp dir and seeing if the right classes and configs etc are there.  If you get classnotfound exceptions when running ui/ws command line programs, you might need to go to Java Build Path → Libraries → Add external class folder: webapp/WEB-INF/classes

Grouper dev env high level

...

  • Java 8
  • IDE (e.g. eclipse)
  • Git clone
  • Tomee (with tomcat 8.5)

Grouper client dev env

Here are diagrams for the client (base dependency of grouper), api (next dependency), and UI (example of a third and final level dependency)

Grouper client dev env

Gliffy Diagram
macroId52c6eb4f-0ebe-4ec5-83e1-c11855ecfb61
namegrouperDevEnv2.5grouperClient
pagePin2

Grouper API dev env





The example commands and screenshots are from MacOS and Eclipse, and may vary slightly for different environments. However, the overall process should be similar on any modern operating system and development tool chain. Developers can use whatever tools that let them work most efficiently.

...