-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove deprecation warnings to prepare for Gradle 5 (sourceSets.main.output.classesDirs) #30389
Conversation
Pinging @elastic/es-core-infra |
Gradle replaced `project.sourceSets.main.output.classesDir` of type `File` with `project.sourceSets.main.output.classesDirs` of type `FileCollection` (see [SourceSetOutput](https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/java/org/gradle/api/tasks/SourceSetOutput.java)) Build output is now stored on a per language folder. There are a few places where we use that, here's these and how it's fixed: - Randomized Test execution - look in all test folders ( pass the multi dir configuration to the ant runner ) - DRY the task configuration by introducing `basedOn` for `RandomizedTestingTask` DSL - Extend the naming convention test to support passing in multiple directories - Fix the standalon test plugin, the dires were not passed trough, checked with a debuger and the statement had no affect due to a missing `=`. Closes #30354
Related to #27250. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for starting on this! I've left some comments. More generally, I see a lot of unrelated changes here. Things like reformatting or restructuring should generally go in separate PRs to ease reviewing.
@@ -44,24 +44,24 @@ class RandomizedTestingPlugin implements Plugin<Project> { | |||
} | |||
} | |||
|
|||
static void replaceTestTask(TaskContainer tasks) { | |||
static void replaceTestTask(Project project) { | |||
def tasks = project.tasks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We generally try to avoid def
. Please use concrete types.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
@@ -211,7 +224,7 @@ class RandomizedTestingTask extends DefaultTask { | |||
|
|||
DefaultLogger listener = null | |||
ByteArrayOutputStream antLoggingBuffer = null | |||
if (logger.isInfoEnabled() == false) { | |||
if (!logger.isInfoEnabled()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use == false
for negation throughout the codebase because it is easier to visually notice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
|
||
def dirsToUse = (checkForTestsInMain ? | ||
project.sourceSets.main.output.classesDirs : | ||
project.sourceSets.test.output.classesDirs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we can check these here, this would still be during configuration? Certainly not the existence of them in the filter below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works because the FileCollection is a live collection, this the checks are actually only executed lather.
I'm changing this anyhow, as I discovered that we should not pick up non Java tests anyhow, because those don't adhere to the naming conventions.
@@ -95,6 +97,17 @@ class RandomizedTestingTask extends DefaultTask { | |||
listenersConfig.listeners.add(new TestReportLogger(logger: logger, config: testLoggingConfig)) | |||
} | |||
|
|||
void basedOn(RandomizedTestingTask other) { | |||
configure(BuildPlugin.commonTestConfig(project)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BuildPlugin should not be referred to here. The intention has always been to move the randomized testing gradle code (notice this is in a different java package than the rest of the buildSrc code) back upstream with randomized testing itself. See https://github.com/randomizedtesting/gradle-randomized-testing-plugin where I made some snapshots when first working on migrating the build to gradle, but was not able to cleanup and document it enough to release on its own.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I moved it back to the Gradle script.
void basedOn(RandomizedTestingTask other) { | ||
configure(BuildPlugin.commonTestConfig(project)) | ||
classpath = other.classpath; | ||
testClassesDirs = other.testClassesDirs; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think all the users of this could just be converted to use this line? I don't think we need to or should overly abstract this "shared code". For example, it would be better to make internalClusterTest task added by an additional gradle plugin to reduce duplication there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did change just the line everywhere during development, and decided to take the extra step to refactor it as I felt it's too detailed and does not convey intent well enough, every time I encountered it I had to carefully check to make sure none of the configuration is missing or slightly different. I do agree that a plugin as you suggest would be even better, but this is a step that will make that a bit easier to implement.
- Name checker was ran for Groovy tests that don't adhere to the same convections causing the check to fail - implement PR feedback
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a few more comments
@@ -211,7 +223,7 @@ class RandomizedTestingTask extends DefaultTask { | |||
|
|||
DefaultLogger listener = null | |||
ByteArrayOutputStream antLoggingBuffer = null | |||
if (logger.isInfoEnabled() == false) { | |||
if (false == logger.isInfoEnabled()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still see lots of arbitrary syntactical changes like this. Every extra line of diff makes something that must be looked at. Without these minor changes, I think this PR would only be a dozen lines or so and would be very quick to review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a problem omitting them if that's the consensus, my take on it is that the cost of making and reviewing these is worthwhile if they improve the readability of the code, as it eventually pays off.
@@ -95,6 +97,16 @@ class RandomizedTestingTask extends DefaultTask { | |||
listenersConfig.listeners.add(new TestReportLogger(logger: logger, config: testLoggingConfig)) | |||
} | |||
|
|||
void basedOn(RandomizedTestingTask other) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really would like to not have this. It makes many assumptions (eg that that check
should depend on this). Can we please keep this change only to updating testClassesDirs and look at ways to deduplicate internalClusterTest in a separate issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed it. I have a better understanding of why this was not a good idea now, and why this would be better handled in it's own PR. There are multiple ways to manage tests, deal with unit and integrations tests etc ( there's an additionalTests
extension that is similar to what basedOn
did ). It might also be worth setting up a different source path for integration tests then we could auto wire that to check and offer a clear DSL for defining new tests that are possibly a subset of the existing unit or integration with additional system properties.
- Apply workaround for: GradleUp/shadow#336 - bump plugin to 2.0.4 Changes between 2.0.2 and 2.0.4 of the plugin: ``` 477db40 12 days ago john.engelman@target.com Release 2.0.4 3e3da37 3 weeks ago john.engelman@target.com Remove internal Gradle API and annotation internal getters on shadow jar. 31e2380 3 weeks ago john.engelman@target.com Close input streams. Closes elastic#364 f712cc8 3 weeks ago john.engelman@target.com Upgrade ASM to 6.1.1 to address perf issues. Closes elastic#374 2f94b2b 3 weeks ago john.engelman@target.com next version 23bbf3d 7 weeks ago john.r.engelman@gmail.com Add some gradle versions. Update changelog for 2.0.3 7435c74 7 weeks ago john.r.engelman@gmail.com Merge pull request elastic#367 from ttsiebzehntt/366-java10 325c002 7 weeks ago info@martinsadowski.de Update ASM to 6.1 94550e5 3 months ago john.r.engelman@gmail.com Merge pull request elastic#356 from sgnewson/update-file-to-files 66b691e 4 months ago john.r.engelman@gmail.com Merge pull request elastic#358 from 3flex/patch-1 14761b1 4 months ago 3flex@users.noreply.github.com fix markdown for User Guide URL in issue template a3f6984 4 months ago newson@synopsys.com update inputs.file to inputs.files, to remove warning ``` closes elastic#30389
* Solve Gradle deprecation warnings around shadowJar - Apply workaround for: GradleUp/shadow#336 - bump plugin to 2.0.4 Changes between 2.0.2 and 2.0.4 of the plugin: ``` 477db40 12 days ago john.engelman@target.com Release 2.0.4 3e3da37 3 weeks ago john.engelman@target.com Remove internal Gradle API and annotation internal getters on shadow jar. 31e2380 3 weeks ago john.engelman@target.com Close input streams. Closes #364 f712cc8 3 weeks ago john.engelman@target.com Upgrade ASM to 6.1.1 to address perf issues. Closes #374 2f94b2b 3 weeks ago john.engelman@target.com next version 23bbf3d 7 weeks ago john.r.engelman@gmail.com Add some gradle versions. Update changelog for 2.0.3 7435c74 7 weeks ago john.r.engelman@gmail.com Merge pull request #367 from ttsiebzehntt/366-java10 325c002 7 weeks ago info@martinsadowski.de Update ASM to 6.1 94550e5 3 months ago john.r.engelman@gmail.com Merge pull request #356 from sgnewson/update-file-to-files 66b691e 4 months ago john.r.engelman@gmail.com Merge pull request #358 from 3flex/patch-1 14761b1 4 months ago 3flex@users.noreply.github.com fix markdown for User Guide URL in issue template a3f6984 4 months ago newson@synopsys.com update inputs.file to inputs.files, to remove warning ``` closes #30389 * Improove comment as suggested
That was an incorrect issue reference, reopening. |
This worked because the list is passed to `project.files` that does the right thing.
This reverts commit 9bd9389.
Previus revert accidentally reverted too much
build this please |
test this please |
1 similar comment
test this please |
test this please |
@@ -66,7 +65,7 @@ public class NamingConventionsTask extends LoggedExec { | |||
@Input | |||
boolean checkForTestsInMain = false; | |||
|
|||
public NamingConventionsTask() { | |||
NamingConventionsTask() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add back the public
. As I mentioned before, a goal here is to keep these files as close as possible to java so buildSrc can be converted completely to java (hopefully someday soon).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rjernst ++ on converting to Java, or away from Groovy anyhow. Was Kotlin considered ? Gradle itself seems to be picking it up as well, we could switch to Kotlin-DSL as well and have type save build files all the way trough. It would get us the best of both words at the expense of a learning curve for Kotlin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kotlin was not around when we switched to gradle. We have tried sticking to java for multiple reasons:
- Expertise on Elasticsearch is usually in java
- I have seen numerous reports of double digit performance gains in configuration time from switching gradle plugins to java
Remember we are only talking about buildSrc here. The build.gradle files are still groovy. I am not averse to them being Kotlin, but I would want to see a significant advantage to that work, as we have now spent over 2 years with developers learning how to write groovy in gradle DSL.
check.checkMain(rootPath); | ||
} else { | ||
check.checkTests(rootPath, skipIntegTestsInDisguise); | ||
for (String rootDir : rootPathList.split(Pattern.quote(File.pathSeparator))) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems inconsistent with the gradle code. There, a single dir is currently passed in. But here it looks like the path of that dir is split into its elements but then each read as a dir...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's split with File.pathSeparator
not File.separator
, so multiple dirs can be passed in like a classpath.
The initial intent was to pass in FileCollection.getAsPath
on sourcesDirs
, and have the name check run on all directories. I backed out of that, because that sent in some groovy tests that did not adhere to the name checks, and it did not seem to make sense to make them do. We could revert this change altogether, but I taught it might be useful some day, i.e. we could collect and combine all FileCollections from all the projects output dirs to call the name checker only once and save some time on JVM startups.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should do that. Each project should be checkable on its own. Combining all the sources into one task means to run precommit on a project requires running this one large task that looks at all test classes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, I'll revert changes to this file.
// see https://docs.gradle.org/current/dsl/org.gradle.api.tasks.SourceSetOutput.html the deprecated property | ||
// classesDir is the first in the FileCollection. There seems to be no other way to refer to the Java output dir | ||
// We can't run the check against all classes as Groovy tests don't adhere to naming conventions. | ||
return classesDirs[0] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why don't we change the java code to work on multiple directories? Then you can just pass in all the classesDirs as multiple arguments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want to pass in the groovy test dirs, they would not pass the checks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do we have have groovy tests? How do we know the ordering would always result in the java classes dir coming first?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have groovy ./buildSrc/src/test/groovy/
. It's an odd that the Gradle API does not offer a more explicit way to get the java specific dirs, and choose to document that it will always be first here:
https://docs.gradle.org/current/dsl/org.gradle.api.tasks.SourceSetOutput.html
It mentions the following for the deprectaed File classesDir
property:
Default with java plugin:
First directory from classesDirs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While that deprecated property may document that fact, there would be nothing preventing gradle from changing the order once that property is removed. There are only 2 groovy tests. I think we can update their names to follow the naming convention?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rjernst I updated the task to pass along all dirs, but also added a new input to be able to bypass that and be specific of the directory. Adding the Groovy tests is trickier because of the inheritance check but we'll be ok, since the build tools that have a hard coded path now are self tests, so if the test would change the test would fail.
Only run on Java for build-tools, this is safe because it's a self test. It needs more work before we could pass in the Groovy classes as well as these inherit from `GroovyTestCase`
The self complicates the task setup and disable real checks on build-tools. With this change there are no more self tests, and the build-tools tests adhere to the conventions. The self test will be replaced by gradle test kit, thus the addition of the Gradle plugin builder plugin.
I wasn't really happy about this solution as I realized that it makes it hard to add java tests to the |
test this please |
1 similar comment
test this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking closer, but I have a few more comments.
/** | ||
* Accessor for shared dependency versions used by elasticsearch, namely the elasticsearch and lucene versions. | ||
*/ | ||
public class VersionProperties { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It appears this is being moved to a java file, but it is still under src/main/groovy
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. That is because the Groovy compiler knows how to deal with this and delegate these files to the Java compiler. The reason these can't move to src/main/java
(yet) us that they make use of Groovy classes that are not on the cp when pure java is compiled. Moving those Groovy classes to Java creates a ripple effect, so my thinking is that we can have java files in the groovy source set until we have critical mass, eventually removing the groovy source set. It's easier and less risky than converting to Java at once.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sounds like a great plan!
/** | ||
* A wrapper around gradle's Exec task to capture output and log on error. | ||
*/ | ||
public class LoggedExec extends Exec { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears to be moved to a java file, but still exists under src/main/groovy
?
} | ||
System.exit(exitCode); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should call System.exit. Instead, throw a GradleException with a message indicating there were violations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This uses an exit code since we don't call into this code directly, but run it like a cli utility, it used System.exit
before this change as well.
@@ -16,6 +20,7 @@ class VersionCollectionTest extends GroovyTestCase { | |||
* branched from Major-1.x At the time of this writing 6.2 is unreleased and 6.3 is the 6.x branch. This test simulates the behavior | |||
* from 7.0 perspective, or master at the time of this writing. | |||
*/ | |||
@Test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this will be confusing to start having @test in gradle tests, when we do not have them in the rest of the tests (and it is unclear how this would work when we run this as a normal elasticsearch.build
as the build-tools
project that uses randomized runner). We should be able to annotate the test with a junit3 compatible selector like randomized runner does?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could inherit from TestCase but we loose @Rule
and probably @Before
, @After
etc.
The rest of the code supports both @Test
and methods starting with test
, but this is implemented in @RunWith(RandomizedRunner.class)
, @TestMethodProviders
is not a junit4 annotation, the junit3 compatible selector is part of lucene test, so while it's possible to bring that in as a dependency it seems a bit odd. The other possibility is to duplicate that one filter class.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would duplicate the class if necessary. Having @test in some parts of our code would be very confusing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
import org.junit.Test | ||
import org.junit.rules.ExpectedException | ||
|
||
import static org.junit.Assert.* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do not use wildcard imports. We disallowed them in the rest of the codebase.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fixed my IDE setting some time ago, this must pre-date that. Fixed now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, a few last comments.
import org.elasticsearch.gradle.test.GradleUnitTestCase | ||
import org.junit.Test | ||
|
||
import static org.junit.Assert.* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still have a wildcard import
import static org.elasticsearch.gradle.doc.RestTestsFromSnippetsTask.replaceBlockQuote | ||
import static org.elasticsearch.gradle.doc.RestTestsFromSnippetsTask.shouldAddShardFailureCheck | ||
import static org.junit.Assert.* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still have a wildcard import
JUnit4MethodProvider.class, | ||
JUnit3MethodProvider.class | ||
}) | ||
public abstract class BaseTestCase { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can make this extend from Assert
to not have to import the common methods used like assertEquals
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll fix these, thanks, I finally figured out where these are coming from, it's in the template for test classes.
JUnit4MethodProvider.class, | ||
JUnit3MethodProvider.class | ||
}) | ||
public abstract class GradleUnitTestCase extends BaseTestCase { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why have this and BaseTestCase? I think just having one of these would be fine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An integration test is not a unit test, so I didn't initially want them to inherit from each-other, but would have to extend the name checker to be able to deal with it.
…output.classesDirs) (#30389) * Remove deprecation warnings to prepare for Gradle 5 Gradle replaced `project.sourceSets.main.output.classesDir` of type `File` with `project.sourceSets.main.output.classesDirs` of type `FileCollection` (see [SourceSetOutput](https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/java/org/gradle/api/tasks/SourceSetOutput.java)) Build output is now stored on a per language folder. There are a few places where we use that, here's these and how it's fixed: - Randomized Test execution - look in all test folders ( pass the multi dir configuration to the ant runner ) - DRY the task configuration by introducing `basedOn` for `RandomizedTestingTask` DSL - Extend the naming convention test to support passing in multiple directories - Fix the standalon test plugin, the dires were not passed trough, checked with a debuger and the statement had no affect due to a missing `=`. Closes #30354 * Only check Java tests, PR feedback - Name checker was ran for Groovy tests that don't adhere to the same convections causing the check to fail - implement PR feedback * Replace `add` with `addAll` This worked because the list is passed to `project.files` that does the right thing. * Revert "Only check Java tests, PR feedback" This reverts commit 9bd9389. * Remove `basedOn` helper * Bring some changes back Previus revert accidentally reverted too much * Fix negation * add back public * revert name check changes * Revert "revert name check changes" This reverts commit a2800c0. * Pass all dirs to name check Only run on Java for build-tools, this is safe because it's a self test. It needs more work before we could pass in the Groovy classes as well as these inherit from `GroovyTestCase` * remove self tests from name check The self complicates the task setup and disable real checks on build-tools. With this change there are no more self tests, and the build-tools tests adhere to the conventions. The self test will be replaced by gradle test kit, thus the addition of the Gradle plugin builder plugin. * First test to run a Gradle build * Add tests that replace the name check self test * Clean up integ test base class * Always run tests * Align with test naming conventions * Make integ. test case inherit from unit test case The check requires this * Remove `import static org.junit.Assert.*`
* master: Docs: Remove duplicate test setup Print output when the name checker IT fails (#31660) Fix syntax errors in get-snapshots docs (#31656) Docs: Fix description of percentile ranks example example (#31652) Add MultiSearchTemplate support to High Level Rest client (#30836) Add test for low-level client round-robin behaviour (#31616) SQL: Refactor package names of sql-proto and sql-shared-proto projects (#31622) Remove deprecation warnings to prepare for Gradle 5 (sourceSets.main.output.classesDirs) (#30389) Correct integTest enable logic (#31646) Fix missing get-snapshots docs reference #31645 Do not check for Azure container existence (#31617) Merge AwsS3Service and InternalAwsS3Service in a S3Service class (#31580) Upgrade gradle wrapper to 4.8 (#31525) Only set vm.max_map_count if greater than default (#31512) Add Get Snapshots High Level REST API (#31537) QA: Merge query-builder-bwc to restart test (#30979) Update reindex.asciidoc (#31626) Docs: Skip xpack snippet tests if no xpack (#31619) mute CreateSnapshotRequestTests HLRest: Fix test for explain API [TEST] Fix RemoteClusterConnectionTests Add Create Snapshot to High-Level Rest Client (#31215) Remove legacy MetaDataStateFormat (#31603) Add explain API to high-level REST client (#31387) Preserve thread context when connecting to remote cluster (#31574) Unify headers for full text queries Remove redundant 'minimum_should_match' JDBC driver prepared statement set* methods (#31494) [TEST] call yaml client close method from test suite (#31591)
* 6.x: Docs: Remove duplicate test setup Docs: Fix description of percentile ranks example example (#31652) Remove deprecation warnings to prepare for Gradle 5 (sourceSets.main.output.classesDirs) (#30389) Do not check for Azure container existence (#31617) Merge AwsS3Service and InternalAwsS3Service in a S3Service class (#31580) Remove item listed in 6.3 notes that's not in 6.3 (#31623) remove unused import Upgrade gradle wrapper to 4.8 (#31525) Only set vm.max_map_count if greater than default (#31512) QA: Merge query-builder-bwc to restart test (#30979) Docs: Skip xpack snippet tests if no xpack (#31619) [TEST] Fix RemoteClusterConnectionTests Remove legacy MetaDataStateFormat (#31603) [TEST] call yaml client close method from test suite (#31591) [TEST] Close additional clients created while running yaml tests (#31575) Node selector per client rather than per request (#31471) Preserve thread context when connecting to remote cluster (#31574) Remove redundant 'minimum_should_match' Unify headers for full text queries JDBC driver prepared statement set* methods (#31494) add logging breaking changes from 5.3 to 6.0 (#31583) Fix a formatting issue in the docvalue_fields documentation. (#31563) Improve robustness of geo shape parser for malformed shapes QA: Create xpack yaml features (#31403)
Gradle replaced
project.sourceSets.main.output.classesDir
of typeFile
withproject.sourceSets.main.output.classesDirs
of typeFileCollection
(see SourceSetOutput)
Build output is now stored on a per language folder.
There are a few places where we use that, here's these and how it's
fixed:
ant runner )
basedOn
forRandomizedTestingTask
DSLdirectories
checked with a debuger and the statement had no affect due to a
missing
=
.Closes #30354