Quick Links for the Impatient
- Site: https://http-builder-ng.github.io/http-builder-ng/
- User Guide: https://http-builder-ng.github.io/http-builder-ng/asciidoc/html5/
- JavaDocs: https://http-builder-ng.github.io/http-builder-ng/docs/javadoc/
- Project: https://github.com/http-builder-ng/http-builder-ng
- Twitter: @HttpBuilderNG
- StackOverflow: httpbuilder-ng
Artifacts
Http Builder NG artifacts are available on Bintray and Maven Central, for Gradle you can add the following dependency to your build.gradle
file dependencies
closure:
compile 'io.github.http-builder-ng:http-builder-ng-CLIENT:1.0.4'
or, for Maven add the following to your pom.xml
file:
<dependency>
<groupId>io.github.http-builder-ng</groupId>
<artifactId>http-builder-ng-CLIENT</artifactId>
<version>1.0.4</version>
</dependency>
where CLIENT
is replaced with the client library name (core
, apache
, or okhttp
).
Build Instructions
HttpBuilder-NG is built using gradle. To perform a complete build run the following:
`./gradlew clean build`
Test reports are not automatically generated; if you need a generated test report (aggregated or per-project) use:
`./gradlew clean build jacocoTestReport aggregateCoverage`
Note that the aggregateCoverage
task may be dropped if the aggregated report is not desired. The reports will be generated in their respective build/reports
directories, with the aggregated report being in the build
directory of the project root.
You can also generate the documentation using one of the following commands:
- For the aggregated JavaDocs:
./gradlew aggregateJavaDoc
- For the project User Guide:
./gradlew asciidoctor
Overall project documentation may also be generated as the project web site, using the site
task, discussed in the next section.
Version Updates
When updating the version of the project, the documented version should also be updated using the updateVersion
task. Modify the version in the project build.gradle
file and make note of the existing version then run:
./gradlew updateVersion -Pfrom=OLD_VERSION
where OLD_VERSION
is the pre-existing version of the project. This will update the current version mentioned in the documentation (e.g. README, User Guide and site).
History
Http Builder NG was forked from the HTTPBuilder project originally developed by Thomas Nichols. It was later passed on to Jason Gritman who maintained it for several years.
The original intent of Http Builder NG was to fix a few bugs and add a slight enhancement to the original HTTPBuilder project. The slight enhancement was to make HTTPBuilder conform to more modern Groovy DSL designs. However, it was not possible to update the original code to have a more modern typesafe DSL while preserving backwards compatibility. I decided to just make a clean break and give the project a new name to make it clear that Http Builder NG is basically a complete re-write and re-architecture.