The Git repository for the main Spring Cloud Data Flow project is at: https://github.com/spring-cloud/spring-cloud-dataflow
Two build tool chains are supported. Primarily, the Spring Cloud Data Flow UI uses npm (Node.js-based) for managing dependencies and the execution of the build. In order to provide easier Continuous Integration (CI) support, Maven can also be used to execute the build.
The Spring Cloud Data Flow Dashboard uses Maven, specifically the frontend-maven-plugin which will actually execute npm underneath. Using the frontend-maven-plugin, however, the required tooling, including Node.js will be downloaded, installed and executed for you.
Using Maven is also the easiest route for Java developers to get started, as the only requirements are:
$ git clone https://github.com/spring-cloud/spring-cloud-dataflow-ui.git $ cd spring-cloud-dataflow-ui $ mvn clean install
This will create
target/spring-cloud-dataflow-ui-1.3.0.BUILD-SNAPSHOT.jar and also install the build artifact into the local Maven repository.
$ git clone https://github.com/spring-cloud/spring-cloud-dataflow-ui.git $ cd spring-cloud-dataflow-ui/ui $ npm install $ ng build --prod
NOTE: Before building be sure that the
ng-serve development server has been shutdown.
In some cases the npm-modules or other dependencies may become inconsistent during branch changes. In order to resolve the problem we need to clean out inconsistent dependencies. The following instructions can be used to do this:
git clean -fx
git stash pop
ng build --prod
$ ng test --browsers PhantomJS --single-run
$ npm run e2e
For development, please ensure that a Spring Cloud Data Flow server instance is running at
$ npm start
The Dashboard will be running at
http://localhost:4200/. The browser will automatically reload upon saving any changes to the application sources.
npm is used for managing UI dependencies.
$ npm install --save-dev my-dependency
Produces analysis report on the project webpack bundles.
$ ng build --prod --stats-json $ npm run bundle-report
You can view the results via your browser at: http://127.0.0.1:8888/
Produces code coverage report.
$ ng test --browsers PhantomJS --single-run --code-coverage --reporters=coverage-istanbul