XUtils

HTTP Builder NG

HTTP Builder NG is a modern Groovy DSL for making http requests.


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.

Original Project

jgritman/httpbuilder


Articles

  • coming soon...