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
- Install Java8
- Install eclipse, in installer select "Eclipse IDE for Enterprise Java and Web Developers", select the Java11 you just installed
- Add Java8 JRE
- 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)
grouper.is.ui = true # UI basic auth is for quick start. Set to false when you migrate to shib or something else grouper.is.ui.basicAuthn = true grouperPasswordConfigOverride_UI_mchyzer_pass = pass grouperPasswordConfigOverride_UI_GrouperSystem_pass = pass
- Set java8 for project
- 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
- Make a large startup timeout
- Start the server
- Go to local grouper: http://localhost:8080/grouper (userName/pass) or whatever you put in grouper.hibernate.properties