Skip to content

pentaho/pentaho-platform-plugin-common-ui

Repository files navigation

Common-UI

Common-ui historically contains commonly used utils/frameworks (e.g. jquery) 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.

Java Javascript Node

How to build

Common-UI uses the maven framework.

Pre-requisites for building the project:

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

Building it

This is a maven project, and to build it use the following command

$ mvn clean install

Optionally you can specify -Drelease to trigger obfuscation and/or uglification (as needed)

Optionally you can specify -Dmaven.test.skip=true to skip the tests (even though you shouldn't as you know)

The build result will be a Pentaho package located in target.

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 unit tests in the project (and sub-modules). To run integration tests as well, see Integration Tests below.

$ 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 that test cross-module operation. This will run the integration tests.

$ 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

To skip test

$ mvn clean install -DskipTests

To get log as text file

$ mvn clean install test >log.txt

IntelliJ

  • Don't use IntelliJ's built-in maven. Make it use the same one you use from the commandline.
    • Project Preferences -> Build, Execution, Deployment -> Build Tools -> Maven ==> Maven home directory