KFS uses Maven for packaging and unit testing.
Properties
anchorConfiguration properties have defaulted values which are included in the KFS war and may be overridden at runtime. There are skeleton config files located in kfs/src/main/config to aid in overriding the most common properties. To override:
...
For ease of future upgrades, you should avoid modifying any of the delivered files under the kfs
directory.
Maven Command OverviewTo create a deployable KFS war, you can use the mvn package
command. To execute the KFS unit tests, you can use the mvn test
command. See the setup instructions and Maven Introduction to the Build Lifecycle documentation for more information.
Ant Target | clean | Remove all build output | clean |
clean-all | Delete all generated/extracted files within the project. | clean |
debug-dev | Starts up the included Tomcat server with KFS using Rice in bundled mode. | N/A |
debug-dev2 | Starts up the included Tomcat server with KFS using Rice in embedded (Rice standalone) mode. | N/A |
distRun all unit tests and format results | test |
Create artifacts and install them in ~/.m2/repository | install |
Builds the KFS war file |
for the current build.environmentdist-local | Prepare local configuration files and tokenized resources and deploy tomcat context file on development workstation | N/A |
echo-properties | Print all build properties that have been set | N/A |
help | Describe public targets | N/A |
refresh-db | Refreshes the KFS and Rice database schema(s) for the current build environment | N/A |
refresh-kfs-db | Refreshes the KFS components of the database for the current build environment | N/A |
refresh-rice-db | Refreshes the Rice component of the database for the current build environment | N/A |
report | retrieve dependencies with ivy | N/A |
resolve | resolve dependencies with ivy | N/A |
run-dev | Starts up the included Tomcat server with KFS using Rice in bundled mode. | see debug-dev |
run-dev2 | Starts up the included Tomcat server with KFS using Rice in embedded (Rice standalone) mode. | NA |
run-liquibase-dir | Runs the directory of liquibase files pointed to by the 'dir.name' property into the main datasource. Files will be run in alphanumeric order. | N/A |
run-liquibase-file | Runs the liquibase file pointed to by the 'file.name' property into the main datasource. | N/A |
test-local | Run all unit tests and format results | test Skip HelpFor iterative development, you may add -Dhelp.skip=true to the build command line. This skips the unpacking and deployment of the help files, significantly reducing the build time.
Installing NodeYou will want to install both NodeJS and the yarn package manager before building the front end. You can install node by going to the node web page, https://nodejs.org/, and downloading the appropriate installer for your operating system. On Mac OS X, you can install the Homebrew package manager and install NodeJS and yarn via that. On Linux, NodeJS is usually available via your operating system package manager.
Installing YarnYarn is the node package manager that is used within KFS. You can get an installer from its website https://yarnpkg.com/ or use Homebrew on OS X.
WebpackBefore running Financials, Webpack needs to run to create a file named bundle.js that has all of the React components in it. When built, this file is located at kfs-web/src/main/webapp/build/bundle.js. If this isn’t done, the user interface will not render properly. The maven pom for the kfs-web module of Financials has a step that will download NodeJS, yarn and Webpack and build the bundle.js for you. To do this, run the following maven command:
Code Block |
---|
mvn frontend:yarn@yarn-build -pl kfs-web |
If you install NodeJS, yarn and Webpack outside of Financials, you can run a Webpack in a mode called “watch”. This will look for changes to the script files and create the bundle if the files change. This feature is not available when running maven. Once node and yarn is installed, you can use yarn to install webpack. To do this, follow these steps:
Code Block |
---|
npm login --registry https://npm.kuali.co
cd kfs-web/src/main/webapp
yarn install |
This command reads the package.json file in this directory and installs the modules specified into the node_modules folder.
Warning |
---|
The node_modules directory does not get removed during a mvn clean. If there have been significant changes to the node dependencies or versions then this can lead to unexpected errors. You can either manually delete the node_modules directory or run 'git clean -df'. After clearing the node_modules directory you will need to run yarn install again to re-download the node dependencies. (running yarn install after deleting node_modules is more time consuming since it has to re-download all of the dependencies instead of just the changed ones) |
After the webpack module is installed, you can run one of the following commands from inside the webapp directory:
yarn watch - This command will build the bundle.js file then monitor the filesystem for changes to the script files. It will rebuild the bundle.js file if any scripts change.
yarn build - This command will build the bundle.js file then exit. It performs the same work that the maven command performs.
Include Page |
---|
| Include Footer |
---|
| Include Footer |
---|
|