Development Environment
Required Software
In general, the most recent versions can (and should) probably be used for each of these. But the versions below are the ones I have working as of May 2019.
- Java OpenJDK 11.0.2
- Eclipse 2019-03
- Git 2.9.0
- Apache Maven 3.6.0
Other tools not required for the build process, but useful for support, are:
- SQL Developer 3.2.20.09
- PuTTY or other SSH client
- WinSCP or other SCP client
Setup
Install the OpenJDK, Eclipse, git, and Maven normally. Modify your path as necessary so that you can run Maven and Java from the git bash shell.
Clone all of the git projects from the 'ras' and 'ras-kuali' groups on the Tufts GitLab (https://gitlab.it.tufts.edu/ras, https://gitlab.it.tufts.edu/ras-kuali).
Visual Studio Libraries?
At one point in the past (~2016), an installation of Visual Studio was required to build some parts of the KC software on Windows, due to needing some specific C++ libraries for a part of the coeus-webapp build. I *believe* this is no longer required, but as I still have it installed on my system, I'll leave the info here in case it is needed.
- Installed software: Microsoft Visual Studio 12.0
- Environment variables set in git bash:
- VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
- VCTargetsPath="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120"
When these libraries were not present on older releases, the node.js section of the coeus-webapp build would fail with a message related to missing MS C++ libraries.
Build Process
Detailed instructions for building the Kuali Coeus software can be found in the Kuali git repo at https://github.com/KualiCo/kc/blob/master/README.md.Â
The basic steps for building the Tufts release are to run the maven build in each of the following projects using the given commands:
- schemaspy – mvn clean install -Dgrm.off=true
- kc-rice – mvn clean install -Dgrm.off=true
- kc-api – mvn clean install -Dgrm.off=true
- kc-s2sgen – mvn clean install -Dgrm.off=true
- kc – mvn clean install -Dgrm.off=true
- kc-custom – ./build.sh
The "-Dgrm.off=true" flag is necessary to disable the proprietary parts of the Kuali builds. If the flag is not provided, the build will fail while attempting to download artifacts from the private internal Kuali repo.
Each build in steps 1-5 will create the jar/war file for that project and store it in your local maven repository. The final step will create the final application .war file at kc-custom\coeus-webapp-custom\kc-dev.war. This file should be uploaded to the tomcat\webapps directory to deploy and run the KC application.
Supplemental Projects
There are two additional projects in the 'ras' group in GitLab which are additional applications used alongside RAS:
- award-budget-tool
- click-irb-person-feed
The award budget tool is a separate web application used to create award budgets, while the click-irb-person-feed is a JAR file which pushes data from the Tufts LDAP feed to the Huron Click IRB service on a nightly basis.
These projects are built through Eclipse rather than Maven. To build them, import the projects into Eclipse (File -> Import -> Existing Projects into Workspace), then right-click the project and select 'Export...'. Export each project with the following options:
award-budget-tool
- Export as Web -> WAR file
- Web project: AwardBudgetTool
- Destination:Â C:\git\award-budget-tool\AwardBudgetTool.war (or wherever your project is located)
- Target runtime: Apache Tomcat 7.0
- Uncheck 'export source files'
- Finish
click-irb-person-feed
- Export as Java -> Runnable JAR file
- Launch configuration - click-irb-person-feed (main class is edu.tufts.click.personfeed.LDAPClickUserTransaction)
- Export destination:Â click-irb-person-feed\click_irb_person_feed.jar
- Library handling: "Package required libraries into generated JAR"
- Uncheck "Save as ANT script"
- Finish
Information on the Tufts IT Knowledgebase is intended for IT Professionals at Tufts.
If you have a question about a Tufts IT service or computer/account support, please contact your IT support group.