add service, service-container, service-process-resource, and test-integration

This commit is contained in:
2025-09-09 14:06:25 +02:00
parent 7bbdd82116
commit 424ec57cd8
6 changed files with 194 additions and 0 deletions

View File

@@ -13,6 +13,13 @@
* [Plugin Library.](#plugin-library)
* [Plugin Library Manifest.](#plugin-library-manifest)
* [Plugin Library publish.](#plugin-library-publish)
* [Service](#service)
* [Plugin Service](#plugin-service)
* [Plugin Service Container](#plugin-service-container)
* [Configuration](#configuration)
* [Gradle Tasks](#gradle-tasks)
* [Plugin Service Test Integration](#plugin-service-test-integration)
* [Plugin Service Process Resource](#plugin-service-process-resource)
* [Publish gradle plugin locally.](#publish-gradle-plugin-locally)
* [Releasing gradle plugin.](#releasing-gradle-plugin)
* [Publish gradle plugin to repository.](#publish-gradle-plugin-to-repository)
@@ -73,6 +80,55 @@ id `ltd.lulz.plugin.common-plugin.library-publish`
Configuration for publishing project artifacts to a remote Maven repository.
### Service
#### Plugin Service
id `ltd.lulz.plugin.common-plugin.service`
Default setting and tasks for services.
#### Plugin Service Container
id `ltd.lulz.plugin.common-plugin.service-container`
Configuration for running project in docker locally during development.
##### Configuration
* properties `container.network`, environment `CONTAINER_NETWORK`, or default `develop`
* properties `container.port.expose`, environment `CONTAINER_PORT_EXPOSE`, or default `8080`
* properties `container.port.host`, environment `CONTAINER_PORT_HOST`, or default `8080`
* properties `container.profiles`, environment `CONTAINER_PROFILES`, or default `docker`
* properties `docker.port.expose`, environment `DOCKER_PORT_EXPOSE`, or default `8080`
container and docker ports can be a single port (e.g., 8080) or multiple ports separated by commas (e.g., 8080,8443)
##### Gradle Tasks
* `containerCreate` create docker container with network and spring boot profile.
* `containerStart` starts docker container.
* `containerStop` stops docker container.
* `containerNetworkCheck` check if network exist.
* `containerNetworkCreate` creates network.
* `containerNetworkRemove` removes network.
#### Plugin Service Test Integration
id `ltd.lulz.plugin.common-plugin.service-test-integration`
Adding task `testIntegration` to run integration test, add to `verification` group and add to task `check`.
Adding intellij support `src/test-integration/java`, `src/test-integration/kotlin`, and `src/test-integration/resources` as test module in intellij.
Adding dependencies support `testIntegrationImplementation()`, and `testIntegrationRuntimeOnly()` as part of Gradle.
#### Plugin Service Process Resource
id `ltd.lulz.plugin.common-plugin.service-process-resource`
Assign values to `application.yml` from Gradle.
## Publish gradle plugin locally.
```shell