Files
security-scan-test/src/adservice/build.gradle
Scaffolder 4e3fd72697
Some checks failed
SonarQube Analysis / Build, Test & Analyse (push) Has been cancelled
Build and Publish TechDocs / build-and-publish (push) Has been cancelled
initial commit
Change-Id: I12a20fc994c2a94df96de9d3393b06bf6687f77a
2026-04-17 11:20:50 +00:00

120 lines
3.5 KiB
Groovy

plugins {
id 'com.google.protobuf' version '0.9.6'
id 'com.github.sherter.google-java-format' version '0.9'
id 'idea'
id 'application'
}
repositories {
mavenCentral()
mavenLocal()
}
description = 'Ad Service'
group = "adservice"
version = "0.1.0-SNAPSHOT"
def grpcVersion = "1.79.0"
def jacksonCoreVersion = "2.21.1"
def jacksonDatabindVersion = "2.21.1"
def protocVersion = "4.34.0"
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
ext {
speed = project.hasProperty('speed') ? project.getProperty('speed') : false
offlineCompile = new File("$buildDir/output/lib")
}
dependencies {
if (speed) {
implementation fileTree(dir: offlineCompile, include: '*.jar')
} else {
implementation "com.google.api.grpc:proto-google-common-protos:2.66.0",
"javax.annotation:javax.annotation-api:1.3.2",
"io.grpc:grpc-protobuf:${grpcVersion}",
"io.grpc:grpc-stub:${grpcVersion}",
"io.grpc:grpc-netty:${grpcVersion}",
"io.grpc:grpc-services:${grpcVersion}",
"io.grpc:grpc-census:${grpcVersion}",
"org.apache.logging.log4j:log4j-core:2.25.3",
"com.google.protobuf:protobuf-java:${protocVersion}"
runtimeOnly "com.fasterxml.jackson.core:jackson-core:${jacksonCoreVersion}",
"com.fasterxml.jackson.core:jackson-databind:${jacksonDatabindVersion}",
"io.netty:netty-tcnative-boringssl-static:2.0.75.Final"
}
}
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:${protocVersion}"
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
ofSourceSet('main')
}
}
googleJavaFormat {
toolVersion '1.35.0'
}
// Inform IDEs like IntelliJ IDEA, Eclipse or NetBeans about the generated code.
sourceSets {
main {
java {
srcDirs 'hipstershop'
srcDirs 'build/generated/source/proto/main/java/hipstershop'
srcDirs 'build/generated/source/proto/main/grpc/hipstershop'
}
}
}
startScripts.enabled = false
// This to cache dependencies during Docker image building. First build will take time.
// Subsequent build will be incremental.
task downloadRepos(type: Copy) {
from configurations.compileClasspath
into offlineCompile
from configurations.compileClasspath
into offlineCompile
}
task adService(type: CreateStartScripts) {
mainClass.set('hipstershop.AdService')
applicationName = 'AdService'
outputDir = new File(project.buildDir, 'tmp')
classpath = startScripts.classpath
// @TODO: https://github.com/GoogleCloudPlatform/microservices-demo/issues/2517
// defaultJvmOpts =
// ["-agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=adservice,-cprof_service_version=1.0.0"]
}
task adServiceClient(type: CreateStartScripts) {
mainClass.set('hipstershop.AdServiceClient')
applicationName = 'AdServiceClient'
outputDir = new File(project.buildDir, 'tmp')
classpath = startScripts.classpath
// @TODO: https://github.com/GoogleCloudPlatform/microservices-demo/issues/2517
// defaultJvmOpts =
// ["-agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=adserviceclient,-cprof_service_version=1.0.0"]
}
applicationDistribution.into('bin') {
from(adService)
from(adServiceClient)
fileMode = 0755
}