Common-UI

Common-ui historically contains commonly used utils/frameworks (e.g. jquery, angular) that are used across the platform. As we move forward with OSGI it is expected for these to be removed from common-ui to be deployed in a more modular way.

Pre-requisites for building the project:

  • Maven, version 3+
  • Java JDK 1.8
  • This settings.xml in your /.m2 directory

Building it

Build for nightly/release

All required profiles are activated by the presence of a property named "release".

$ mvn clean install -Drelease

This will build, unit test, and package the whole project (all of the sub-modules). The artifact will be generated in: target

Build for CI/dev

The release builds will compile the source for production (meaning potential obfuscation and/or uglification). To build without that happening, just eliminate the release property.

$ mvn clean install

Deploying to pentaho-server

  1. Delete the existing common-ui platform plugin at pentaho-server/pentaho-solutions/system/common-ui.
  2. Build common-ui.
  3. Unzip the file at assemblies/platform-plugin/target/common-ui-{version}.zip to pentaho-server/pentaho-solutions/system/common-ui.

Running the tests

Unit tests

This will run all tests in the project (and sub-modules).

$ mvn test

If you want to remote debug a single java unit test (default port is 5005):

$ cd core
$ mvn test -Dtest=<<YourTest>> -Dmaven.surefire.debug

Integration tests In addition to the unit tests, there are integration tests in the core project.

$ mvn verify -DrunITs

To run a single integration test:

$ mvn verify -DrunITs -Dit.test=<<YourIT>>

To run a single integration test in debug mode (for remote debugging in an IDE) on the default port of 5005:

$ mvn verify -DrunITs -Dit.test=<<YourIT>> -Dmaven.failsafe.debug