This is considered a "lite" dev env since we are not cloning git, or making pull requests. We just want to run grouper and make GSH templates or hooks or provisioners.
- Install Java11 (note: compile things for Grouper compatible with Java8, but you can use jdk11 to do that)
- Install eclipse, in installer select "Eclipse IDE for Enterprise Java and Web Developers", select the Java11 you just installed
- Make a new Maven project
- Right click on Project, Maven → Add dependency
- GroupId: edu.internet2.middleware.grouper
- ArtifactId: grouper-ui
- Version: 2.5.47
- Right click on project, Maven, update project
- I use the java perspective, so switch to that
Get the webapp dir out of container
PS C:> cd C:\users\mchyzer-local\eclipse-workspace\test PS C:\users\mchyzer-local\eclipse-workspace\test> docker run --detach -e GROUPER_LOG_TO_HOST=true --name grouperFiles i2incommon/grouper:2.5.47 ui 62149d4d5f784949c635ba3ebc4276fb91b11e2bc39fe77d2ce7100f4780f405 PS C:\users\mchyzer-local\eclipse-workspace\test> docker cp grouperFiles:/opt/grouper/grouperWebapp . PS C:\users\mchyzer-local\eclipse-workspace\test> docker rm -f grouperFiles grouperFiles PS C:\users\mchyzer-local\eclipse-workspace\test>
- Refresh your eclipse project and see grouperWebapp
- Lets move the existing grouperWebapp/WEB-INF/classes dir contents into a new source folder named grouperWebappClasses
- Move any properties files from there to the resources folder and customize. Note if you are connecting to an existing database, the morphString secret must match
- If you are using a new database
Start hsql
PS C:\users\mchyzer-local\eclipse-workspace\test> mkdir temp PS C:\users\mchyzer-local\eclipse-workspace\test> cd temp PS C:\users\mchyzer-local\eclipse-workspace\test> java -cp .\grouperWebapp\WEB-INF\lib\hsqldb-2.3.5.jar org.hsqldb.Server -port 9001 -database file:temp/grouper
- grouper.hibernate.properties (moved from grouperWebappClasses)
- If you are using an existing database
- Add in to grouper.hibernate.properties that it is ui, and put in a local pass for a subject (remote database) or GrouperSystem (hsql database or remote)
- Change build path to compile to grouperWebapp/WEB-INF/classes (except the test source and test resources). Also dont exclude any resources. Note, in future if you do Maven → Update project, you might have reset some of these settings
- Download tomcat 8.5
- Add a new server in eclipse
- Window → Show view → Servers, add a module