Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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; Kotlin and Java API compatibility targets 17, 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; compile/run: 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 target: 17 (compile/run requires JDK 25, per Spring Boot 4.x guidance)

## 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 (compile/run requires JDK 25)

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