| /* |
| * 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-configuration') |
| 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 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-distribution-zones') |
| 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-configuration') |
| 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 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 libs.jetbrains.annotations |
| integrationTestImplementation libs.awaitility |
| integrationTestImplementation libs.rocksdb.jni |
| integrationTestImplementation libs.disruptor |
| integrationTestImplementation libs.jackson.databind |
| integrationTestImplementation libs.jmh.core |
| integrationTestImplementation(libs.jsonpath.assert) { |
| //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: 'org.ow2.asm', module: 'asm' |
| } |
| 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 testFixtures(project(':ignite-api')) |
| testFixturesImplementation testFixtures(project(':ignite-core')) |
| testFixturesImplementation testFixtures(project(':ignite-sql-engine')) |
| testFixturesImplementation testFixtures(project(':ignite-network')) |
| testFixturesImplementation testFixtures(project(':ignite-catalog')) |
| testFixturesImplementation testFixtures(project(':ignite-table')) |
| 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" |
| |
| classpath = sourceSets.integrationTest.runtimeClasspath |
| |
| enableAssertions = true |
| } |
| |
| tasks.register("runnerPlatformBenchmark", JavaExec) { |
| mainClass = "org.apache.ignite.internal.runner.app.PlatformBenchmarkNodeRunner" |
| |
| classpath = sourceSets.integrationTest.runtimeClasspath |
| |
| enableAssertions = true |
| } |
| |
| integrationTest { |
| useJUnitPlatform { |
| if (System.getProperty("sqlTest") != null) { |
| it.includeTags "sqllogic" |
| } else { |
| it.excludeTags "sqllogic" |
| } |
| } |
| } |
| |
| 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 |
| } |