Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ All third-party contributions to this project must be accompanied by a signed co
## Development Setup

**Prerequisites:**
- Java 25 (compile version; targets JVM 17)
- Java 25 (compile/run; JVM target 17 with Kotlin language/api 2.2, per Spring Boot 4.x guidance)
- Maven 3.9+ (use the included `./mvnw` wrapper)
- Docker (for Docker build and integration tests)

Expand Down Expand Up @@ -56,7 +56,7 @@ S3Mock uses three test levels:
2. **Spring Boot tests** - component-level coverage with Spring context
3. **Integration tests** (`*IT.kt`) - end-to-end tests against the Docker container using real AWS SDK v2 clients, in `integration-tests/src/test/`

Please ensure that your code is covered by at least one of these test types.
Ensure your code has coverage from at least one of these test types.

## Submitting Changes

Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Lightweight S3 API mock server for local integration testing.
> no restating of rules from the root.

## Tech Stack
- **Kotlin 2.3** (target JVM 17; build/compile requires JDK 25), Spring Boot 4.0.x, Maven 3.9+
- **Kotlin 2.3+** (language/API compatibility: 2.2; JVM target: 17; build toolchain: JDK 25 — per Spring Boot 4.x guidance), Spring Boot 4.0.x, Maven 3.9+
- **Testing**: JUnit 5, Mockito, AssertJ, Testcontainers
- **Container**: Docker/Alpine

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ graph LR

## Build & Run

**Requirements**: Java 17+, Maven 3.9+, Docker (for Docker build and integration tests)
**Requirements**: Java 25, Maven 3.9+, Docker (for Docker build and integration tests)

**Build:**
```shell
Expand All @@ -503,9 +503,9 @@ make integration-tests
```

**Technology:**
- Built with Kotlin 2.3.0 and Spring Boot 4.0
- Tests written in Kotlin
- Target JVM: 17
- S3Mock uses Kotlin 2.3+ (language/API compatibility: 2.2) and Spring Boot 4.0
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Technology bullet says Spring Boot “4.0”, but the repo is using a 4.0.x patch release (pom.xml sets spring-boot.version to 4.0.2, and the compatibility table above uses “4.0.x”). Consider aligning this line with the actual versioning strategy (e.g., “4.0.x” or the concrete patch).

Suggested change
- S3Mock uses Kotlin 2.3+ (language/API compatibility: 2.2) and Spring Boot 4.0
- S3Mock uses Kotlin 2.3+ (language/API compatibility: 2.2) and Spring Boot 4.0.x

Copilot uses AI. Check for mistakes.
- Tests use Kotlin
- JVM bytecode target: 17; building and running from source requires JDK 25 (per Spring Boot 4.x guidance), while the packaged artifacts run on Java 17+.

## Contributing

Expand Down
10 changes: 10 additions & 0 deletions docs/KOTLIN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

Canonical reference for Kotlin idioms, naming conventions, and code quality standards used across this project.

## Compiler Settings

S3Mock uses Kotlin 2.3+ with language and API compatibility set to **2.2**, following Spring Boot 4.x guidance:

- **Kotlin compiler**: 2.3+
- **Language/API version**: 2.2 (`-language-version 2.2`, `-api-version 2.2`)
- **JVM target**: 17 (build requires JDK 25; bytecode/JVM target 17)

This means you can use any syntax and standard library APIs available in Kotlin 2.2. Kotlin 2.3+ compiler improvements (performance, diagnostics) apply automatically.

## Idioms

### Null Safety
Expand Down
Loading