Skip to content

Commit

Permalink
feat($maf-mis): migrate from Maven to Gradle
Browse files Browse the repository at this point in the history
  • Loading branch information
johnnymillergh committed Jul 31, 2022
1 parent caf7015 commit cc0438a
Show file tree
Hide file tree
Showing 17 changed files with 171 additions and 429 deletions.
5 changes: 0 additions & 5 deletions auth-center/auth-center-message/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
description = "Muscle and Fitness Server :: Auth Center - Message"

val projectGroupId: String by project
group = projectGroupId
val projectVersion: String by project
version = projectVersion

dependencies {
// MAF dependencies
api(project(":auth-center-biz"))
Expand Down
5 changes: 0 additions & 5 deletions auth-center/auth-center-web/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
description = "Muscle and Fitness Server :: Auth Center - Web"

val projectGroupId: String by project
group = projectGroupId
val projectVersion: String by project
version = projectVersion

dependencies {
// MAF dependencies
api(project(":auth-center-biz"))
Expand Down
4 changes: 4 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,7 @@ poiVersion=5.2.2
# Auth Center constants
authCenterPort=8800
authCenterArtifactId=auth-center

# MAF MIS constants
mafMisPort=8800
mafMisArtifactId=maf-mis
7 changes: 4 additions & 3 deletions maf-mis/maf-mis-biz/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
description = "Muscle and Fitness Server :: MAF MIS - Biz"

dependencies {
implementation(project(":maf-mis-domain"))
// MAF
api(project(":maf-mis-domain"))
}

description = "Muscle and Fitness Server :: MAF MIS - Biz"
23 changes: 0 additions & 23 deletions maf-mis/maf-mis-biz/pom.xml

This file was deleted.

71 changes: 70 additions & 1 deletion maf-mis/maf-mis-bootstrap/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,75 @@
@file:Suppress("UnstableApiUsage")

import com.palantir.gradle.gitversion.VersionDetails
import groovy.lang.Closure
import org.springframework.boot.gradle.tasks.bundling.BootJar
import org.springframework.boot.gradle.tasks.run.BootRun
import java.time.LocalDateTime

description = "Muscle and Fitness Server :: MAF MIS - Bootstrap"

plugins {
id("com.google.cloud.tools.jib")
}

val versionDetails: Closure<VersionDetails> by extra
val gitVersionDetails = versionDetails()

dependencies {
implementation(project(":maf-mis-web"))
implementation(project(":maf-mis-message"))
}

description = "Muscle and Fitness Server :: MAF MIS - Bootstrap"
tasks.withType<BootJar> {
this.enabled = true
// archiveFileName = [baseName]-[gitHash]-[version]-[classifier].[extension]
this.archiveFileName.set("${archiveBaseName.get()}-${gitVersionDetails.gitHash}-${archiveVersion.get()}.${archiveExtension.get()}")
logger.info("Building Spring Boot executable jar: ${this.archiveFileName.get()}")
}

tasks.withType<BootRun> {
if (project.hasProperty("jvmArgs")) {
val jvmArgsProperty = (project.properties["jvmArgs"] as String)
logger.info("jvmArgsProperty for the app [${project.name}] (before split): `$jvmArgsProperty`")
jvmArgs = jvmArgsProperty.split(Regex("\\s+"))
logger.info("allJvmArgs for the app [${project.name}] (after split): $allJvmArgs")
}
}

// https://www.baeldung.com/spring-boot-auto-property-expansion
// https://github.com/gradle/kotlin-dsl-samples/blob/master/samples/copy/build.gradle.kts
// https://www.tristanfarmer.dev/blog/gradle_property_expansion_spring_boot
tasks.withType<ProcessResources> {
// Only expand the file `application.yml`
filesMatching("**/application.yml") {
expand(project.properties)
}
}

springBoot {
buildInfo()
}

// https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin
jib {
pluginExtensions {
pluginExtension {
implementation = "com.google.cloud.tools.jib.gradle.extension.springboot.JibSpringBootExtension"
properties = mapOf("useDeprecatedExcludeDevtoolsOption" to "true")
}
}
val temurinTag: String by properties
from.image = "eclipse-temurin:${temurinTag}"
val dockerHubRepositoryPrefix: String by properties
val projectArtifactId: String by properties
val mafMisArtifactId: String by properties
to.image = "$dockerHubRepositoryPrefix$projectArtifactId.$mafMisArtifactId"
to.tags = setOf("${gitVersionDetails.gitHash}-${project.version}")
container.appRoot = "/$mafMisArtifactId"
val projectBuildSourceEncoding: String by properties
container.jvmFlags = listOf("-Dfile.encoding=$projectBuildSourceEncoding")
val mafMisPort: String by properties
container.ports = listOf(mafMisPort)
container.creationTime = LocalDateTime.now().toString()
}

125 changes: 0 additions & 125 deletions maf-mis/maf-mis-bootstrap/pom.xml

This file was deleted.

60 changes: 30 additions & 30 deletions maf-mis/maf-mis-bootstrap/src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
server:
port: @maf-mis.port@
port: ${mafMisPort}
tomcat:
uri-encoding: @project.build.sourceEncoding@
uri-encoding: ${projectBuildSourceEncoding}
shutdown: GRACEFUL
servlet:
context-path:

spring:
application:
name: @project.parent.artifactId@
name: ${mafMisArtifactId}
profiles:
active: @environment@
active: ${environment}
config:
import: consul:${spring.cloud.consul.host}:${spring.cloud.consul.port}
import: consul:\${spring.cloud.consul.host}:\${spring.cloud.consul.port}
cloud:
# https://docs.spring.io/spring-cloud-consul/docs/current/reference/html/index.html#spring-cloud-consul-config
consul:
Expand All @@ -32,42 +32,42 @@ spring:
- shardingsphere
discovery:
register: true
instance-id: ${spring.application.name}-${spring.cloud.client.hostname}-${vcap.application.instance_id:${spring.application.instance_id:${random.value}}}
service-name: ${spring.application.name}
port: ${server.port}
instance-id: \${spring.application.name}-\${spring.cloud.client.hostname}-\${vcap.application.instance_id:\${spring.application.instance_id:\${random.value}}}
service-name: \${spring.application.name}
port: \${server.port}
prefer-ip-address: true
ip-address: ${spring.cloud.client.ip-address}
ip-address: \${spring.cloud.client.ip-address}
health-check-critical-timeout: 15s
servlet:
multipart:
location: @project.parent.artifactId@/${spring.application.name}/temprary-file
location: ${projectArtifactId}/\${spring.application.name}/temporary-file
max-file-size: 64MB
max-request-size: 70MB
file-size-threshold: 0

logging:
config: classpath:logback-configuration/logback-${spring.profiles.active}.xml
config: classpath:logback-configuration/logback-\${spring.profiles.active}.xml

maf:
project-properties:
base-package: @project.groupId@
context-path: ${server.servlet.context-path}
group-id: @project.groupId@
project-parent-artifact-id: @project.parent.artifactId@
project-artifact-id: @project.parent.artifactId@
version: @project.version@
description: @project.description@
jdk-version: @java.version@
environment: ${spring.profiles.active}
url: @project.url@
inception-year: @inceptionYear@
organization-name: @project.organization.name@
organization-url: @project.organization.url@
issue-management-system: @project.issueManagement.system@
issue-management-url: @project.issueManagement.url@
developer-name: @developerName@
developer-email: @developerEmail@
developer-url: @developerUrl@
base-package: ${projectGroupId}
context-path: \${server.servlet.context-path}
group-id: ${projectGroupId}
project-parent-artifact-id: ${projectArtifactId}
project-artifact-id: ${mafMisArtifactId}
version: ${projectVersion}
description: "${description}"
jdk-version: ${javaVersion}
environment: \${spring.profiles.active}
url: ${projectUrl}
inception-year: ${inceptionYear}
organization-name: ${projectOrganizationName}
organization-url: ${projectOrganizationUrl}
issue-management-system: ${projectIssueManagementSystem}
issue-management-url: ${projectIssueManagementUrl}
developer-name: ${developerName}
developer-email: ${developerEmail}
developer-url: ${developerUrl}
configuration:
ignored-url:
pattern:
Expand All @@ -79,4 +79,4 @@ maf:
- "/*/v2/api-docs/**"
- "/webjars/**"
- "/doc.html"
included-package-for-http-api-scan: ${maf.project-properties.base-package}
included-package-for-http-api-scan: \${maf.project-properties.base-package}
7 changes: 4 additions & 3 deletions maf-mis/maf-mis-domain/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
description = "Muscle and Fitness Server :: MAF MIS - Domain"

dependencies {
implementation(project(":maf-mis-infra"))
// MAF dependencies
api(project(":maf-mis-infra"))
}

description = "Muscle and Fitness Server :: MAF MIS - Domain"
23 changes: 0 additions & 23 deletions maf-mis/maf-mis-domain/pom.xml

This file was deleted.

Loading

0 comments on commit cc0438a

Please sign in to comment.