Common Plugin.

Plugins.

Common.

Plugin Common.

id ltd.lulz.plugin.common-plugin.common

Set core Java and Kotlin settings and overweight project version with git version.

Plugin Common Build.

id ltd.lulz.plugin.common-plugin.common-build

Display name and version, add buildInfo to build task.

Plugin Common Detekt.

id ltd.lulz.plugin.common-plugin.common-detekt

Detect is a code smell analysis for your Kotlin projects.

Plugin Common Ktlint.

id ltd.lulz.plugin.common-plugin.common-ktlint

Ktlint enforces consistent code style and formatting across Kotlin codebases.

Plugin Common Project.

id ltd.lulz.plugin.common-plugin.common-project

Display project, Gradle, and Java information.

Library.

Plugin Library.

id ltd.lulz.plugin.common-plugin.library

Default setting and tasks for libraries.

Plugin Library Manifest.

id ltd.lulz.plugin.common-plugin.library-manifest

Extend manifest in library jar file.

Plugin Library publish.

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.

./gradlew clean publishToMavenLocal

Releasing gradle plugin.

Run release pipeline from master branch.

Publish gradle plugin to repository.

./gradlew clean publishAllPublicationsToGiteaPackagesRepository

Global gradle properties.

To authenticate with Gradle to access repositories that require authentication, you can set your user and token in the gradle.properties file.

Here's how you can do it:

  1. Open or create the gradle.properties file in your Gradle user home directory:
    • On Unix-like systems (Linux, macOS), this directory is typically ~/.gradle/.
    • On Windows, this directory is typically C:\Users\<YourUsername>\.gradle\.
  2. Add the following lines to the gradle.properties file:
    repository.<name>.user=your_user
    repository.<name>.token=your_token_value
    
    or use environment variables REPOSITORY_USER and REPOSITORY_TOKEN
Description
No description provided
Readme 114 KiB
Languages
Gradle 100%