blob: 1219d307abd58950e697823ccfd75664669fdc38 [file] [log] [blame] [view]
Alexander Afanasyevccb373d2016-01-25 11:28:18 -08001# Developer Notes
2
3## Prerequisites
4
5- [Gradle build system version 2.10 or later](http://gradle.org/)
6
7## Compile
8
9To compile:
10
11 ./gradlew assemble
12
13Note: when compiling on Windows, replace `./gradlew` with `gradlew` or `gradlew.bat`.
14
15To build documentation:
16
17 ./gradlew javadoc
18
19To build all artifacts and publish to a local maven repository:
20
21 ./gradlew install
22
23To publish to maven repository `signing.keyId`, `signing.password`, `signing.secretKeyRingFile`,
24`ossrhUsername`, and `ossrhPassword` variables need to be defined in project-specific or
25user-specific `gradle.properties` file. After the variables defined, run the following command
26to build, sign, and upload archives to maven:
27
28 ./gradlew uploadArchives
29
30To get list of other targets, use `./gradlew tasks`.
31
32## Tests
33
34The package contains two types of tests: unit and integration. The integration tests require
35NFD instance to be running locally.
36
37### Unit Tests
38
39To run unit tests:
40
41 ./gradlew test
42
43To run a specific test or test case, use `--tests=<test-name>[.<test-case>]` command-line option. For example,
44
45 ./gradlew test --tests *FaceStatusTest
Alexander Afanasyeva8bc0d82016-01-25 17:25:30 -080046 ./gradlew test --tests *FaceStatusTest.testEncode
Alexander Afanasyevccb373d2016-01-25 11:28:18 -080047
48### Integration Tests
49
50To run integration tests
51
52 ./gradlew integrationTest