blob: aae26f8d833818098e78dc68eef6f6a392b75bb6 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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.
*/
apply from: "$rootDir/buildscripts/java-core.gradle"
apply from: "$rootDir/buildscripts/publishing.gradle"
apply from: "$rootDir/buildscripts/java-junit5.gradle"
apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
apply from: "$rootDir/buildscripts/java-integration-test.gradle"
description = 'ignite-runner'
sourceSets {
defaultsGenerator {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
configurations {
defaultsGeneratorImplementation.extendsFrom implementation
defaultsGenerator {
canBeConsumed = true
canBeResolved = false
// this configuration will share the same dependencies as the main one
extendsFrom implementation, runtimeOnly
}
}
dependencies {
annotationProcessor project(':ignite-configuration-annotation-processor')
annotationProcessor libs.picocli.annotation.processor
annotationProcessor libs.micronaut.inject.annotation.processor
annotationProcessor libs.auto.service
implementation project(':ignite-configuration')
implementation project(':ignite-configuration-presentation')
implementation project(':ignite-rest')
implementation project(':ignite-api')
implementation project(':ignite-vault')
implementation project(':ignite-network')
implementation project(':ignite-raft-api')
implementation project(':ignite-raft')
implementation project(':ignite-metastorage')
implementation project(':ignite-affinity')
implementation project(':ignite-table')
implementation project(':ignite-index')
implementation project(':ignite-sql-engine')
implementation project(':ignite-client-handler')
implementation project(':ignite-compute')
implementation project(':ignite-storage-rocksdb')
implementation project(':ignite-storage-page-memory')
implementation project(':ignite-transactions')
implementation project(':ignite-schema')
implementation project(':ignite-storage-api')
implementation project(':ignite-rest-api')
implementation project(':ignite-core')
implementation project(':ignite-cluster-management')
implementation project(':ignite-metrics')
implementation project(':ignite-replicator')
implementation project(':ignite-distribution-zones')
implementation project(':ignite-placement-driver')
implementation project(':ignite-code-deployment')
implementation project(':ignite-security-api')
implementation project(':ignite-security')
implementation project(':ignite-catalog')
implementation project(':ignite-system-view-api')
implementation project(':ignite-system-view')
implementation project(':ignite-workers')
implementation project(':ignite-failure-handler')
implementation project(':ignite-catalog-dsl')
implementation project(':ignite-eventlog')
implementation project(':ignite-low-watermark')
implementation libs.jetbrains.annotations
implementation libs.micronaut.inject
implementation libs.micronaut.validation
implementation libs.micronaut.runtime
implementation libs.micronaut.picocli
implementation libs.picocli.core
implementation libs.typesafe.config
implementation libs.auto.service.annotations
implementation libs.disruptor
testAnnotationProcessor project(':ignite-configuration-annotation-processor')
testAnnotationProcessor libs.auto.service
testImplementation project(':ignite-cluster-management')
testImplementation project(':ignite-configuration')
testImplementation project(':ignite-core')
testImplementation project(':ignite-network')
testImplementation project(':ignite-vault')
testImplementation project(':ignite-client')
testImplementation testFixtures(project(':ignite-core'))
testImplementation testFixtures(project(':ignite-configuration'))
testImplementation testFixtures(project(':ignite-vault'))
testImplementation testFixtures(project(':ignite-metastorage'))
testImplementation testFixtures(project(':ignite-jdbc'))
testImplementation libs.hamcrest.core
testImplementation libs.hamcrest.optional
testImplementation libs.hamcrest.path
testImplementation libs.mockito.core
testImplementation libs.mockito.junit
testImplementation(libs.jsonpath.assert) {
//IDEA test runner doesn't apply Gradle dependency resolve strategy, this is just not implemented
//So, exclude asm-core transitive dependency to protect of jar-hell.
exclude group: 'org.ow2.asm', module: 'asm'
}
testImplementation libs.auto.service.annotations
integrationTestAnnotationProcessor project(':ignite-configuration-annotation-processor')
integrationTestAnnotationProcessor libs.jmh.annotation.processor
integrationTestImplementation project(':ignite-affinity')
integrationTestImplementation project(':ignite-jdbc')
integrationTestImplementation project(':ignite-page-memory')
integrationTestImplementation project(':ignite-raft-api')
integrationTestImplementation project(':ignite-replicator')
integrationTestImplementation project(':ignite-client')
integrationTestImplementation project(':ignite-client-handler')
integrationTestImplementation project(':ignite-storage-api')
integrationTestImplementation project(':ignite-storage-api')
integrationTestImplementation project(':ignite-storage-page-memory')
integrationTestImplementation project(':ignite-storage-rocksdb')
integrationTestImplementation project(':ignite-index')
integrationTestImplementation project(':ignite-raft')
integrationTestImplementation project(':ignite-rest')
integrationTestImplementation project(':ignite-rest-api')
integrationTestImplementation(project(':ignite-sql-engine')) {
//IDEA test runner don't apply Gradle dependency resolve strategy, this is just not implemented
//So, exclude asm-core transitive dependency to protect of jar-hell.
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
}
integrationTestImplementation project(':ignite-metastorage')
integrationTestImplementation project(':ignite-metrics')
integrationTestImplementation project(':ignite-table')
integrationTestImplementation project(':ignite-transactions')
integrationTestImplementation project(':ignite-code-deployment')
integrationTestImplementation project(':ignite-jdbc')
integrationTestImplementation project(':ignite-security')
integrationTestImplementation project(':ignite-catalog')
integrationTestImplementation project(':ignite-placement-driver')
integrationTestImplementation project(':ignite-distribution-zones')
integrationTestImplementation project(':ignite-system-view')
integrationTestImplementation project(':ignite-system-view-api')
integrationTestImplementation project(':ignite-workers')
integrationTestImplementation project(':ignite-failure-handler')
integrationTestImplementation project(':ignite-low-watermark')
integrationTestImplementation testFixtures(project(":ignite-api"))
integrationTestImplementation testFixtures(project(':ignite-core'))
integrationTestImplementation testFixtures(project(':ignite-configuration'))
integrationTestImplementation testFixtures(project(':ignite-distribution-zones'))
integrationTestImplementation testFixtures(project(':ignite-schema'))
integrationTestImplementation testFixtures(project(':ignite-cluster-management'))
integrationTestImplementation testFixtures(project(':ignite-metastorage'))
integrationTestImplementation testFixtures(project(':ignite-network'))
integrationTestImplementation testFixtures(project(':ignite-vault'))
integrationTestImplementation testFixtures(project(':ignite-table'))
integrationTestImplementation testFixtures(project(':ignite-storage-api'))
integrationTestImplementation testFixtures(project(':ignite-sql-engine'))
integrationTestImplementation testFixtures(project(':ignite-transactions'))
integrationTestImplementation testFixtures(project(':ignite-runner'))
integrationTestImplementation testFixtures(project(':ignite-placement-driver-api'))
integrationTestImplementation testFixtures(project(':ignite-jdbc'))
integrationTestImplementation testFixtures(project(':ignite-failure-handler'))
integrationTestImplementation testFixtures(project(':ignite-metrics:'))
integrationTestImplementation libs.jetbrains.annotations
integrationTestImplementation libs.awaitility
integrationTestImplementation libs.rocksdb.jni
integrationTestImplementation libs.disruptor
integrationTestImplementation libs.jackson.databind
integrationTestImplementation libs.jmh.core
integrationTestImplementation libs.typesafe.config
integrationTestImplementation libs.netty.common
integrationTestImplementation libs.netty.handler
testFixturesAnnotationProcessor libs.auto.service
testFixturesImplementation project(':ignite-core')
testFixturesImplementation project(':ignite-api')
testFixturesImplementation project(':ignite-raft-api')
testFixturesImplementation project(':ignite-raft')
testFixturesImplementation project(':ignite-sql-engine')
testFixturesImplementation project(':ignite-table')
testFixturesImplementation project(':ignite-schema')
testFixturesImplementation project(':ignite-metastorage')
testFixturesImplementation project(':ignite-transactions')
testFixturesImplementation project(':ignite-system-view-api')
testFixturesImplementation project(':ignite-system-view')
testFixturesImplementation project(':ignite-storage-api')
testFixturesImplementation project(':ignite-cluster-management')
testFixturesImplementation project(':ignite-configuration')
testFixturesImplementation project(':ignite-vault')
testFixturesImplementation project(':ignite-placement-driver-api')
testFixturesImplementation testFixtures(project(':ignite-api'))
testFixturesImplementation testFixtures(project(':ignite-core'))
testFixturesImplementation testFixtures(project(':ignite-network'))
testFixturesImplementation testFixtures(project(':ignite-catalog'))
testFixturesImplementation testFixtures(project(':ignite-table'))
testFixturesImplementation testFixtures(project(':ignite-storage-api'))
testFixturesImplementation libs.jetbrains.annotations
testFixturesImplementation libs.hamcrest.core
testFixturesImplementation libs.auto.service.annotations
}
tasks.register("runnerPlatformTest", JavaExec) {
mainClass = "org.apache.ignite.internal.runner.app.PlatformTestNodeRunner"
jvmArgs += defaultJvmArgs
classpath = sourceSets.integrationTest.runtimeClasspath
enableAssertions = true
}
tasks.register("runnerPlatformBenchmark", JavaExec) {
mainClass = "org.apache.ignite.internal.runner.app.PlatformBenchmarkNodeRunner"
jvmArgs += defaultJvmArgs
classpath = sourceSets.integrationTest.runtimeClasspath
enableAssertions = true
}
jar {
manifest {
attributes(
'Main-Class': 'org.apache.ignite.internal.app.IgniteRunner'
)
}
}
tasks.register('defaultsJar', Jar) {
from sourceSets.defaultsGenerator.output
archiveAppendix = "generator"
}
artifacts {
// declare both jars to provide enough dependencies to the caller
defaultsGenerator defaultsJar, jar
}