Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yacosta738/gradle-kotlin-spring-starter
Gradle, Kotlin, Spring Skeleton
https://github.com/yacosta738/gradle-kotlin-spring-starter
Last synced: about 2 months ago
JSON representation
Gradle, Kotlin, Spring Skeleton
- Host: GitHub
- URL: https://github.com/yacosta738/gradle-kotlin-spring-starter
- Owner: yacosta738
- License: mit
- Created: 2022-11-17T16:14:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-08T04:59:11.000Z (3 months ago)
- Last Synced: 2024-10-17T19:00:56.224Z (2 months ago)
- Language: Kotlin
- Size: 154 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[![Run Gradle on PRs](https://github.com/yacosta738/gradle-kotlin-spring-starter/actions/workflows/gradle-build-pr.yml/badge.svg)](https://github.com/yacosta738/gradle-kotlin-spring-starter/actions/workflows/gradle-build-pr.yml)
# Gradle, Kotlin, Spring Skeleton
Do you already know how to set up a Gradle multi-project / multi-module with Kotlin DSL and Spring Dependency
Management?I have set up an example here, in which I have abstracted the most important logical components and packed them into
individual buildSrc modules. This makes the build very modular and also very clear. What do you think?It has the following details:
- Java 17
- Gradle 7.5
- buildSrc
- Kotlin DSL
- Version Catalog (libs.versions.toml)
- Gradle Build Scan enabled in CI (Attention! Terms of Service are accepted by the environment variable `BUILD_SCAN_TOS_ACCEPTED` and the scan enabled by the environment variable `CI`)
- Kotlin 1.7.20
- Spring Boot 2.7.4
- Dokka 1.7.20
- Spring Dependency-ManagementAdditionally, I added a POC how Maven Publishing could work. In another project, I got it to work like this without
Spring boot on Gitlab. Unfortunately it doesn't work with the spring boot plugin in this example yet. But I think it can
help others to reach their goals.If there are any questions or suggestions for improvement, issues, discussions and PRs are welcome.
## Run it!
### Run the application
```bash
./gradlew bootRun
```### Run apps separately
The factory:
gradle :message-factory:bootRun
The Dashboard:
gradle :message-dashboard:bootRun
And now visit
You can enter every name in place of "Mr.Bean".