## File: README.md

# Project Lombok

**Project Lombok** is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, automate your logging variables, and much more.

See [LICENSE] for the Project Lombok license.

Looking for professional support of Project Lombok? Lombok is now part of a [tidelift subscription]!

For a list of all authors, see the [AUTHORS] file. 

For complete project information, a short tutorial on what lombok does, and how to download / use / install it, see [projectlombok.org]

You can review our security policy via [SECURITY.md]

[LICENSE]: https://github.com/projectlombok/lombok/blob/master/LICENSE
[AUTHORS]: https://github.com/projectlombok/lombok/blob/master/AUTHORS
[SECURITY.md]: https://github.com/projectlombok/lombok/blob/master/SECURITY.md
[projectlombok.org]: https://projectlombok.org/
[tidelift subscription]: https://tidelift.com/subscription/pkg/maven-org-projectlombok-lombok?utm_source=maven-org-projectlombok-lombok&utm_medium=referral&campaign=website

---

## File: docker/ant/readme.md

## Configuration

[_(general configuration and options)_](../readme.md)

### `ARG ant=1.10.9`

The ant version to be used. Supported values:

- `1.10.9` (default)

## Example build commands:

(To be executed from the `<lombokhome>/docker` directory)

```
docker build -t lombok-ant-jdk17 -f ant/Dockerfile .

docker build -t lombok-ant-jdk17 --build-arg lombokjar=lombok-1.18.28.jar -f ant/Dockerfile .
```

## Example run commands:

```
docker run -it lombok-ant-jdk17

docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar lombok-ant-jdk17
```

## Example container commands:

```
cd classpath
ant dist
```

---

## File: docker/bazel/readme.md

## Configuration

[_(general configuration and options)_](../readme.md)

### `ARG bazel=2.0.0

The bazel version to be used. Supported values:

- `2.0.0` (default)

## Example build commands:

(To be executed from the `<lombokhome>/docker` directory)

```
docker build -t lombok-bazel-jdk17 -f bazel/Dockerfile .

docker build -t lombok-bazel-jdk17 --build-arg lombokjar=lombok-1.18.28.jar -f bazel/Dockerfile .
```

## Example run commands:

```
docker run -it lombok-bazel-jdk17

docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar lombok-bazel-jdk17
```

## Example container commands:

```
bazel build //:ProjectRunner
```

---

## File: docker/gradle/readme.md

## Configuration

[_(general configuration and options)_](../readme.md)

### `ARG gradle=8.5`

The gradle version to be used. Supported values:

- `8.5` (default)
- `8.3`
- `7.6.1`
- `6.8.3`

## Example build commands:

(To be executed from the `<lombokhome>/docker` directory)

```
docker build -t lombok-gradle-jdk17 -f gradle/Dockerfile .

docker build -t lombok-gradle-jdk17 --build-arg lombokjar=lombok-1.18.28.jar -f gradle/Dockerfile .
```

## Example run commands:

```
docker run -it lombok-gradle-jdk17

docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/classpath/lombok.jar lombok-gradle-jdk17
```

## Example container commands:

```
gradle assemble
```

---

## File: docker/maven/readme.md

## Configuration

[_(general configuration and options)_](../readme.md)

### `ARG maven=3.6.3`

The maven version to be used. Supported values:

- `3.6.3` (default)

## Example build commands:

(To be executed from the `<lombokhome>/docker` directory)

```
docker build -t lombok-maven-jdk17 -f maven/Dockerfile .

docker build -t lombok-maven-jdk17 --build-arg lombokjar=lombok-1.18.20.jar -f maven/Dockerfile .
```

## Example run commands:

```
docker run -it lombok-maven-jdk17

docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar lombok-maven-jdk17
```

## Example container commands:

```
cd classpath
mvn compile
```

---

## File: docker/readme.md

## Configuration

### `/workspace`

Each docker image contains a `/workspace` where all relevant files are located.


### `ARG lombokjar=lombok.jar`

When building the image, a lombok.jar will be downloaded to `/workspace/classpath` and `/workspace/modules`.
By default, this is the latest released version. You can download a specific version by adding `--build-arg lombokjar=lombok-<major.minor.build>.jar`

### `ARG jdk=21`

The jdk version to be used. Supported values:
- `22`(based on openjdk GA)
- `21` (default)(based on openjdk instead of adoptium)
- `17`
- `11`
- `8`

The version is also accessible in `JDK_VERSION`.


### Use fresh lombok.jar
If you want to use a lombok.jar from your system, assuming `<lombokhome>` contains the path to the lombok directory (where the .git subdirectory is located)
you can mount your recently built lombok.jar by providing `-v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar` to the `docker run` command.


## Examples

- [ant](ant/readme.md)
- [bazel](bazel/readme.md)
- [gradle](gradle/readme.md)
- [maven](maven/readme.md)