Alexander Afanasyev | 44cac2a | 2016-01-28 11:18:16 -0800 | [diff] [blame] | 1 | # Developer Notes |
| 2 | |
| 3 | ## Prerequisites |
| 4 | |
| 5 | - [Gradle build system version 2.10 or later](http://gradle.org/) |
| 6 | |
| 7 | ## Compile |
| 8 | |
| 9 | To compile: |
| 10 | |
| 11 | gradle assemble |
| 12 | |
| 13 | To build documentation: |
| 14 | |
| 15 | gradle javadoc |
| 16 | |
| 17 | To build all artifacts and publish to a local maven repository: |
| 18 | |
| 19 | gradle install |
| 20 | |
| 21 | To publish to maven repository `signing.keyId`, `signing.password`, `signing.secretKeyRingFile`, |
| 22 | `ossrhUsername`, and `ossrhPassword` variables need to be defined in project-specific or |
| 23 | user-specific `gradle.properties` file. After the variables defined, run the following command |
| 24 | to build, sign, and upload archives to maven: |
| 25 | |
| 26 | gradle uploadArchives |
| 27 | |
| 28 | To get list of other targets, use `gradle tasks`. |
| 29 | |
| 30 | ## Tests |
| 31 | |
| 32 | The package contains two types of tests: unit and integration. The integration tests require |
| 33 | NFD instance to be running locally. |
| 34 | |
| 35 | ### Unit Tests |
| 36 | |
| 37 | To run unit tests: |
| 38 | |
| 39 | gradle test |
| 40 | |
| 41 | To run a specific test, use `-Dtest.single=<test-name>` command-line option. For example, |
| 42 | |
| 43 | gradle -Dtest.single=ControlResponseTest test |
| 44 | |
| 45 | ### Integration Tests |
| 46 | |
| 47 | To run integration tests |
| 48 | |
| 49 | gradle integrationTest |