Skip to content

Commit

Permalink
Update README about build tools (#9545)
Browse files Browse the repository at this point in the history
* Update README about build tools
* Add Docker as tool needed for third party testing
* fast build and jdk to use
* add home/runner locations/branches

---------

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: Olivier Lamy <olamy@apache.org>
  • Loading branch information
joakime and olamy committed Apr 5, 2023
1 parent a87784c commit 642ce81
Showing 1 changed file with 31 additions and 6 deletions.
37 changes: 31 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,44 @@ Project documentation is available on the Jetty Eclipse website.
Building
========

To build, use:
[Apache Maven 3.8.0](https://maven.apache.org/) and [OpenJDK](https://adoptium.net/) requirements:

Branch | Maven Version | Minimum JDK | Recommended JDK
---------------|---------------|-------------| ---------------
`jetty-10.0.x` | Maven 3.8.6+ | OpenJDK 11 | OpenJDK 17 (for optional loom and http/3 support)
`jetty-11.0.x` | Maven 3.8.6+ | OpenJDK 11 | OpenJDK 17 (for optional loom and http/3 support)
`jetty-12.0.x` | Maven 3.8.6+ | OpenJDK 17 | OpenJDK 17

Full Build with All Tests:

``` shell
mvn clean install
```

Fast Build if you need jars and distribution (not running tests, checkstyle, enforcer, license check):

``` shell
mvn clean install
mvn -Pfast clean install
```
Optional build tools:

Eclipse Jetty will be built in `jetty-home/target/jetty-home`.
* [`graphviz`](https://graphviz.org/) - used by asciidoctor in the jetty-documentation build to produce various graphs
* [`Docker`](https://www.docker.com/) - used to run some integration tests for testing third party integrations

The first build may take a longer than expected as Maven downloads all the dependencies.
Once the build is complete, you can find the built Jetty Maven artifacts in your Maven local repository.
Along with the following locations of note:

The build tests do a lot of stress testing, and on some machines it is necessary to set the file descriptor limit to greater than 2048 for the tests to all pass successfully.
Branches | Location | Description
---------------|-------------------------------------------------------------------|---------
all | `jetty-home/target/jetty-home-<ver>.tar.gz` | The Jetty Home standalone tarball
`jetty-10.0.x` | `jetty-runner/target/jetty-runner-<ver>.jar` | The Jetty Runner uber jar
`jetty-11.0.x` | `jetty-runner/target/jetty-runner-<ver>.jar` | The Jetty Runner uber jar
`jetty-12.0.x` | `jetty-ee10/jetty-ee10-runner/target/jetty-ee10-runner-<ver>.jar` | The Jetty Runner uber jar for ee10/Servlet 6 (jakarta.servlet) webapps
`jetty-12.0.x` | `jetty-ee9/jetty-ee9-runner/target/jetty-ee9-runner-<ver>.jar` | The Jetty Runner uber jar for ee9/Servlet 5 (jakarta.servlet) webapps
`jetty-12.0.x` | `jetty-ee8/jetty-ee8-runner/target/jetty-ee8-runner-<ver>.jar` | The Jetty Runner uber jar for ee8/Servlet 4 (javax.servlet) webapps

It is possible to bypass tests by building with `mvn clean install -DskipTests`.
Note: The build tests do a lot of stress testing, and on some machines it is necessary to set the
file descriptor limit to greater than 2048 for the tests to all pass successfully (check your `ulimit -n` value).

Professional Services
---------------------
Expand Down

0 comments on commit 642ce81

Please sign in to comment.