Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
2a64542
Upgrade genie-common-internal to io.awspring.cloud:spring-cloud-aws-d…
Feb 4, 2025
b6560c9
upgrade genie-agent and genie-web to spring boot 3
Feb 5, 2025
df46c7c
change the org.springframework.boot to 3.4.2
Feb 11, 2025
34c340c
Merge branch master to get the latest Gradle and Nebula
Feb 12, 2025
aa9c908
move the subprojects block to the configure block
Feb 12, 2025
3227057
upgrade genie-common-internal to JDK 17
Feb 12, 2025
90e8420
Revert "upgrade genie-common-internal to JDK 17"
Feb 12, 2025
1a6f304
replace javax with jakarta
iuliiasobolevska Feb 13, 2025
d759d2c
replace jakarta with javax
Feb 21, 2025
9aafae9
Fix status code in TitusAgentLauncherImpl
Feb 21, 2025
1629dce
javadoc and other minor fixes
Feb 21, 2025
dde5e5d
Remove TaskExecutorCustomizer&TaskSchedulerCustomizer in favor of Thr…
zdong2 Mar 10, 2025
7a426eb
move to new autoconfiguration registration
iuliiasobolevska Mar 11, 2025
02a5c55
enable debug mode to see autoconfiguration conditions report
iuliiasobolevska Mar 11, 2025
844963e
Fix genie-agent-app smoke tests
zdong2 Mar 12, 2025
671cd49
Fix genie-app smoke test unsupported classes and methods
zdong2 Mar 12, 2025
e48ec51
Fix hibernate issues
zdong2 Mar 12, 2025
0a385c1
Move to new autoconfiguration registration for genie-app smoke test
zdong2 Mar 12, 2025
b938edb
Upgrade to AWS SDK v2
zdong2 Apr 2, 2025
dca1d63
Fix threadSafe dependency
Apr 4, 2025
bb4b45e
Fix DigestUtils dependency
Apr 4, 2025
a5c3f41
Fix EC2MetadataUtils dependency
Apr 4, 2025
186af75
getHostname by checking AWS environment
Apr 8, 2025
268e295
Upgrade AwsAutoConfiguration
Apr 8, 2025
9437e74
Upgrade S3ProtocolResolverRegistrar
Apr 8, 2025
4210b61
Upgrade S3JobArchiverImpl
Apr 8, 2025
427e21b
S3TransferManagerFactory for creating and managing S3TransferManager …
Apr 8, 2025
e48e27a
use S3TransferManagerFactory in S3JobArchiverImpl for sync uploading
Apr 8, 2025
694847e
Fix ArgumentValidators
Apr 8, 2025
ed1a9fa
Upgrade httpclient and commons-codec
Apr 8, 2025
1c0a2e7
Upgrade AWSAutoConfiguration and RetryProperties for AWS SNS
Apr 8, 2025
b5dc0af
Amend ArgumentValidators
Apr 8, 2025
cac4d53
remove unused imports
Apr 9, 2025
9fd4358
Amend AwsAutoConfiguration
Apr 9, 2025
7aadf6f
Remove used imports
Apr 9, 2025
debc893
Amend AwsAutoConfiguration
Apr 9, 2025
fc827bb
Fix region not found error for GenieAgentApplicationSmokeTest
Apr 9, 2025
4ffdd8f
dependecy updates with spring-boot-starter-web
Apr 9, 2025
7b86806
fix region not found error in GenieAgentApplicationSmokeTest
Apr 9, 2025
1d411a5
fix sharedAgentTaskExecutor in AgentAutoConfiguration
Apr 9, 2025
54f28c5
fix failures in GenieAppSmokeTest
Apr 9, 2025
cd97de5
cleanup / refactor unused code
Apr 9, 2025
dff5f5c
fix setRegion in BucketProperties
Apr 9, 2025
e580ddd
update BucketPropertiesSpec
Apr 9, 2025
f2eddc1
update S3ProtocolResolverSpec
Apr 9, 2025
44c7a39
create S3TransferManagerFactorySpec
Apr 9, 2025
72b9d3c
update S3ClientFactory and S3ClientFactorySpec
Apr 9, 2025
80fab2e
update SimpleStorageRangeResourceSpec
Apr 9, 2025
b623976
remove S3ResourceLoaderProperties as it is not needed
Apr 9, 2025
0135d74
use different Spock BOM version for Spring Boot 2 and 3 modules to av…
iuliiasobolevska Apr 16, 2025
69286ce
Fix S3ProtocolResolverRegistrar and S3ProtocolResolverRegistrarSpec.g…
Apr 17, 2025
8f40e6b
Fix S3JobArchiverImplSpec.groovy
Apr 17, 2025
4805a3c
Fix AwsAutoConfigurationSpec.groovy
Apr 17, 2025
e29bcc2
Fix AwsAutoConfigurationTest
Apr 17, 2025
03906bb
Fix CommonServicesAutoConfigurationTest
Apr 17, 2025
3117ddc
Fix AwsAutoConfigurationTest
Apr 17, 2025
524c328
Fix :genie-common-internal:checkstyleMain
Apr 17, 2025
b08e025
Fix UserRestControllerSpec.groovy
Apr 17, 2025
9582aaf
Fix AWSAutoConfigurationTest
Apr 18, 2025
63164d1
Fix GenieExceptionMapperTest
Apr 18, 2025
62292e4
Fix genie-web groovy test
Apr 18, 2025
d8de148
Fix Snippets
Apr 18, 2025
15d3062
Fix JobStateChangeSNSPublisherSpec.groovy
Apr 18, 2025
b7d15ea
Fix GenieCpuHealthIndicatorSpec.groovy
Apr 18, 2025
1f2a773
Fix S3AttachmentServiceImplSpec.groovy
Apr 18, 2025
85d3d15
Fix ClusterLeaderServiceCuratorImplSpec
Apr 18, 2025
7253b65
Fix ZookeeperAutoConfiguration
Apr 18, 2025
eb1ac64
Fix genie-web tests
Apr 19, 2025
d22d3d1
Fix JpaPersistenceServiceIntegrationTestBase
Apr 19, 2025
531b3b8
Update rest-assured dependencies
Apr 21, 2025
fbbf088
Fix application, cluster, command, job, criterion entities
Apr 21, 2025
f1b756a
Fix jpa job repository
Apr 21, 2025
463a46c
Fix JpaPersistenceServiceImpl
Apr 21, 2025
38dc6e5
Fix JpaPersistenceServiceIntegrationTestBase
Apr 21, 2025
a994e19
Fix RestControllerIntegrationTestBase
Apr 21, 2025
148d0a5
migrate off deprecated @MockBean annotation
iuliiasobolevska Apr 22, 2025
59228a0
remove explicit aws.region property
iuliiasobolevska Apr 22, 2025
e71c0d6
exclude S3TransferManagerAutoConfiguration from integration tests
iuliiasobolevska Apr 22, 2025
aabaed0
exclude S3TransferManagerAutoConfiguration from the genie-agent app
iuliiasobolevska Apr 22, 2025
83ac324
exclude S3TransferManagerAutoConfiguration from the genie app
iuliiasobolevska Apr 22, 2025
613e72f
checkstyle
iuliiasobolevska Apr 22, 2025
e8e1fc1
update io.zipkin.brave:brave to v6 that's aligned with Spring Boot 3
iuliiasobolevska Apr 23, 2025
e195596
update to latest Spring Boot 3
iuliiasobolevska Apr 23, 2025
87a6ca2
Add threshold to avoid infinite loop waiting for job running and job …
Apr 23, 2025
7e51b5f
use deep stubs for mocks and disable bean overriding
iuliiasobolevska Apr 23, 2025
655a5d7
remove AutoConfiguration.imports from licencing
iuliiasobolevska Apr 23, 2025
e50f30e
use MySQLDialect for hibernate as MySQL8Dialect is deprecated
iuliiasobolevska Apr 23, 2025
4a1bd20
Fix testForTooManyCommandArgs
Apr 23, 2025
313bd11
Fix canHandleBadInputToCreateCommand
Apr 23, 2025
c0bb8fd
update grpc proto and other oss dependency versions
iuliiasobolevska Apr 23, 2025
0434935
add sleep to validate an assumption that requests are made too early
iuliiasobolevska Apr 24, 2025
84459d6
exclude jetty from genie-web integration test
Apr 24, 2025
129ba1e
reduce the max iterations from 100 to 60
Apr 24, 2025
4a41aa9
exclude CommonTracingAutoConfiguration.class from import to avoid bea…
Apr 24, 2025
8d56e24
use Spring Boot BOM recommendation and update relocated libraries
iuliiasobolevska May 1, 2025
134701a
remove redundant exclude
iuliiasobolevska May 1, 2025
1b6b537
Fix canCreateClusterWithoutId in ClusterRestControllerIntegrationTest
Apr 30, 2025
3e07258
Amend JobRestControllerIntegrationTest
Apr 30, 2025
37dd514
Amend ClusterRestControllerIntegrationTest
Apr 30, 2025
21eef16
Revert "add sleep to validate an assumption that requests are made to…
May 1, 2025
26f956d
Amend ClusterRestControllerIntegrationTest
May 1, 2025
f93bbb9
upgrade grpc_version=1.50.2 and netty_version=4.1.86.Final
May 6, 2025
0627213
cleanup
May 6, 2025
9260ea2
upgrade protobuf_version, grpc_version, and netty_version
May 6, 2025
0d9bf74
update to OSS Spring Boot 3.4.5 and align Netty version with OSS
iuliiasobolevska May 6, 2025
c01d151
update Nebula and lombok
iuliiasobolevska May 6, 2025
50b461b
update gRPC version to 1.63.1
iuliiasobolevska May 6, 2025
683168c
update protobuf version to 1.63.1
iuliiasobolevska May 6, 2025
c54a720
patch update of protobuf plugin version
iuliiasobolevska May 6, 2025
5db9fec
fix some deprecation warnings
iuliiasobolevska May 6, 2025
35782b7
migrate off deprecated Gradle Enterprise plugin
iuliiasobolevska May 6, 2025
2a8ece2
update rest assured deps
iuliiasobolevska May 7, 2025
9889cef
fix warn message placeholder
iuliiasobolevska May 7, 2025
8e80cbd
fix some Gradle deprecation warnings
iuliiasobolevska May 7, 2025
d74776f
rollback minor Nebula update due to git credentials requirement
iuliiasobolevska May 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
106 changes: 77 additions & 29 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import com.github.spotbugs.snom.SpotBugsTask
import org.gradle.plugins.ide.idea.model.IdeaLanguageLevel
import org.springframework.boot.gradle.plugin.SpringBootPlugin

