Files
wehub-resource-sync a9cd7750f4
CI / unit-test (push) Has been cancelled
CI / detect-changes (push) Has been cancelled
CI / build (push) Has been cancelled
Publish docs via GitHub Pages / Deploy docs (push) Has been cancelled
CI / test-harness (push) Has been cancelled
CI / generate-e2e-matrix (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / build-ui (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
UI v2 Integration CI / E2E (Integration) (push) Has been cancelled
UI v2 CI / Lint, Format & Test (push) Has been cancelled
UI v2 CI / E2E (Mocked) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:37:56 +08:00

144 lines
5.7 KiB
Groovy

/*
* Copyright 2023 Conductor authors
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
plugins {
id 'org.springframework.boot'
}
dependencies {
implementation project(':conductor-core')
implementation project(':conductor-rest')
implementation project(':conductor-grpc-server')
implementation project(':conductor-ai')
// Embedded AgentSpan runtime (REST controllers, agent services); activated only when
// conductor.integrations.ai.enabled=true.
implementation project(':conductor-agentspan-server')
//Event Systems
implementation project(':conductor-amqp')
implementation project(':conductor-nats')
implementation project(':conductor-nats-streaming')
implementation project(':conductor-awssqs-event-queue')
implementation project(':conductor-kafka-event-queue')
//External Payload Storage
implementation project(':conductor-azureblob-storage')
implementation project(':conductor-postgres-external-storage')
implementation project(':conductor-awss3-storage')
implementation project(':conductor-local-file-storage')
implementation project(':conductor-gcs-storage')
//Persistence
implementation project(':conductor-redis-configuration')
implementation project(':conductor-redis-persistence')
implementation project(':conductor-cassandra-persistence')
implementation project(':conductor-postgres-persistence')
implementation project(':conductor-mysql-persistence')
implementation project(':conductor-sqlite-persistence')
// Indexing backend selection (build-time) to avoid Lucene conflicts between ES and OS
def indexingBackend = project.findProperty('indexingBackend') ?: 'elasticsearch'
if (indexingBackend == 'opensearch3' || indexingBackend == 'os3') {
implementation project(':conductor-os-persistence-v3')
} else if (indexingBackend == 'opensearch' || indexingBackend == 'os') {
implementation project(':conductor-os-persistence')
implementation project(':conductor-os-persistence-v2')
} else if (indexingBackend == 'elasticsearch8' || indexingBackend == 'es8') {
implementation project(':conductor-es8-persistence')
} else if (indexingBackend == 'elasticsearch7' || indexingBackend == 'es7' || indexingBackend == 'elasticsearch') {
implementation project(':conductor-es7-persistence')
} else {
implementation project(':conductor-es7-persistence')
}
implementation project(':conductor-redis-lock')
implementation project(':conductor-redis-concurrency-limit')
//System Tasks
implementation project(':conductor-http-task')
implementation project(':conductor-json-jq-task')
implementation project(':conductor-kafka')
//Scheduler
implementation project(':conductor-scheduler-core')
implementation project(':conductor-scheduler-postgres-persistence')
implementation project(':conductor-scheduler-mysql-persistence')
implementation project(':conductor-scheduler-cassandra-persistence')
implementation project(':conductor-scheduler-redis-persistence')
implementation project(':conductor-scheduler-sqlite-persistence')
//Metrics
implementation "io.micrometer:micrometer-registry-cloudwatch2:${revMicrometer}"
implementation "io.micrometer:micrometer-registry-azure-monitor:${revMicrometer}"
implementation "io.micrometer:micrometer-registry-prometheus:${revMicrometer}"
//Event Listener
implementation project(':conductor-workflow-event-listener')
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.retry:spring-retry'
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
implementation 'org.apache.logging.log4j:log4j-web'
implementation "redis.clients:jedis:${revJedis}"
implementation "org.postgresql:postgresql:${revPostgres}"
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation "io.orkes.queues:orkes-conductor-queues:${revOrkesQueues}"
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${revSpringDoc}"
runtimeOnly "org.glassfish.jaxb:jaxb-runtime:${revJAXB}"
testImplementation project(':conductor-rest')
testImplementation project(':conductor-common')
testImplementation "io.grpc:grpc-testing:${revGrpc}"
testImplementation "com.google.protobuf:protobuf-java:${revProtoBuf}"
testImplementation "io.grpc:grpc-protobuf:${revGrpc}"
testImplementation "io.grpc:grpc-stub:${revGrpc}"
}
jar {
enabled = true
}
bootJar {
mainClass = 'com.netflix.conductor.Conductor'
manifest {
attributes('Implementation-Title': project.name,
'Implementation-Version': project.version)
}
archiveClassifier = 'boot'
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact bootJar
}
}
}
// https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#integrating-with-actuator.build-info
// This will configure a BuildInfo task named bootBuildInfo
springBoot {
buildInfo()
}
compileJava.dependsOn bootBuildInfo