-
Notifications
You must be signed in to change notification settings - Fork 141
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'opensearch-project:main' into join-search-after
- Loading branch information
Showing
52 changed files
with
1,196 additions
and
283 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
.gradle | ||
build/ | ||
!gradle/wrapper/gradle-wrapper.jar | ||
!src/main/**/build/ | ||
!src/test/**/build/ | ||
|
||
### IntelliJ IDEA ### | ||
.idea/modules.xml | ||
.idea/jarRepositories.xml | ||
.idea/compiler.xml | ||
.idea/libraries/ | ||
*.iws | ||
*.iml | ||
*.ipr | ||
out/ | ||
!src/main/**/out/ | ||
!src/test/**/out/ | ||
|
||
### Eclipse ### | ||
.apt_generated | ||
.classpath | ||
.factorypath | ||
.project | ||
.settings | ||
.springBeans | ||
.sts4-cache | ||
bin/ | ||
!src/main/**/bin/ | ||
!src/test/**/bin/ | ||
|
||
### NetBeans ### | ||
/nbproject/private/ | ||
/nbbuild/ | ||
/dist/ | ||
/nbdist/ | ||
/.nb-gradle/ | ||
|
||
### VS Code ### | ||
.vscode/ | ||
|
||
### Mac OS ### | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
/* | ||
* Copyright OpenSearch Contributors | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
plugins { | ||
id 'java-library' | ||
id "io.freefair.lombok" | ||
id 'jacoco' | ||
id 'antlr' | ||
id 'com.diffplug.spotless' version '6.22.0' | ||
id 'com.github.johnrengelman.shadow' | ||
} | ||
|
||
repositories { | ||
mavenCentral() | ||
} | ||
|
||
tasks.register('downloadG4Files', Exec) { | ||
description = 'Download remote .g4 files from GitHub' | ||
|
||
executable 'curl' | ||
|
||
args '-o', 'src/main/antlr/FlintSparkSqlExtensions.g4', 'https://raw.githubusercontent.com/opensearch-project/opensearch-spark/main/flint-spark-integration/src/main/antlr4/FlintSparkSqlExtensions.g4' | ||
args '-o', 'src/main/antlr/SparkSqlBase.g4', 'https://raw.githubusercontent.com/opensearch-project/opensearch-spark/main/flint-spark-integration/src/main/antlr4/SparkSqlBase.g4' | ||
args '-o', 'src/main/antlr/SqlBaseParser.g4', 'https://raw.githubusercontent.com/apache/spark/master/sql/api/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBaseParser.g4' | ||
args '-o', 'src/main/antlr/SqlBaseLexer.g4', 'https://raw.githubusercontent.com/apache/spark/master/sql/api/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBaseLexer.g4' | ||
} | ||
|
||
generateGrammarSource { | ||
arguments += ['-visitor', '-package', 'org.opensearch.sql.asyncquery.antlr.parser'] | ||
source = sourceSets.main.antlr | ||
outputDirectory = file("build/generated-src/antlr/main/org/opensearch/sql/asyncquery/antlr/parser") | ||
} | ||
configurations { | ||
compile { | ||
extendsFrom = extendsFrom.findAll { it != configurations.antlr } | ||
} | ||
} | ||
|
||
// Make sure the downloadG4File task runs before the generateGrammarSource task | ||
generateGrammarSource.dependsOn downloadG4Files | ||
|
||
dependencies { | ||
antlr "org.antlr:antlr4:4.7.1" | ||
|
||
implementation group: 'com.google.guava', name: 'guava', version: '32.0.1-jre' | ||
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${versions.jackson}" | ||
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${versions.jackson_databind}" | ||
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-cbor', version: "${versions.jackson}" | ||
implementation 'com.google.code.gson:gson:2.8.9' | ||
|
||
testImplementation(platform("org.junit:junit-bom:5.9.3")) | ||
|
||
testCompileOnly('org.junit.jupiter:junit-jupiter') | ||
testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.7.0' | ||
testImplementation group: 'org.mockito', name: 'mockito-junit-jupiter', version: '5.7.0' | ||
|
||
testCompileOnly('junit:junit:4.13.1') { | ||
exclude group: 'org.hamcrest', module: 'hamcrest-core' | ||
} | ||
testRuntimeOnly("org.junit.vintage:junit-vintage-engine") { | ||
exclude group: 'org.hamcrest', module: 'hamcrest-core' | ||
} | ||
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") { | ||
exclude group: 'org.hamcrest', module: 'hamcrest-core' | ||
} | ||
testRuntimeOnly("org.junit.platform:junit-platform-launcher") { | ||
because 'allows tests to run from IDEs that bundle older version of launcher' | ||
} | ||
} | ||
|
||
spotless { | ||
java { | ||
target fileTree('.') { | ||
include '**/*.java' | ||
exclude '**/build/**', '**/build-*/**' | ||
} | ||
importOrder() | ||
removeUnusedImports() | ||
trimTrailingWhitespace() | ||
endWithNewline() | ||
googleJavaFormat('1.17.0').reflowLongStrings().groupArtifact('com.google.googlejavaformat:google-java-format') | ||
} | ||
} | ||
|
||
test { | ||
useJUnitPlatform() | ||
testLogging { | ||
events "skipped", "failed" | ||
exceptionFormat "full" | ||
} | ||
} | ||
|
||
jacocoTestReport { | ||
reports { | ||
html.required = true | ||
xml.required = true | ||
} | ||
afterEvaluate { | ||
classDirectories.setFrom(files(classDirectories.files.collect { | ||
fileTree(dir: it, exclude: ['**/antlr/parser/**']) | ||
})) | ||
} | ||
} | ||
test.finalizedBy(project.tasks.jacocoTestReport) | ||
jacocoTestCoverageVerification { | ||
violationRules { | ||
rule { | ||
element = 'CLASS' | ||
excludes = [] | ||
limit { | ||
counter = 'LINE' | ||
minimum = 1.0 | ||
} | ||
limit { | ||
counter = 'BRANCH' | ||
minimum = 1.0 | ||
} | ||
} | ||
} | ||
afterEvaluate { | ||
classDirectories.setFrom(files(classDirectories.files.collect { | ||
fileTree(dir: it, exclude: ['**/antlr/parser/**']) | ||
})) | ||
} | ||
} | ||
check.dependsOn jacocoTestCoverageVerification | ||
|
||
shadowJar { | ||
archiveBaseName.set('async-query-core') | ||
archiveVersion.set('1.0.0') // Set the desired version | ||
archiveClassifier.set('all') | ||
|
||
from sourceSets.main.output | ||
configurations = [project.configurations.runtimeClasspath] | ||
} |
Empty file.
13 changes: 13 additions & 0 deletions
13
async-query-core/src/main/java/org/opensearch/sql/asyncquery/Dummy.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
/* | ||
* Copyright OpenSearch Contributors | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
package org.opensearch.sql.asyncquery; | ||
|
||
// This is a dummy class for scaffolding and should be deleted later | ||
public class Dummy { | ||
public String hello() { | ||
return "Hello!"; | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
async-query-core/src/test/java/org/opensearch/sql/asyncquery/DummyTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
/* | ||
* Copyright OpenSearch Contributors | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
package org.opensearch.sql.asyncquery; | ||
|
||
import static org.junit.jupiter.api.Assertions.assertEquals; | ||
|
||
import org.junit.jupiter.api.Test; | ||
|
||
public class DummyTest { | ||
@Test | ||
public void test() { | ||
Dummy dummy = new Dummy(); | ||
assertEquals("Hello!", dummy.hello()); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
.gradle | ||
build/ | ||
!gradle/wrapper/gradle-wrapper.jar | ||
!src/main/**/build/ | ||
!src/test/**/build/ | ||
|
||
### IntelliJ IDEA ### | ||
.idea/modules.xml | ||
.idea/jarRepositories.xml | ||
.idea/compiler.xml | ||
.idea/libraries/ | ||
*.iws | ||
*.iml | ||
*.ipr | ||
out/ | ||
!src/main/**/out/ | ||
!src/test/**/out/ | ||
|
||
### Eclipse ### | ||
.apt_generated | ||
.classpath | ||
.factorypath | ||
.project | ||
.settings | ||
.springBeans | ||
.sts4-cache | ||
bin/ | ||
!src/main/**/bin/ | ||
!src/test/**/bin/ | ||
|
||
### NetBeans ### | ||
/nbproject/private/ | ||
/nbbuild/ | ||
/dist/ | ||
/nbdist/ | ||
/.nb-gradle/ | ||
|
||
### VS Code ### | ||
.vscode/ | ||
|
||
### Mac OS ### | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
/* | ||
* Copyright OpenSearch Contributors | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
plugins { | ||
id 'java-library' | ||
id "io.freefair.lombok" | ||
id 'jacoco' | ||
id 'antlr' | ||
} | ||
|
||
repositories { | ||
mavenCentral() | ||
} | ||
|
||
|
||
dependencies { | ||
api project(':core') | ||
implementation project(':async-query-core') | ||
implementation project(':protocol') | ||
implementation project(':datasources') | ||
implementation project(':legacy') | ||
|
||
implementation group: 'org.opensearch', name: 'opensearch', version: "${opensearch_version}" | ||
implementation group: 'org.json', name: 'json', version: '20231013' | ||
api group: 'com.amazonaws', name: 'aws-java-sdk-emr', version: "${aws_java_sdk_version}" | ||
api group: 'com.amazonaws', name: 'aws-java-sdk-emrserverless', version: "${aws_java_sdk_version}" | ||
implementation group: 'commons-io', name: 'commons-io', version: '2.8.0' | ||
|
||
testImplementation(platform("org.junit:junit-bom:5.9.3")) | ||
|
||
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.3' | ||
testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.7.0' | ||
testImplementation group: 'org.mockito', name: 'mockito-junit-jupiter', version: '5.7.0' | ||
|
||
testCompileOnly('junit:junit:4.13.1') { | ||
exclude group: 'org.hamcrest', module: 'hamcrest-core' | ||
} | ||
testRuntimeOnly("org.junit.vintage:junit-vintage-engine") { | ||
exclude group: 'org.hamcrest', module: 'hamcrest-core' | ||
} | ||
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") { | ||
exclude group: 'org.hamcrest', module: 'hamcrest-core' | ||
} | ||
testRuntimeOnly("org.junit.platform:junit-platform-launcher") { | ||
because 'allows tests to run from IDEs that bundle older version of launcher' | ||
} | ||
testImplementation("org.opensearch.test:framework:${opensearch_version}") | ||
testImplementation project(':opensearch') | ||
} | ||
|
||
test { | ||
useJUnitPlatform { | ||
includeEngines("junit-jupiter") | ||
} | ||
testLogging { | ||
events "failed" | ||
exceptionFormat "full" | ||
} | ||
} | ||
task junit4(type: Test) { | ||
useJUnitPlatform { | ||
includeEngines("junit-vintage") | ||
} | ||
systemProperty 'tests.security.manager', 'false' | ||
testLogging { | ||
events "failed" | ||
exceptionFormat "full" | ||
} | ||
} | ||
|
||
jacocoTestReport { | ||
dependsOn test, junit4 | ||
executionData test, junit4 | ||
reports { | ||
html.required = true | ||
xml.required = true | ||
} | ||
afterEvaluate { | ||
classDirectories.setFrom(files(classDirectories.files.collect { | ||
fileTree(dir: it, exclude: ['**/antlr/parser/**']) | ||
})) | ||
} | ||
} | ||
|
||
jacocoTestCoverageVerification { | ||
dependsOn test, junit4 | ||
executionData test, junit4 | ||
violationRules { | ||
rule { | ||
element = 'CLASS' | ||
excludes = [ | ||
'org.opensearch.sql.spark.data.constants.*', | ||
'org.opensearch.sql.spark.rest.*', | ||
'org.opensearch.sql.spark.transport.model.*', | ||
'org.opensearch.sql.spark.asyncquery.model.*', | ||
'org.opensearch.sql.spark.asyncquery.exceptions.*', | ||
'org.opensearch.sql.spark.dispatcher.model.*', | ||
'org.opensearch.sql.spark.flint.FlintIndexType', | ||
// ignore because XContext IOException | ||
'org.opensearch.sql.spark.execution.statestore.StateStore', | ||
'org.opensearch.sql.spark.execution.session.SessionModel', | ||
'org.opensearch.sql.spark.execution.statement.StatementModel', | ||
'org.opensearch.sql.spark.flint.FlintIndexStateModel', | ||
// TODO: add tests for purging flint indices | ||
'org.opensearch.sql.spark.cluster.ClusterManagerEventListener*', | ||
'org.opensearch.sql.spark.cluster.FlintIndexRetention', | ||
'org.opensearch.sql.spark.cluster.IndexCleanup' | ||
] | ||
limit { | ||
counter = 'LINE' | ||
minimum = 1.0 | ||
} | ||
limit { | ||
counter = 'BRANCH' | ||
minimum = 1.0 | ||
} | ||
} | ||
} | ||
afterEvaluate { | ||
classDirectories.setFrom(files(classDirectories.files.collect { | ||
fileTree(dir: it, exclude: ['**/antlr/parser/**']) | ||
})) | ||
} | ||
} | ||
check.dependsOn jacocoTestCoverageVerification | ||
jacocoTestCoverageVerification.dependsOn jacocoTestReport |
Oops, something went wrong.