buildscript {
repositories {
Expand All @@ -19,10 +18,10 @@ plugins {
id "com.netflix.nebula.facet" version "11.0.0" apply false
id "org.ajoberstar.grgit" version "4.1.1"
id "org.ajoberstar.git-publish" version "3.0.1"
id "org.springframework.boot" version "${spring_boot_version}" apply false
id "org.springframework.boot" version "${spring_boot_3_version}" apply false
id "org.asciidoctor.jvm.convert" version "3.3.2" apply false
id "com.gorylenko.gradle-git-properties" version "2.3.2" apply false
id "com.google.protobuf" version "0.8.18" apply false
id "com.google.protobuf" version "0.8.19" apply false
id "io.franzbecker.gradle-lombok" version "5.0.0" apply false
id "nebula.node" version "2.0.1" apply false
id "com.github.spotbugs" version "5.2.5" apply false
Expand All @@ -36,6 +35,8 @@ ext.javaProjects = subprojects.findAll {
it.name != "genie-demo" && it.name != "genie-ddl" && it.name != "genie-docs"
}

def springBoot3ProjectNames = ['genie-agent', 'genie-agent-app', 'genie-app', 'genie-common-internal', 'genie-swagger', 'genie-ui', 'genie-web']

allprojects {
apply plugin: "jacoco"
apply plugin: "idea"
Expand All @@ -54,8 +55,8 @@ idea {
}
module {
languageLevel = new IdeaLanguageLevel(JavaVersion.VERSION_1_8)
downloadJavadoc true
downloadSources true
downloadJavadoc = true
downloadSources = true
}
}

Expand All @@ -71,7 +72,7 @@ configure((Set<Project>) ext.javaProjects) {
apply plugin: "com.netflix.nebula.facet"

lombok {
version = '1.18.24'
version = '1.18.38'
}

group = (String) "com.netflix.${githubProjectName}"
Expand All @@ -93,15 +94,32 @@ configure((Set<Project>) ext.javaProjects) {
}

dependencyManagement {
if (springBoot3ProjectNames.contains(project.name)) {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:${spring_boot_3_version}"
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${spring_cloud_3_version}"
mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:${spring_cloud_aws_3_version}"
mavenBom "org.spockframework:spock-bom:2.4-M5-groovy-3.0"
}
dependencies {
dependency("io.awspring.cloud:spring-cloud-aws-starter:${spring_cloud_aws_3_version}")
}
} else {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:${spring_boot_2_version}"
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${spring_cloud_2_version}"
mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:${spring_cloud_aws_2_version}"
mavenBom "org.spockframework:spock-bom:2.0-groovy-3.0"
}
}

imports {
mavenBom SpringBootPlugin.BOM_COORDINATES
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${spring_cloud_version}"
mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:2.4.1"
mavenBom "software.amazon.awssdk:bom:2.31.35"
mavenBom "com.google.protobuf:protobuf-bom:${protobuf_version}"
mavenBom "com.squareup.okhttp3:okhttp-bom:4.9.2"
mavenBom "com.squareup.okhttp3:okhttp-bom:4.12.0"
mavenBom "io.grpc:grpc-bom:${grpc_version}"
mavenBom "org.spockframework:spock-bom:2.0-groovy-3.0"
mavenBom "org.testcontainers:testcontainers-bom:1.16.3"
mavenBom "io.netty:netty-bom:${netty_version}"
mavenBom "org.testcontainers:testcontainers-bom:1.21.0"
}
dependencies {
dependency("com.beust:jcommander:1.82")
Expand Down Expand Up @@ -133,6 +151,18 @@ configure((Set<Project>) ext.javaProjects) {
entry "springdoc-openapi-ui"
entry "springdoc-openapi-webmvc-core"
}
dependencySet(group: "io.netty", version: "${netty_version}") {
entry "netty-buffer"
entry "netty-codec"
entry "netty-codec-http"
entry "netty-codec-http2"
entry "netty-common"
entry "netty-handler"
entry "netty-resolver"
entry "netty-transport"
entry "netty-transport-native-epoll"
entry "netty-transport-native-unix-common"
}
}
}

Expand All @@ -156,7 +186,7 @@ configure((Set<Project>) ext.javaProjects) {
}

configurations {
all*.exclude group: "javax.servlet", module: "servlet-api"
all*.exclude group: "org.apache.groovy" // exclude groovy@4 dependencies
all*.exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
}

Expand All @@ -168,7 +198,18 @@ configure((Set<Project>) ext.javaProjects) {
annotationProcessor("net.jcip:jcip-annotations")
annotationProcessor("com.github.spotbugs:spotbugs-annotations")

implementation("javax.annotation:javax.annotation-api:1.3.2")
if (springBoot3ProjectNames.contains(project.name)) {
implementation("org.springframework.boot:spring-boot-actuator-autoconfigure")
implementation("io.awspring.cloud:spring-cloud-aws-starter-s3:${spring_cloud_aws_3_version}")
implementation("io.micrometer:micrometer-tracing-bridge-brave")
implementation("jakarta.servlet:jakarta.servlet-api")
implementation("jakarta.validation:jakarta.validation-api")
implementation("org.hibernate.validator:hibernate-validator:7.0.5.Final")
implementation("jakarta.el:jakarta.el-api")
implementation("io.zipkin.reporter2:zipkin-reporter")
} else {
implementation("javax.annotation:javax.annotation-api:1.3.2")
}

/*******************************
* Compile Dependencies
Expand Down Expand Up @@ -205,15 +246,14 @@ configure((Set<Project>) ext.javaProjects) {
testCompileOnly("com.github.spotbugs:spotbugs-annotations")

testRuntimeOnly("jakarta.el:jakarta.el-api")
testRuntimeOnly("org.glassfish:jakarta.el")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
}

task removeGeneratedSources(type: Delete) {
tasks.register('removeGeneratedSources', Delete) {
project.generatedSourcesDir.deleteDir()
}

task removeIdeaOutDirectory(type: Delete) {
tasks.register('removeIdeaOutDirectory', Delete) {
file("${projectDir}/out").deleteDir()
}

Expand Down Expand Up @@ -260,7 +300,7 @@ configure((Set<Project>) ext.javaProjects) {
systemProperty "spring.profiles.include", "githubactions"
}

reports.html.destination(new File("${reporting.baseDir}/test/${task.name}"))
reports.html.outputLocation = new File("${reporting.baseDirectory}/test/${task.name}")
(jacocoTestReport.getExecutionData() + files("$buildDir/jacoco/${task.name}.exec"))

// Customize test logging on CI and everywhere else
Expand All @@ -276,7 +316,7 @@ configure((Set<Project>) ext.javaProjects) {

licenseMain.dependsOn compileJava
license {
ignoreFailures false
ignoreFailures = false
}

checkstyle {
Expand Down Expand Up @@ -326,9 +366,9 @@ task codeCoverageReport(type: JacocoReport, group: "Coverage reports") {

reports {
xml.getRequired().set(true)
xml.destination new File("${buildDir}/reports/jacoco/report.xml")
xml.outputLocation = new File("${buildDir}/reports/jacoco/report.xml")
html.getRequired().set(true)
html.destination new File("${buildDir}/reports/jacoco/html")
html.outputLocation = new File("${buildDir}/reports/jacoco/html")
csv.getRequired().set(false)
}
afterEvaluate {
Expand Down Expand Up @@ -371,7 +411,9 @@ tasks.coveralls {
* Github Pages Tasks
**********************************/

task collectDocumentation(group: "documentation", description: "Copy the documentation from sub-projects") {
tasks.register('collectDocumentation') {
group = "documentation"
description = "Copy the documentation from sub-projects"
dependsOn "aggregateJavadocs"

def restDocs = new File(project(":genie-web").buildDir, "docs/asciidoc")
Expand Down Expand Up @@ -484,22 +526,28 @@ ext.getDockerTags = { String appName, String projectVersion ->
return tags
}

task dockerLogout(type: Exec, group: "Docker", description: "Logout of docker hub") {
tasks.register('dockerLogout', Exec) {
group = "Docker"
description = "Logout of docker hub"
onlyIf {
rootProject.ext.isDockerRunning()
}
commandLine "docker", "logout"
}

task dockerLogin(type: Exec, group: "Docker", description: "Login to docker hub using DOCKER_USER and DOCKER_PASSWORD environment variables") {
tasks.register('dockerLogin', Exec) {
group = "Docker"
description = "Login to docker hub using DOCKER_USER and DOCKER_PASSWORD environment variables"
onlyIf {
rootProject.ext.isDockerRunning()
}
dependsOn tasks.dockerLogout
commandLine "docker", "login", "-u", System.getenv("DOCKER_USER") ?: "", "-p", System.getenv("DOCKER_PASSWORD") ?: ""
}

task dockerBuildAllImages(group: "Docker", description: "Container task for all docker image builds") {
tasks.register('dockerBuildAllImages') {
group = "Docker"
description = "Container task for all docker image builds"
onlyIf {
rootProject.ext.isDockerRunning()
}
Expand All @@ -508,10 +556,10 @@ task dockerBuildAllImages(group: "Docker", description: "Container task for all
dependsOn ":genie-demo:dockerBuildClientImage"
}

gradleEnterprise {
develocity {
buildScan {
publishAlways()
termsOfServiceUrl = "https://gradle.com/terms-of-service"
termsOfServiceAgree = "yes"
publishing.onlyIf { true }
termsOfUseUrl = "https://gradle.com/terms-of-service"
termsOfUseAgree = "yes"
}
}
2 changes: 1 addition & 1 deletion config/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@

<!-- Checks for long lines. -->
<module name="LineLength">
<property name="max" value="120"/>
<property name="max" value="150"/>
<property name="ignorePattern" value="\$File.*\$"/>
</module>

Expand Down
12 changes: 12 additions & 0 deletions dependencies.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"jacocoAgent": {
"org.jacoco:org.jacoco.agent": {
"locked": "0.8.13"
}
},
"jacocoAnt": {
"org.jacoco:org.jacoco.ant": {
"locked": "0.8.13"
}
}
}
2 changes: 2 additions & 0 deletions genie-agent-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ dependencies {

implementation(project(":genie-agent"))
implementation("org.springframework.boot:spring-boot-starter")
implementation("org.springframework.boot:spring-boot-starter-web")

/*******************************
* Compile Only Dependencies
Expand All @@ -46,6 +47,7 @@ dependencies {
*******************************/

testImplementation(project(":genie-test"))
testImplementation("org.springframework.boot:spring-boot-starter-web")
}

springBoot {
Expand Down
Loading
Loading