Files
siembol/docs/introduction/how-tos/how_to_contribute.md
2021-07-06 17:00:15 +01:00

2.8 KiB

How to Contribute

How to contribute to the siembol Java project

Environment

How to compile and install

To install the project locally:

mvn clean install -Dgpg.skip=true

To build and test the project:

mvn clean package

note: We recommend that you execute this command before committing changes in the git repository.

To build the project but skip testing:

mvn clean package -DskipTests=true

How to solve dependencies conflicts

To obtain the dependency trees that can help to resolve issues with conflict in dependencies

mvn dependency:tree

How to increase the version of submodules

To increment versions in all submodules:

mvn versions:set -DnewVersion=your_new_version

note: Incrementing the version is recommended for each PR with siembol java code change. Use version name with SNAPSHOT if you are not preparing a release version.

How to contribute to config editor UI project

Angular version

The current Angular version can be found in the package.json file.

Build

To build the project:

npm run build

The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.

Development server

To start a development server, run:

npm run start

Navigate to http://localhost:4200 to view the UI.

The app will automatically reload if you change any of the source files.

Running unit tests

to execute the unit tests via Karma, run:

npm run test

Linting

To lint all files:

npm run lint

To lint all files and fix linting errors:

npm run lint-fix

Package lock file

To change the dependencies listed in package.json, run:

npm install

Always update and commit dependencies in the package lock file

note: Please compress the package-lock.json file into one line so it does not affect the contributor statistics. Powershell example:

Get-Content package-lock.json | ConvertFrom-Json | ConvertTo-Json -compress -Depth 10 | Out-File package-lock2.json -Encoding ascii ; rm package-lock.json ; mv package-lock2.json package-lock.json

Increase the config editor's UI version

The config editor's UI version should be increased after each code change in package.json.