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
144 lines
5.7 KiB
Groovy
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
|