diff --git a/build.gradle b/build.gradle index 00d1a54b266..632186f9535 100644 --- a/build.gradle +++ b/build.gradle @@ -268,7 +268,7 @@ subprojects { // the dependency is added. gradle.projectsEvaluated { allprojects { - if (project.path == ':test:framework') { + if (project.path == ':test:framework' || project.path == ':client:test') { // :test:framework:test cannot run before and after :core:test return } diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy index bafda0afc1b..67f3f75f2ad 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy @@ -30,6 +30,7 @@ import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.XmlProvider import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.ModuleDependency import org.gradle.api.artifacts.ModuleVersionIdentifier import org.gradle.api.artifacts.ProjectDependency @@ -269,8 +270,8 @@ class BuildPlugin implements Plugin { }) // force all dependencies added directly to compile/testCompile to be non-transitive, except for ES itself - Closure disableTransitiveDeps = { ModuleDependency dep -> - if (!(dep instanceof ProjectDependency) && dep.group.startsWith('org.elasticsearch') == false) { + Closure disableTransitiveDeps = { Dependency dep -> + if (dep instanceof ModuleDependency && !(dep instanceof ProjectDependency) && dep.group.startsWith('org.elasticsearch') == false) { dep.transitive = false // also create a configuration just for this dependency version, so that later diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/precommit/ThirdPartyAuditTask.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/precommit/ThirdPartyAuditTask.groovy index 33ca6dccfa3..0e120c5ee60 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/precommit/ThirdPartyAuditTask.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/precommit/ThirdPartyAuditTask.groovy @@ -26,6 +26,7 @@ import org.apache.tools.ant.DefaultLogger; import org.apache.tools.ant.Project; import org.elasticsearch.gradle.AntTask; import org.gradle.api.artifacts.Configuration; +import org.gradle.api.artifacts.FileCollectionDependency; import org.gradle.api.file.FileCollection; import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputFiles @@ -85,7 +86,11 @@ public class ThirdPartyAuditTask extends AntTask { // we only want third party dependencies. jars = configuration.fileCollection({ dependency -> - dependency.group.startsWith("org.elasticsearch") == false + // include SelfResolvingDependency with files in the validation + if (dependency instanceof FileCollectionDependency) { + return true + } + return dependency.group && dependency.group.startsWith("org.elasticsearch") == false }); // we don't want provided dependencies, which we have already scanned. e.g. don't diff --git a/buildSrc/src/main/resources/forbidden/http-signatures.txt b/buildSrc/src/main/resources/forbidden/http-signatures.txt index dcf20bbb093..0ef70565799 100644 --- a/buildSrc/src/main/resources/forbidden/http-signatures.txt +++ b/buildSrc/src/main/resources/forbidden/http-signatures.txt @@ -15,31 +15,31 @@ # language governing permissions and limitations under the License. @defaultMessage Explicitly specify the ContentType of HTTP entities when creating -org.apache.http.entity.StringEntity#(java.lang.String) -org.apache.http.entity.StringEntity#(java.lang.String,java.lang.String) -org.apache.http.entity.StringEntity#(java.lang.String,java.nio.charset.Charset) -org.apache.http.entity.ByteArrayEntity#(byte[]) -org.apache.http.entity.ByteArrayEntity#(byte[],int,int) -org.apache.http.entity.FileEntity#(java.io.File) -org.apache.http.entity.InputStreamEntity#(java.io.InputStream) -org.apache.http.entity.InputStreamEntity#(java.io.InputStream,long) -org.apache.http.nio.entity.NByteArrayEntity#(byte[]) -org.apache.http.nio.entity.NByteArrayEntity#(byte[],int,int) -org.apache.http.nio.entity.NFileEntity#(java.io.File) -org.apache.http.nio.entity.NStringEntity#(java.lang.String) -org.apache.http.nio.entity.NStringEntity#(java.lang.String,java.lang.String) +org.elasticsearch.client.http.entity.StringEntity#(java.lang.String) +org.elasticsearch.client.http.entity.StringEntity#(java.lang.String,java.lang.String) +org.elasticsearch.client.http.entity.StringEntity#(java.lang.String,java.nio.charset.Charset) +org.elasticsearch.client.http.entity.ByteArrayEntity#(byte[]) +org.elasticsearch.client.http.entity.ByteArrayEntity#(byte[],int,int) +org.elasticsearch.client.http.entity.FileEntity#(java.io.File) +org.elasticsearch.client.http.entity.InputStreamEntity#(java.io.InputStream) +org.elasticsearch.client.http.entity.InputStreamEntity#(java.io.InputStream,long) +org.elasticsearch.client.http.nio.entity.NByteArrayEntity#(byte[]) +org.elasticsearch.client.http.nio.entity.NByteArrayEntity#(byte[],int,int) +org.elasticsearch.client.http.nio.entity.NFileEntity#(java.io.File) +org.elasticsearch.client.http.nio.entity.NStringEntity#(java.lang.String) +org.elasticsearch.client.http.nio.entity.NStringEntity#(java.lang.String,java.lang.String) @defaultMessage Use non-deprecated constructors -org.apache.http.nio.entity.NFileEntity#(java.io.File,java.lang.String) -org.apache.http.nio.entity.NFileEntity#(java.io.File,java.lang.String,boolean) -org.apache.http.entity.FileEntity#(java.io.File,java.lang.String) -org.apache.http.entity.StringEntity#(java.lang.String,java.lang.String,java.lang.String) +org.elasticsearch.client.http.nio.entity.NFileEntity#(java.io.File,java.lang.String) +org.elasticsearch.client.http.nio.entity.NFileEntity#(java.io.File,java.lang.String,boolean) +org.elasticsearch.client.http.entity.FileEntity#(java.io.File,java.lang.String) +org.elasticsearch.client.http.entity.StringEntity#(java.lang.String,java.lang.String,java.lang.String) @defaultMessage BasicEntity is easy to mess up and forget to set content type -org.apache.http.entity.BasicHttpEntity#() +org.elasticsearch.client.http.entity.BasicHttpEntity#() @defaultMessage EntityTemplate is easy to mess up and forget to set content type -org.apache.http.entity.EntityTemplate#(org.apache.http.entity.ContentProducer) +org.elasticsearch.client.http.entity.EntityTemplate#(org.elasticsearch.client.http.entity.ContentProducer) @defaultMessage SerializableEntity uses java serialization and makes it easy to forget to set content type -org.apache.http.entity.SerializableEntity#(java.io.Serializable) +org.elasticsearch.client.http.entity.SerializableEntity#(java.io.Serializable) diff --git a/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/rest/RestClientBenchmark.java b/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/rest/RestClientBenchmark.java index 9210526e7c8..ddf5316bd75 100644 --- a/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/rest/RestClientBenchmark.java +++ b/client/benchmark/src/main/java/org/elasticsearch/client/benchmark/rest/RestClientBenchmark.java @@ -18,17 +18,17 @@ */ package org.elasticsearch.client.benchmark.rest; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHeaders; -import org.apache.http.HttpHost; -import org.apache.http.HttpStatus; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.conn.ConnectionKeepAliveStrategy; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; -import org.apache.http.message.BasicHeader; -import org.apache.http.nio.entity.NStringEntity; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHeaders; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpStatus; +import org.elasticsearch.client.http.client.config.RequestConfig; +import org.elasticsearch.client.http.conn.ConnectionKeepAliveStrategy; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.client.http.message.BasicHeader; +import org.elasticsearch.client.http.nio.entity.NStringEntity; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; diff --git a/client/rest-high-level/src/main/java/org/elasticsearch/client/Request.java b/client/rest-high-level/src/main/java/org/elasticsearch/client/Request.java index 9e881cf7b9a..64813482e14 100644 --- a/client/rest-high-level/src/main/java/org/elasticsearch/client/Request.java +++ b/client/rest-high-level/src/main/java/org/elasticsearch/client/Request.java @@ -19,14 +19,14 @@ package org.elasticsearch.client; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.HttpDelete; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpHead; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.entity.ContentType; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.client.methods.HttpDelete; +import org.elasticsearch.client.http.client.methods.HttpGet; +import org.elasticsearch.client.http.client.methods.HttpHead; +import org.elasticsearch.client.http.client.methods.HttpPost; +import org.elasticsearch.client.http.client.methods.HttpPut; +import org.elasticsearch.client.http.entity.ByteArrayEntity; +import org.elasticsearch.client.http.entity.ContentType; import org.apache.lucene.util.BytesRef; import org.elasticsearch.action.DocWriteRequest; import org.elasticsearch.action.bulk.BulkRequest; diff --git a/client/rest-high-level/src/main/java/org/elasticsearch/client/RestHighLevelClient.java b/client/rest-high-level/src/main/java/org/elasticsearch/client/RestHighLevelClient.java index 926be2e0c02..0e749f7b310 100644 --- a/client/rest-high-level/src/main/java/org/elasticsearch/client/RestHighLevelClient.java +++ b/client/rest-high-level/src/main/java/org/elasticsearch/client/RestHighLevelClient.java @@ -19,8 +19,8 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpEntity; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.action.ActionListener; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/CrudIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/CrudIT.java index b078a983357..56057906971 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/CrudIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/CrudIT.java @@ -19,8 +19,8 @@ package org.elasticsearch.client; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.action.DocWriteRequest; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/CustomRestHighLevelClientTests.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/CustomRestHighLevelClientTests.java index 8ad42c22320..191b9e561f0 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/CustomRestHighLevelClientTests.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/CustomRestHighLevelClientTests.java @@ -19,19 +19,19 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.RequestLine; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.message.BasicHeader; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicRequestLine; -import org.apache.http.message.BasicStatusLine; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.client.methods.HttpGet; +import org.elasticsearch.client.http.entity.ByteArrayEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.message.BasicHeader; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicRequestLine; +import org.elasticsearch.client.http.message.BasicStatusLine; import org.apache.lucene.util.BytesRef; import org.elasticsearch.Build; import org.elasticsearch.Version; @@ -178,4 +178,4 @@ public class CustomRestHighLevelClientTests extends ESTestCase { return parseEntity(response.getEntity(), MainResponse::fromXContent); } } -} \ No newline at end of file +} diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/ESRestHighLevelClientTestCase.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/ESRestHighLevelClientTestCase.java index cdd83178309..c6413a3e00f 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/ESRestHighLevelClientTestCase.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/ESRestHighLevelClientTestCase.java @@ -19,7 +19,7 @@ package org.elasticsearch.client; -import org.apache.http.Header; +import org.elasticsearch.client.http.Header; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.PlainActionFuture; import org.elasticsearch.test.rest.ESRestTestCase; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestTests.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestTests.java index f18e348adce..634ef1bb30a 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestTests.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestTests.java @@ -19,9 +19,9 @@ package org.elasticsearch.client; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ByteArrayEntity; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.action.DocWriteRequest; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.bulk.BulkShardRequest; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientExtTests.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientExtTests.java index cb32f9ae9dd..aea3653c0ff 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientExtTests.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientExtTests.java @@ -19,9 +19,9 @@ package org.elasticsearch.client; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.common.ParseField; import org.elasticsearch.common.xcontent.NamedXContentRegistry; import org.elasticsearch.common.xcontent.XContentParser; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientTests.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientTests.java index c4b3aaf18a4..aa914e0ccc1 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientTests.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/RestHighLevelClientTests.java @@ -20,20 +20,20 @@ package org.elasticsearch.client; import com.fasterxml.jackson.core.JsonParseException; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.RequestLine; -import org.apache.http.StatusLine; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicRequestLine; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.nio.entity.NStringEntity; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.entity.ByteArrayEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicRequestLine; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.nio.entity.NStringEntity; import org.elasticsearch.Build; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.Version; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchIT.java index d73e746528d..dd1227aa5d9 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchIT.java @@ -19,10 +19,10 @@ package org.elasticsearch.client; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.nio.entity.NStringEntity; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.nio.entity.NStringEntity; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.action.search.ClearScrollRequest; diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CRUDDocumentationIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CRUDDocumentationIT.java index e14ee70bec7..585dc2c6d0e 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CRUDDocumentationIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CRUDDocumentationIT.java @@ -19,10 +19,10 @@ package org.elasticsearch.client.documentation; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.nio.entity.NStringEntity; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.client.methods.HttpPost; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.nio.entity.NStringEntity; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.DocWriteRequest; diff --git a/client/rest/build.gradle b/client/rest/build.gradle index ac489f58711..e9f1c35d5d3 100644 --- a/client/rest/build.gradle +++ b/client/rest/build.gradle @@ -19,6 +19,30 @@ import org.elasticsearch.gradle.precommit.PrecommitTasks +/** + * The rest client is a shaded jar. It contains the source of the rest client, as well as all the dependencies, + * shaded to the `org.elasticsearch.client` package. 3 artifacts come out of this build process. The shading process only + * modifies the imports and class names and locations. It does not do any processing on the files. The classes used to + * interact with the rest client are no different from the dependencies in the shade configuration, besides in name. + * + * IDEs do not like removing artifacts and changing configurations on the fly, so the bits that make the build use the + * actual shaded jar (3) are only executed on the cli. Tests run in an IDE rely on the deps (1) and nodeps (2) jars. + * + * 1) A jar that contains *only* the `org.elasticsearch.client` dependencies. This is a jar that is built before the src + * is compiled. This jar is only used by the rest client so its compilable. There exists a chicken-egg situation where + * the src needs compilation and depends on `org.elasticsearch.client` classes, so an intermediary jar needs to exist + * to satisfy the compile. The `deps` classifier is added to this jar. + * 2) The original src/ contents, using the `org.elasticsearch.client` packages, but without the `org.elasticsearch.client` + * code also in the jar. The reason this jar was not overwritten was because gradle knows what its inputs and outputs + * are for a given task and we should not alter that by overwriting the original jar. What we do is add a `nodeps` + * classifier to it instead. + * 3) The *actual* jar that will be used by clients. This has no classifier, contains the rest client src and + * `org.elasticsearch.client`. This jar is the only actual output artifact of this job. + */ +plugins { + id "com.github.johnrengelman.shadow" version "2.0.1" +} + apply plugin: 'elasticsearch.build' apply plugin: 'ru.vyarus.animalsniffer' apply plugin: 'nebula.maven-base-publish' @@ -38,13 +62,65 @@ publishing { } } +configurations { + shade { + transitive = false + } +} + +// Useful for build time dependencies, as it is generated before compilation of the source in the rest client. +// This cannot be used as the final shaded jar, as it will contain the compiled source and dependencies +File shadedDir = file("${buildDir}/shaded") +// This directory exists so that the shadeDeps task would produce an output, so we can add it (below) to the source set. +File shadedSrcDir = file("${buildDir}/generated-dummy-shaded") +task shadeDeps(type: com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) { + destinationDir = shadedDir + configurations = [project.configurations.shade] + classifier = 'deps' + relocate 'org.apache', 'org.elasticsearch.client' + + doLast { + shadedSrcDir.mkdir() + } +} + +// builds the actual shaded jar that is being distributed +shadowJar { + configurations = [project.configurations.shade] + classifier = null + relocate 'org.apache', 'org.elasticsearch.client' +} + +jar { + // move the default jar to another classifier so the jar with the shaded dependencies can have the empty classifier + classifier = 'nodeps' +} + +// Mangle this build so it outputs the correct artifacts +// readds the shadowJar output (the actual uber jar) but only from the cli +if (isIdea == false && isEclipse == false) { + // removes the -nodeps jar + configurations.runtime.artifacts.removeAll { it.archiveTask.is jar } + + // removes the runtime configuration inheritance from compile + configurations.runtime.extendsFrom -= [configurations.compile] + artifacts { + runtime project.tasks.shadowJar + } +} + +// adds a dependency to compile, so the -deps jar is built first +sourceSets.main.output.dir(shadedSrcDir, builtBy: 'shadeDeps') + dependencies { - compile "org.apache.httpcomponents:httpclient:${versions.httpclient}" - compile "org.apache.httpcomponents:httpcore:${versions.httpcore}" - compile "org.apache.httpcomponents:httpasyncclient:${versions.httpasyncclient}" - compile "org.apache.httpcomponents:httpcore-nio:${versions.httpcore}" - compile "commons-codec:commons-codec:${versions.commonscodec}" - compile "commons-logging:commons-logging:${versions.commonslogging}" + shade "org.apache.httpcomponents:httpclient:${versions.httpclient}" + shade "org.apache.httpcomponents:httpcore:${versions.httpcore}" + shade "org.apache.httpcomponents:httpasyncclient:${versions.httpasyncclient}" + shade "org.apache.httpcomponents:httpcore-nio:${versions.httpcore}" + shade "commons-codec:commons-codec:${versions.commonscodec}" + shade "commons-logging:commons-logging:${versions.commonslogging}" + + compile shadeDeps.outputs.files testCompile "org.elasticsearch.client:test:${version}" testCompile "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}" @@ -56,6 +132,8 @@ dependencies { signature "org.codehaus.mojo.signature:java17:1.0@signature" } +dependencyLicenses.dependencies = project.configurations.shade + forbiddenApisMain { //client does not depend on core, so only jdk and http signatures should be checked signaturesURLs = [PrecommitTasks.getResource('/forbidden/jdk-signatures.txt'), @@ -72,7 +150,7 @@ forbiddenApisTest { } //JarHell is part of es core, which we don't want to pull in -jarHell.enabled=false +jarHell.enabled = false namingConventions { testClass = 'org.elasticsearch.client.RestClientTestCase' @@ -82,13 +160,13 @@ namingConventions { thirdPartyAudit.excludes = [ //commons-logging optional dependencies - 'org.apache.avalon.framework.logger.Logger', - 'org.apache.log.Hierarchy', - 'org.apache.log.Logger', - 'org.apache.log4j.Category', - 'org.apache.log4j.Level', - 'org.apache.log4j.Logger', - 'org.apache.log4j.Priority', + 'org.elasticsearch.client.avalon.framework.logger.Logger', + 'org.elasticsearch.client.log.Hierarchy', + 'org.elasticsearch.client.log.Logger', + 'org.elasticsearch.client.log4j.Category', + 'org.elasticsearch.client.log4j.Level', + 'org.elasticsearch.client.log4j.Logger', + 'org.elasticsearch.client.log4j.Priority', //commons-logging provided dependencies 'javax.servlet.ServletContextEvent', 'javax.servlet.ServletContextListener' diff --git a/client/rest/src/main/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumer.java b/client/rest/src/main/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumer.java index 84753e6f75c..8873db60a83 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumer.java +++ b/client/rest/src/main/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumer.java @@ -19,24 +19,24 @@ package org.elasticsearch.client; -import org.apache.http.ContentTooLongException; -import org.apache.http.HttpEntity; -import org.apache.http.HttpException; -import org.apache.http.HttpResponse; -import org.apache.http.entity.ContentType; -import org.apache.http.nio.ContentDecoder; -import org.apache.http.nio.IOControl; -import org.apache.http.nio.entity.ContentBufferEntity; -import org.apache.http.nio.protocol.AbstractAsyncResponseConsumer; -import org.apache.http.nio.util.ByteBufferAllocator; -import org.apache.http.nio.util.HeapByteBufferAllocator; -import org.apache.http.nio.util.SimpleInputBuffer; -import org.apache.http.protocol.HttpContext; +import org.elasticsearch.client.http.ContentTooLongException; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpException; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.nio.ContentDecoder; +import org.elasticsearch.client.http.nio.IOControl; +import org.elasticsearch.client.http.nio.entity.ContentBufferEntity; +import org.elasticsearch.client.http.nio.protocol.AbstractAsyncResponseConsumer; +import org.elasticsearch.client.http.nio.util.ByteBufferAllocator; +import org.elasticsearch.client.http.nio.util.HeapByteBufferAllocator; +import org.elasticsearch.client.http.nio.util.SimpleInputBuffer; +import org.elasticsearch.client.http.protocol.HttpContext; import java.io.IOException; /** - * Default implementation of {@link org.apache.http.nio.protocol.HttpAsyncResponseConsumer}. Buffers the whole + * Default implementation of {@link org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer}. Buffers the whole * response content in heap memory, meaning that the size of the buffer is equal to the content-length of the response. * Limits the size of responses that can be read based on a configurable argument. Throws an exception in case the entity is longer * than the configured buffer limit. diff --git a/client/rest/src/main/java/org/elasticsearch/client/HttpAsyncResponseConsumerFactory.java b/client/rest/src/main/java/org/elasticsearch/client/HttpAsyncResponseConsumerFactory.java index 1af9e0dcf0f..7ea7cfbf3ac 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/HttpAsyncResponseConsumerFactory.java +++ b/client/rest/src/main/java/org/elasticsearch/client/HttpAsyncResponseConsumerFactory.java @@ -19,8 +19,8 @@ package org.elasticsearch.client; -import org.apache.http.HttpResponse; -import org.apache.http.nio.protocol.HttpAsyncResponseConsumer; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer; import static org.elasticsearch.client.HttpAsyncResponseConsumerFactory.HeapBufferedResponseConsumerFactory.DEFAULT_BUFFER_LIMIT; diff --git a/client/rest/src/main/java/org/elasticsearch/client/HttpDeleteWithEntity.java b/client/rest/src/main/java/org/elasticsearch/client/HttpDeleteWithEntity.java index df08ae5a8d1..9106426878f 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/HttpDeleteWithEntity.java +++ b/client/rest/src/main/java/org/elasticsearch/client/HttpDeleteWithEntity.java @@ -18,8 +18,8 @@ */ package org.elasticsearch.client; -import org.apache.http.client.methods.HttpDelete; -import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; +import org.elasticsearch.client.http.client.methods.HttpDelete; +import org.elasticsearch.client.http.client.methods.HttpEntityEnclosingRequestBase; import java.net.URI; diff --git a/client/rest/src/main/java/org/elasticsearch/client/HttpGetWithEntity.java b/client/rest/src/main/java/org/elasticsearch/client/HttpGetWithEntity.java index a3846beefe4..13dddfbb200 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/HttpGetWithEntity.java +++ b/client/rest/src/main/java/org/elasticsearch/client/HttpGetWithEntity.java @@ -18,8 +18,8 @@ */ package org.elasticsearch.client; -import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; -import org.apache.http.client.methods.HttpGet; +import org.elasticsearch.client.http.client.methods.HttpEntityEnclosingRequestBase; +import org.elasticsearch.client.http.client.methods.HttpGet; import java.net.URI; @@ -38,4 +38,4 @@ final class HttpGetWithEntity extends HttpEntityEnclosingRequestBase { public String getMethod() { return METHOD_NAME; } -} \ No newline at end of file +} diff --git a/client/rest/src/main/java/org/elasticsearch/client/RequestLogger.java b/client/rest/src/main/java/org/elasticsearch/client/RequestLogger.java index 07ff89b7e3f..5434176d654 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/RequestLogger.java +++ b/client/rest/src/main/java/org/elasticsearch/client/RequestLogger.java @@ -19,18 +19,18 @@ package org.elasticsearch.client; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.RequestLine; -import org.apache.http.client.methods.HttpUriRequest; -import org.apache.http.entity.BufferedHttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.commons.logging.Log; +import org.elasticsearch.client.commons.logging.LogFactory; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpEntityEnclosingRequest; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.client.methods.HttpUriRequest; +import org.elasticsearch.client.http.entity.BufferedHttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.util.EntityUtils; import java.io.BufferedReader; import java.io.IOException; diff --git a/client/rest/src/main/java/org/elasticsearch/client/Response.java b/client/rest/src/main/java/org/elasticsearch/client/Response.java index 02aedb4765a..fa8b8c849bd 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/Response.java +++ b/client/rest/src/main/java/org/elasticsearch/client/Response.java @@ -19,12 +19,12 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.RequestLine; -import org.apache.http.StatusLine; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.StatusLine; import java.util.Objects; diff --git a/client/rest/src/main/java/org/elasticsearch/client/ResponseException.java b/client/rest/src/main/java/org/elasticsearch/client/ResponseException.java index 2f22bfd50f4..1c1470ec8be 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/ResponseException.java +++ b/client/rest/src/main/java/org/elasticsearch/client/ResponseException.java @@ -19,9 +19,9 @@ package org.elasticsearch.client; -import org.apache.http.HttpEntity; -import org.apache.http.entity.BufferedHttpEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.BufferedHttpEntity; +import org.elasticsearch.client.http.util.EntityUtils; import java.io.IOException; diff --git a/client/rest/src/main/java/org/elasticsearch/client/RestClient.java b/client/rest/src/main/java/org/elasticsearch/client/RestClient.java index cc0f1b30896..f8e815fa878 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/RestClient.java +++ b/client/rest/src/main/java/org/elasticsearch/client/RestClient.java @@ -18,32 +18,32 @@ */ package org.elasticsearch.client; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpRequest; -import org.apache.http.HttpResponse; -import org.apache.http.client.AuthCache; -import org.apache.http.client.ClientProtocolException; -import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; -import org.apache.http.client.methods.HttpHead; -import org.apache.http.client.methods.HttpOptions; -import org.apache.http.client.methods.HttpPatch; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.methods.HttpTrace; -import org.apache.http.client.protocol.HttpClientContext; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.concurrent.FutureCallback; -import org.apache.http.impl.auth.BasicScheme; -import org.apache.http.impl.client.BasicAuthCache; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; -import org.apache.http.nio.client.methods.HttpAsyncMethods; -import org.apache.http.nio.protocol.HttpAsyncRequestProducer; -import org.apache.http.nio.protocol.HttpAsyncResponseConsumer; +import org.elasticsearch.client.commons.logging.Log; +import org.elasticsearch.client.commons.logging.LogFactory; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpRequest; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.client.AuthCache; +import org.elasticsearch.client.http.client.ClientProtocolException; +import org.elasticsearch.client.http.client.methods.HttpEntityEnclosingRequestBase; +import org.elasticsearch.client.http.client.methods.HttpHead; +import org.elasticsearch.client.http.client.methods.HttpOptions; +import org.elasticsearch.client.http.client.methods.HttpPatch; +import org.elasticsearch.client.http.client.methods.HttpPost; +import org.elasticsearch.client.http.client.methods.HttpPut; +import org.elasticsearch.client.http.client.methods.HttpRequestBase; +import org.elasticsearch.client.http.client.methods.HttpTrace; +import org.elasticsearch.client.http.client.protocol.HttpClientContext; +import org.elasticsearch.client.http.client.utils.URIBuilder; +import org.elasticsearch.client.http.concurrent.FutureCallback; +import org.elasticsearch.client.http.impl.auth.BasicScheme; +import org.elasticsearch.client.http.impl.client.BasicAuthCache; +import org.elasticsearch.client.http.impl.nio.client.CloseableHttpAsyncClient; +import org.elasticsearch.client.http.nio.client.methods.HttpAsyncMethods; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncRequestProducer; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer; import java.io.Closeable; import java.io.IOException; diff --git a/client/rest/src/main/java/org/elasticsearch/client/RestClientBuilder.java b/client/rest/src/main/java/org/elasticsearch/client/RestClientBuilder.java index 38c9cdbe6e6..bf645d4f1eb 100644 --- a/client/rest/src/main/java/org/elasticsearch/client/RestClientBuilder.java +++ b/client/rest/src/main/java/org/elasticsearch/client/RestClientBuilder.java @@ -19,14 +19,14 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; -import org.apache.http.nio.conn.SchemeIOSessionStrategy; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.client.config.RequestConfig; +import org.elasticsearch.client.http.impl.client.CloseableHttpClient; +import org.elasticsearch.client.http.impl.client.HttpClientBuilder; +import org.elasticsearch.client.http.impl.nio.client.CloseableHttpAsyncClient; +import org.elasticsearch.client.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.client.http.nio.conn.SchemeIOSessionStrategy; import java.security.AccessController; import java.security.PrivilegedAction; @@ -34,8 +34,8 @@ import java.util.Objects; /** * Helps creating a new {@link RestClient}. Allows to set the most common http client configuration options when internally - * creating the underlying {@link org.apache.http.nio.client.HttpAsyncClient}. Also allows to provide an externally created - * {@link org.apache.http.nio.client.HttpAsyncClient} in case additional customization is needed. + * creating the underlying {@link org.elasticsearch.client.http.nio.client.HttpAsyncClient}. Also allows to provide an externally created + * {@link org.elasticsearch.client.http.nio.client.HttpAsyncClient} in case additional customization is needed. */ public final class RestClientBuilder { public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS = 1000; @@ -237,7 +237,7 @@ public final class RestClientBuilder { public interface HttpClientConfigCallback { /** * Allows to customize the {@link CloseableHttpAsyncClient} being created and used by the {@link RestClient}. - * Commonly used to customize the default {@link org.apache.http.client.CredentialsProvider} for authentication + * Commonly used to customize the default {@link org.elasticsearch.client.http.client.CredentialsProvider} for authentication * or the {@link SchemeIOSessionStrategy} for communication through ssl without losing any other useful default * value that the {@link RestClientBuilder} internally sets, like connection pooling. */ diff --git a/client/rest/src/test/java/org/elasticsearch/client/FailureTrackingResponseListenerTests.java b/client/rest/src/test/java/org/elasticsearch/client/FailureTrackingResponseListenerTests.java index f6ec388d09d..ce3b2a31520 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/FailureTrackingResponseListenerTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/FailureTrackingResponseListenerTests.java @@ -19,14 +19,14 @@ package org.elasticsearch.client; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.RequestLine; -import org.apache.http.StatusLine; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicRequestLine; -import org.apache.http.message.BasicStatusLine; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicRequestLine; +import org.elasticsearch.client.http.message.BasicStatusLine; import java.util.concurrent.atomic.AtomicReference; diff --git a/client/rest/src/test/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumerTests.java b/client/rest/src/test/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumerTests.java index fe82d5367e5..b2b21557f4d 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumerTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/HeapBufferedAsyncResponseConsumerTests.java @@ -19,19 +19,19 @@ package org.elasticsearch.client; -import org.apache.http.ContentTooLongException; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.StatusLine; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.nio.ContentDecoder; -import org.apache.http.nio.IOControl; -import org.apache.http.nio.protocol.HttpAsyncResponseConsumer; -import org.apache.http.protocol.HttpContext; +import org.elasticsearch.client.http.ContentTooLongException; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.nio.ContentDecoder; +import org.elasticsearch.client.http.nio.IOControl; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer; +import org.elasticsearch.client.http.protocol.HttpContext; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; diff --git a/client/rest/src/test/java/org/elasticsearch/client/HostsTrackingFailureListener.java b/client/rest/src/test/java/org/elasticsearch/client/HostsTrackingFailureListener.java index e2f0ba81f6e..d09a8ae734a 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/HostsTrackingFailureListener.java +++ b/client/rest/src/test/java/org/elasticsearch/client/HostsTrackingFailureListener.java @@ -19,7 +19,7 @@ package org.elasticsearch.client; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import java.util.HashSet; import java.util.Set; @@ -48,4 +48,4 @@ class HostsTrackingFailureListener extends RestClient.FailureListener { void assertNotCalled() { assertEquals(0, hosts.size()); } -} \ No newline at end of file +} diff --git a/client/rest/src/test/java/org/elasticsearch/client/RequestLoggerTests.java b/client/rest/src/test/java/org/elasticsearch/client/RequestLoggerTests.java index 637e1807d25..4164bd0cd58 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RequestLoggerTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RequestLoggerTests.java @@ -19,27 +19,27 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpHost; -import org.apache.http.ProtocolVersion; -import org.apache.http.client.methods.HttpHead; -import org.apache.http.client.methods.HttpOptions; -import org.apache.http.client.methods.HttpPatch; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.client.methods.HttpTrace; -import org.apache.http.client.methods.HttpUriRequest; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.InputStreamEntity; -import org.apache.http.entity.StringEntity; -import org.apache.http.message.BasicHeader; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.nio.entity.NByteArrayEntity; -import org.apache.http.nio.entity.NStringEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpEntityEnclosingRequest; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.client.methods.HttpHead; +import org.elasticsearch.client.http.client.methods.HttpOptions; +import org.elasticsearch.client.http.client.methods.HttpPatch; +import org.elasticsearch.client.http.client.methods.HttpPost; +import org.elasticsearch.client.http.client.methods.HttpPut; +import org.elasticsearch.client.http.client.methods.HttpTrace; +import org.elasticsearch.client.http.client.methods.HttpUriRequest; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.InputStreamEntity; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.message.BasicHeader; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.nio.entity.NByteArrayEntity; +import org.elasticsearch.client.http.nio.entity.NStringEntity; +import org.elasticsearch.client.http.util.EntityUtils; import java.io.ByteArrayInputStream; import java.io.IOException; diff --git a/client/rest/src/test/java/org/elasticsearch/client/ResponseExceptionTests.java b/client/rest/src/test/java/org/elasticsearch/client/ResponseExceptionTests.java index 1638693a44f..1a632c96b9b 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/ResponseExceptionTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/ResponseExceptionTests.java @@ -19,19 +19,19 @@ package org.elasticsearch.client; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.RequestLine; -import org.apache.http.StatusLine; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.InputStreamEntity; -import org.apache.http.entity.StringEntity; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicRequestLine; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.InputStreamEntity; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicRequestLine; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.util.EntityUtils; import java.io.ByteArrayInputStream; import java.io.IOException; diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderIntegTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderIntegTests.java index 8142fea6d25..28b5f5935f7 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderIntegTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderIntegTests.java @@ -23,7 +23,7 @@ import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpsConfigurator; import com.sun.net.httpserver.HttpsServer; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement; import org.elasticsearch.mocksocket.MockHttpServer; import org.junit.AfterClass; diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderTests.java index c9243d3aaf6..6aea066e0ae 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientBuilderTests.java @@ -19,11 +19,11 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.client.config.RequestConfig; +import org.elasticsearch.client.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.client.http.message.BasicHeader; import java.io.IOException; diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsIntegTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsIntegTests.java index da5a960c2e8..d3b2c1b9b84 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsIntegTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsIntegTests.java @@ -22,7 +22,7 @@ package org.elasticsearch.client; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement; import org.elasticsearch.mocksocket.MockHttpServer; import org.junit.AfterClass; @@ -45,7 +45,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** - * Integration test to check interaction between {@link RestClient} and {@link org.apache.http.client.HttpClient}. + * Integration test to check interaction between {@link RestClient} and {@link org.elasticsearch.client.http.client.HttpClient}. * Works against real http servers, multiple hosts. Also tests failover by randomly shutting down hosts. */ //animal-sniffer doesn't like our usage of com.sun.net.httpserver.* classes diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsTests.java index 6f87a244ff5..94f5d05cdd8 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientMultipleHostsTests.java @@ -20,21 +20,21 @@ package org.elasticsearch.client; import com.carrotsearch.randomizedtesting.generators.RandomNumbers; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.StatusLine; -import org.apache.http.client.methods.HttpUriRequest; -import org.apache.http.client.protocol.HttpClientContext; -import org.apache.http.concurrent.FutureCallback; -import org.apache.http.conn.ConnectTimeoutException; -import org.apache.http.impl.auth.BasicScheme; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.nio.protocol.HttpAsyncRequestProducer; -import org.apache.http.nio.protocol.HttpAsyncResponseConsumer; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.client.methods.HttpUriRequest; +import org.elasticsearch.client.http.client.protocol.HttpClientContext; +import org.elasticsearch.client.http.concurrent.FutureCallback; +import org.elasticsearch.client.http.conn.ConnectTimeoutException; +import org.elasticsearch.client.http.impl.auth.BasicScheme; +import org.elasticsearch.client.http.impl.nio.client.CloseableHttpAsyncClient; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncRequestProducer; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer; import org.junit.Before; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostIntegTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostIntegTests.java index 6d4e3ba4bc8..fd27cd1ddb9 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostIntegTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostIntegTests.java @@ -23,16 +23,16 @@ import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; -import org.apache.http.Consts; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.Consts; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.auth.AuthScope; +import org.elasticsearch.client.http.auth.UsernamePasswordCredentials; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.client.http.util.EntityUtils; import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement; import org.elasticsearch.mocksocket.MockHttpServer; import org.junit.AfterClass; @@ -60,7 +60,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; /** - * Integration test to check interaction between {@link RestClient} and {@link org.apache.http.client.HttpClient}. + * Integration test to check interaction between {@link RestClient} and {@link org.elasticsearch.client.http.client.HttpClient}. * Works against a real http server, one single host. */ //animal-sniffer doesn't like our usage of com.sun.net.httpserver.* classes @@ -164,7 +164,7 @@ public class RestClientSingleHostIntegTests extends RestClientTestCase { /** * End to end test for headers. We test it explicitly against a real http client as there are different ways - * to set/add headers to the {@link org.apache.http.client.HttpClient}. + * to set/add headers to the {@link org.elasticsearch.client.http.client.HttpClient}. * Exercises the test http server ability to send back whatever headers it received. */ public void testHeaders() throws IOException { @@ -198,7 +198,7 @@ public class RestClientSingleHostIntegTests extends RestClientTestCase { /** * End to end test for delete with body. We test it explicitly as it is not supported - * out of the box by {@link org.apache.http.client.HttpClient}. + * out of the box by {@link org.elasticsearch.client.http.client.HttpClient}. * Exercises the test http server ability to send back whatever body it received. */ public void testDeleteWithBody() throws IOException { @@ -207,7 +207,7 @@ public class RestClientSingleHostIntegTests extends RestClientTestCase { /** * End to end test for get with body. We test it explicitly as it is not supported - * out of the box by {@link org.apache.http.client.HttpClient}. + * out of the box by {@link org.elasticsearch.client.http.client.HttpClient}. * Exercises the test http server ability to send back whatever body it received. */ public void testGetWithBody() throws IOException { diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostTests.java index 541193c733d..188e053b538 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientSingleHostTests.java @@ -19,34 +19,34 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpHost; -import org.apache.http.HttpRequest; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.StatusLine; -import org.apache.http.client.methods.HttpHead; -import org.apache.http.client.methods.HttpOptions; -import org.apache.http.client.methods.HttpPatch; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.client.methods.HttpTrace; -import org.apache.http.client.methods.HttpUriRequest; -import org.apache.http.client.protocol.HttpClientContext; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.concurrent.FutureCallback; -import org.apache.http.conn.ConnectTimeoutException; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.auth.BasicScheme; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.nio.protocol.HttpAsyncRequestProducer; -import org.apache.http.nio.protocol.HttpAsyncResponseConsumer; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpEntityEnclosingRequest; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpRequest; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.client.methods.HttpHead; +import org.elasticsearch.client.http.client.methods.HttpOptions; +import org.elasticsearch.client.http.client.methods.HttpPatch; +import org.elasticsearch.client.http.client.methods.HttpPost; +import org.elasticsearch.client.http.client.methods.HttpPut; +import org.elasticsearch.client.http.client.methods.HttpTrace; +import org.elasticsearch.client.http.client.methods.HttpUriRequest; +import org.elasticsearch.client.http.client.protocol.HttpClientContext; +import org.elasticsearch.client.http.client.utils.URIBuilder; +import org.elasticsearch.client.http.concurrent.FutureCallback; +import org.elasticsearch.client.http.conn.ConnectTimeoutException; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.impl.auth.BasicScheme; +import org.elasticsearch.client.http.impl.nio.client.CloseableHttpAsyncClient; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncRequestProducer; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer; +import org.elasticsearch.client.http.util.EntityUtils; import org.junit.Before; import org.mockito.ArgumentCaptor; import org.mockito.invocation.InvocationOnMock; diff --git a/client/rest/src/test/java/org/elasticsearch/client/RestClientTests.java b/client/rest/src/test/java/org/elasticsearch/client/RestClientTests.java index 6978aab58fe..35a0959814b 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/RestClientTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/RestClientTests.java @@ -19,9 +19,9 @@ package org.elasticsearch.client; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.impl.nio.client.CloseableHttpAsyncClient; import java.net.URI; import java.util.Collections; diff --git a/client/rest/src/test/java/org/elasticsearch/client/SyncResponseListenerTests.java b/client/rest/src/test/java/org/elasticsearch/client/SyncResponseListenerTests.java index 154efb4cac3..d4c15d97fe9 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/SyncResponseListenerTests.java +++ b/client/rest/src/test/java/org/elasticsearch/client/SyncResponseListenerTests.java @@ -19,14 +19,14 @@ package org.elasticsearch.client; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.RequestLine; -import org.apache.http.StatusLine; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicRequestLine; -import org.apache.http.message.BasicStatusLine; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicRequestLine; +import org.elasticsearch.client.http.message.BasicStatusLine; import java.io.IOException; import java.net.URISyntaxException; diff --git a/client/rest/src/test/java/org/elasticsearch/client/documentation/RestClientDocumentation.java b/client/rest/src/test/java/org/elasticsearch/client/documentation/RestClientDocumentation.java index 87558ca1781..461a24a6c1b 100644 --- a/client/rest/src/test/java/org/elasticsearch/client/documentation/RestClientDocumentation.java +++ b/client/rest/src/test/java/org/elasticsearch/client/documentation/RestClientDocumentation.java @@ -19,21 +19,21 @@ package org.elasticsearch.client.documentation; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.RequestLine; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.entity.ContentType; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; -import org.apache.http.impl.nio.reactor.IOReactorConfig; -import org.apache.http.message.BasicHeader; -import org.apache.http.nio.entity.NStringEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.RequestLine; +import org.elasticsearch.client.http.auth.AuthScope; +import org.elasticsearch.client.http.auth.UsernamePasswordCredentials; +import org.elasticsearch.client.http.client.CredentialsProvider; +import org.elasticsearch.client.http.client.config.RequestConfig; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.client.http.impl.nio.reactor.IOReactorConfig; +import org.elasticsearch.client.http.message.BasicHeader; +import org.elasticsearch.client.http.nio.entity.NStringEntity; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.HttpAsyncResponseConsumerFactory; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseListener; diff --git a/client/sniffer/build.gradle b/client/sniffer/build.gradle index f9a01903a31..a212bdd0f21 100644 --- a/client/sniffer/build.gradle +++ b/client/sniffer/build.gradle @@ -40,8 +40,6 @@ publishing { dependencies { compile "org.elasticsearch.client:elasticsearch-rest-client:${version}" - compile "org.apache.httpcomponents:httpclient:${versions.httpclient}" - compile "org.apache.httpcomponents:httpcore:${versions.httpcore}" compile "commons-codec:commons-codec:${versions.commonscodec}" compile "commons-logging:commons-logging:${versions.commonslogging}" compile "com.fasterxml.jackson.core:jackson-core:${versions.jackson}" diff --git a/client/sniffer/licenses/httpclient-4.5.2.jar.sha1 b/client/sniffer/licenses/httpclient-4.5.2.jar.sha1 deleted file mode 100644 index 6937112a09f..00000000000 --- a/client/sniffer/licenses/httpclient-4.5.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -733db77aa8d9b2d68015189df76ab06304406e50 \ No newline at end of file diff --git a/client/sniffer/licenses/httpclient-LICENSE.txt b/client/sniffer/licenses/httpclient-LICENSE.txt deleted file mode 100644 index 32f01eda18f..00000000000 --- a/client/sniffer/licenses/httpclient-LICENSE.txt +++ /dev/null @@ -1,558 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - -========================================================================= - -This project includes Public Suffix List copied from - -licensed under the terms of the Mozilla Public License, v. 2.0 - -Full license text: - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/client/sniffer/licenses/httpclient-NOTICE.txt b/client/sniffer/licenses/httpclient-NOTICE.txt deleted file mode 100644 index 91e5c40c4c6..00000000000 --- a/client/sniffer/licenses/httpclient-NOTICE.txt +++ /dev/null @@ -1,6 +0,0 @@ -Apache HttpComponents Client -Copyright 1999-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - diff --git a/client/sniffer/licenses/httpcore-4.4.5.jar.sha1 b/client/sniffer/licenses/httpcore-4.4.5.jar.sha1 deleted file mode 100644 index 58172660174..00000000000 --- a/client/sniffer/licenses/httpcore-4.4.5.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -e7501a1b34325abb00d17dde96150604a0658b54 \ No newline at end of file diff --git a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/ElasticsearchHostsSniffer.java b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/ElasticsearchHostsSniffer.java index 34a49883586..e924449d64d 100644 --- a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/ElasticsearchHostsSniffer.java +++ b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/ElasticsearchHostsSniffer.java @@ -24,8 +24,8 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; diff --git a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/HostsSniffer.java b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/HostsSniffer.java index 9eb7b344259..02c727a7b89 100644 --- a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/HostsSniffer.java +++ b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/HostsSniffer.java @@ -19,7 +19,7 @@ package org.elasticsearch.client.sniff; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import java.io.IOException; import java.util.List; diff --git a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/SniffOnFailureListener.java b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/SniffOnFailureListener.java index cbc77351de9..8510ddd2947 100644 --- a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/SniffOnFailureListener.java +++ b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/SniffOnFailureListener.java @@ -19,7 +19,7 @@ package org.elasticsearch.client.sniff; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.elasticsearch.client.RestClient; import java.util.Objects; diff --git a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/Sniffer.java b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/Sniffer.java index 89a7d9df8e6..c887be53ec4 100644 --- a/client/sniffer/src/main/java/org/elasticsearch/client/sniff/Sniffer.java +++ b/client/sniffer/src/main/java/org/elasticsearch/client/sniff/Sniffer.java @@ -21,7 +21,7 @@ package org.elasticsearch.client.sniff; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; diff --git a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/ElasticsearchHostsSnifferTests.java b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/ElasticsearchHostsSnifferTests.java index 5221b205dd4..531567d7915 100644 --- a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/ElasticsearchHostsSnifferTests.java +++ b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/ElasticsearchHostsSnifferTests.java @@ -27,9 +27,9 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; -import org.apache.http.Consts; -import org.apache.http.HttpHost; -import org.apache.http.client.methods.HttpGet; +import org.elasticsearch.client.http.Consts; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.client.methods.HttpGet; import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; diff --git a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/MockHostsSniffer.java b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/MockHostsSniffer.java index 5a52151d76e..50fd52869dd 100644 --- a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/MockHostsSniffer.java +++ b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/MockHostsSniffer.java @@ -19,7 +19,7 @@ package org.elasticsearch.client.sniff; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import java.io.IOException; import java.util.Collections; diff --git a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SniffOnFailureListenerTests.java b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SniffOnFailureListenerTests.java index 1fece270ffe..8aee847f911 100644 --- a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SniffOnFailureListenerTests.java +++ b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SniffOnFailureListenerTests.java @@ -19,7 +19,7 @@ package org.elasticsearch.client.sniff; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientTestCase; diff --git a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SnifferBuilderTests.java b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SnifferBuilderTests.java index 9a7359e9c72..ac54c633721 100644 --- a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SnifferBuilderTests.java +++ b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/SnifferBuilderTests.java @@ -20,7 +20,7 @@ package org.elasticsearch.client.sniff; import com.carrotsearch.randomizedtesting.generators.RandomNumbers; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientTestCase; diff --git a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/documentation/SnifferDocumentation.java b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/documentation/SnifferDocumentation.java index 199632d478f..790a7006a97 100644 --- a/client/sniffer/src/test/java/org/elasticsearch/client/sniff/documentation/SnifferDocumentation.java +++ b/client/sniffer/src/test/java/org/elasticsearch/client/sniff/documentation/SnifferDocumentation.java @@ -19,7 +19,7 @@ package org.elasticsearch.client.sniff.documentation; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.sniff.ElasticsearchHostsSniffer; import org.elasticsearch.client.sniff.HostsSniffer; diff --git a/client/test/build.gradle b/client/test/build.gradle index e57d415e9ea..771901b090d 100644 --- a/client/test/build.gradle +++ b/client/test/build.gradle @@ -18,7 +18,6 @@ */ import org.elasticsearch.gradle.precommit.PrecommitTasks -import org.gradle.api.JavaVersion apply plugin: 'elasticsearch.build' apply plugin: 'ru.vyarus.animalsniffer' @@ -27,7 +26,7 @@ targetCompatibility = JavaVersion.VERSION_1_7 sourceCompatibility = JavaVersion.VERSION_1_7 dependencies { - compile "org.apache.httpcomponents:httpcore:${versions.httpcore}" + compile "org.elasticsearch.client:elasticsearch-rest-client:${version}" compile "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}" compile "junit:junit:${versions.junit}" compile "org.hamcrest:hamcrest-all:${versions.hamcrest}" diff --git a/client/test/src/main/java/org/elasticsearch/client/RestClientTestCase.java b/client/test/src/main/java/org/elasticsearch/client/RestClientTestCase.java index 6a2a45ef281..76581ff2521 100644 --- a/client/test/src/main/java/org/elasticsearch/client/RestClientTestCase.java +++ b/client/test/src/main/java/org/elasticsearch/client/RestClientTestCase.java @@ -30,7 +30,7 @@ import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering; import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope; import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies; import com.carrotsearch.randomizedtesting.annotations.TimeoutSuite; -import org.apache.http.Header; +import org.elasticsearch.client.http.Header; import java.util.ArrayList; import java.util.HashMap; diff --git a/client/test/src/main/java/org/elasticsearch/client/RestClientTestUtil.java b/client/test/src/main/java/org/elasticsearch/client/RestClientTestUtil.java index a0a6641abbc..d9953b15e6d 100644 --- a/client/test/src/main/java/org/elasticsearch/client/RestClientTestUtil.java +++ b/client/test/src/main/java/org/elasticsearch/client/RestClientTestUtil.java @@ -22,8 +22,8 @@ package org.elasticsearch.client; import com.carrotsearch.randomizedtesting.generators.RandomNumbers; import com.carrotsearch.randomizedtesting.generators.RandomPicks; import com.carrotsearch.randomizedtesting.generators.RandomStrings; -import org.apache.http.Header; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.message.BasicHeader; import java.util.ArrayList; import java.util.Arrays; diff --git a/core/src/main/resources/org/elasticsearch/bootstrap/test-framework.policy b/core/src/main/resources/org/elasticsearch/bootstrap/test-framework.policy index 69881df232f..56c1eda3811 100644 --- a/core/src/main/resources/org/elasticsearch/bootstrap/test-framework.policy +++ b/core/src/main/resources/org/elasticsearch/bootstrap/test-framework.policy @@ -63,7 +63,6 @@ grant codeBase "${codebase.mocksocket-1.2.jar}" { permission java.net.SocketPermission "*", "accept,connect"; }; - grant codeBase "${codebase.elasticsearch-rest-client-6.0.0-beta1-SNAPSHOT.jar}" { // rest makes socket connections for rest tests permission java.net.SocketPermission "*", "connect"; @@ -71,6 +70,21 @@ grant codeBase "${codebase.elasticsearch-rest-client-6.0.0-beta1-SNAPSHOT.jar}" permission java.net.NetPermission "getProxySelector"; }; +// IDEs need this because they do not play nicely with removing artifacts on projects, +// so we keep it in here for IDE test support +grant codeBase "${codebase.elasticsearch-rest-client-6.0.0-beta1-SNAPSHOT-deps.jar}" { + // rest makes socket connections for rest tests + permission java.net.SocketPermission "*", "connect"; +}; + +// IDEs need this because they do not play nicely with removing artifacts on projects, +// so we keep it in here for IDE test support +grant codeBase "${codebase.elasticsearch-rest-client-6.0.0-beta1-SNAPSHOT-nodeps.jar}" { + // rest makes socket connections for rest tests + permission java.net.SocketPermission "*", "connect"; +}; + + grant codeBase "${codebase.httpcore-nio-4.4.5.jar}" { // httpcore makes socket connections for rest tests permission java.net.SocketPermission "*", "connect"; diff --git a/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/CreatedLocationHeaderIT.java b/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/CreatedLocationHeaderIT.java index c61b736bf6d..c124a0695c9 100644 --- a/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/CreatedLocationHeaderIT.java +++ b/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/CreatedLocationHeaderIT.java @@ -19,8 +19,8 @@ package org.elasticsearch.test.rest; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.client.Response; import java.io.IOException; diff --git a/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/NodeRestUsageIT.java b/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/NodeRestUsageIT.java index b94aa71b040..851d1ad8e51 100644 --- a/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/NodeRestUsageIT.java +++ b/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/NodeRestUsageIT.java @@ -19,8 +19,8 @@ package org.elasticsearch.test.rest; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; diff --git a/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/WaitForRefreshAndCloseTests.java b/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/WaitForRefreshAndCloseTests.java index 0b1ad2a6dd9..9bcee067cf1 100644 --- a/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/WaitForRefreshAndCloseTests.java +++ b/distribution/integ-test-zip/src/test/java/org/elasticsearch/test/rest/WaitForRefreshAndCloseTests.java @@ -19,10 +19,10 @@ package org.elasticsearch.test.rest; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.action.ActionFuture; import org.elasticsearch.action.support.PlainActionFuture; import org.elasticsearch.client.Response; diff --git a/modules/reindex/build.gradle b/modules/reindex/build.gradle index 7ca5289e55b..3642dbdd57e 100644 --- a/modules/reindex/build.gradle +++ b/modules/reindex/build.gradle @@ -54,7 +54,7 @@ thirdPartyAudit.excludes = [ // Commons logging 'javax.servlet.ServletContextEvent', 'javax.servlet.ServletContextListener', - 'org.apache.avalon.framework.logger.Logger', - 'org.apache.log.Hierarchy', - 'org.apache.log.Logger', + 'org.elasticsearch.client.avalon.framework.logger.Logger', + 'org.elasticsearch.client.log.Hierarchy', + 'org.elasticsearch.client.log.Logger', ] diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java index 737d885443a..77a3f19ddae 100644 --- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java @@ -19,14 +19,14 @@ package org.elasticsearch.index.reindex; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.apache.http.impl.nio.reactor.IOReactorConfig; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.auth.AuthScope; +import org.elasticsearch.client.http.auth.UsernamePasswordCredentials; +import org.elasticsearch.client.http.client.CredentialsProvider; +import org.elasticsearch.client.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.http.impl.nio.reactor.IOReactorConfig; +import org.elasticsearch.client.http.message.BasicHeader; import org.apache.logging.log4j.Logger; import org.apache.lucene.util.automaton.Automata; import org.apache.lucene.util.automaton.Automaton; diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuilders.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuilders.java index 50769cc9231..9f0beb2295a 100644 --- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuilders.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuilders.java @@ -19,10 +19,10 @@ package org.elasticsearch.index.reindex.remote; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ByteArrayEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.apache.lucene.util.BytesRef; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.Version; diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSource.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSource.java index 85173b7d899..700341b8a81 100644 --- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSource.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSource.java @@ -19,10 +19,10 @@ package org.elasticsearch.index.reindex.remote; -import org.apache.http.ContentTooLongException; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.ContentTooLongException; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.util.EntityUtils; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; import org.apache.logging.log4j.util.Supplier; diff --git a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuildersTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuildersTests.java index 9cb644162da..a65ef21663f 100644 --- a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuildersTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteRequestBuildersTests.java @@ -19,8 +19,8 @@ package org.elasticsearch.index.reindex.remote; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; import org.elasticsearch.Version; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.common.bytes.BytesArray; diff --git a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSourceTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSourceTests.java index f67a5b627fb..211dd5d0d00 100644 --- a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSourceTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/remote/RemoteScrollableHitSourceTests.java @@ -19,24 +19,24 @@ package org.elasticsearch.index.reindex.remote; -import org.apache.http.ContentTooLongException; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpHost; -import org.apache.http.HttpResponse; -import org.apache.http.ProtocolVersion; -import org.apache.http.StatusLine; -import org.apache.http.client.protocol.HttpClientContext; -import org.apache.http.concurrent.FutureCallback; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.InputStreamEntity; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.nio.client.CloseableHttpAsyncClient; -import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; -import org.apache.http.message.BasicHttpResponse; -import org.apache.http.message.BasicStatusLine; -import org.apache.http.nio.protocol.HttpAsyncRequestProducer; -import org.apache.http.nio.protocol.HttpAsyncResponseConsumer; +import org.elasticsearch.client.http.ContentTooLongException; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpEntityEnclosingRequest; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.HttpResponse; +import org.elasticsearch.client.http.ProtocolVersion; +import org.elasticsearch.client.http.StatusLine; +import org.elasticsearch.client.http.client.protocol.HttpClientContext; +import org.elasticsearch.client.http.concurrent.FutureCallback; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.InputStreamEntity; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.impl.nio.client.CloseableHttpAsyncClient; +import org.elasticsearch.client.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.client.http.message.BasicHttpResponse; +import org.elasticsearch.client.http.message.BasicStatusLine; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncRequestProducer; +import org.elasticsearch.client.http.nio.protocol.HttpAsyncResponseConsumer; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.Version; import org.elasticsearch.action.bulk.BackoffPolicy; diff --git a/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java b/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java index d1a5c15a29c..0079f147d9f 100644 --- a/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java +++ b/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java @@ -19,8 +19,8 @@ package org.elasticsearch.rest; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.client.Response; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.test.rest.ESRestTestCase; diff --git a/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java b/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java index 130080117d1..392ee54b8ad 100644 --- a/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java +++ b/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java @@ -19,10 +19,10 @@ package org.elasticsearch.upgrades; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.Version; import org.elasticsearch.client.Response; import org.elasticsearch.common.Booleans; diff --git a/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/IndexingIT.java b/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/IndexingIT.java index 6d285b3df1c..077a981b9b6 100644 --- a/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/IndexingIT.java +++ b/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/IndexingIT.java @@ -18,9 +18,9 @@ */ package org.elasticsearch.backwards; -import org.apache.http.HttpHost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.Version; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; diff --git a/qa/reindex-from-old/src/test/java/org/elasticsearch/smoketest/ReindexFromOldRemoteIT.java b/qa/reindex-from-old/src/test/java/org/elasticsearch/smoketest/ReindexFromOldRemoteIT.java index 162e68e4027..5506f3e0a6f 100644 --- a/qa/reindex-from-old/src/test/java/org/elasticsearch/smoketest/ReindexFromOldRemoteIT.java +++ b/qa/reindex-from-old/src/test/java/org/elasticsearch/smoketest/ReindexFromOldRemoteIT.java @@ -19,11 +19,11 @@ package org.elasticsearch.smoketest; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; import org.elasticsearch.test.rest.ESRestTestCase; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ContextAndHeaderTransportIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ContextAndHeaderTransportIT.java index 28b5825513f..ddf10132662 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ContextAndHeaderTransportIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ContextAndHeaderTransportIT.java @@ -19,7 +19,7 @@ package org.elasticsearch.http; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.message.BasicHeader; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.ActionRequest; import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsNotSetIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsNotSetIT.java index bdda44c1b71..b4fe7c86254 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsNotSetIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsNotSetIT.java @@ -19,7 +19,7 @@ package org.elasticsearch.http; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.message.BasicHeader; import org.elasticsearch.client.Response; import org.elasticsearch.test.ESIntegTestCase; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsRegexIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsRegexIT.java index 441f56a8631..efa93d4a54b 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsRegexIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/CorsRegexIT.java @@ -18,7 +18,7 @@ */ package org.elasticsearch.http; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.message.BasicHeader; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; import org.elasticsearch.common.network.NetworkModule; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DeprecationHttpIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DeprecationHttpIT.java index 948f573a05c..ac4e9cb6cd1 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DeprecationHttpIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DeprecationHttpIT.java @@ -18,10 +18,10 @@ */ package org.elasticsearch.http; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; import org.elasticsearch.client.Response; import org.elasticsearch.common.logging.DeprecationLogger; import org.elasticsearch.common.logging.LoggerMessageFormat; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsDisabledIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsDisabledIT.java index 380937ed010..e6eb8f16922 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsDisabledIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsDisabledIT.java @@ -22,7 +22,7 @@ package org.elasticsearch.http; import java.io.IOException; import java.util.Collections; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; import org.elasticsearch.common.network.NetworkModule; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsEnabledIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsEnabledIT.java index d0b80595a26..789d5475b22 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsEnabledIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/DetailedErrorsEnabledIT.java @@ -19,7 +19,7 @@ package org.elasticsearch.http; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/HttpCompressionIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/HttpCompressionIT.java index 20ddd0d230a..6838d860d70 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/HttpCompressionIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/HttpCompressionIT.java @@ -18,10 +18,10 @@ */ package org.elasticsearch.http; -import org.apache.http.HttpHeaders; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.HttpHeaders; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.message.BasicHeader; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; import org.elasticsearch.test.rest.ESRestTestCase; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ResponseHeaderPluginIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ResponseHeaderPluginIT.java index ffb23f31f40..ca717a3c36b 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ResponseHeaderPluginIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/ResponseHeaderPluginIT.java @@ -18,7 +18,7 @@ */ package org.elasticsearch.http; -import org.apache.http.message.BasicHeader; +import org.elasticsearch.client.http.message.BasicHeader; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; import org.elasticsearch.common.settings.Settings; diff --git a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/RestHttpResponseHeadersIT.java b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/RestHttpResponseHeadersIT.java index c9e7dc451a0..224518db668 100644 --- a/qa/smoke-test-http/src/test/java/org/elasticsearch/http/RestHttpResponseHeadersIT.java +++ b/qa/smoke-test-http/src/test/java/org/elasticsearch/http/RestHttpResponseHeadersIT.java @@ -17,7 +17,7 @@ package org.elasticsearch.http; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; import org.elasticsearch.test.rest.ESRestTestCase; diff --git a/qa/wildfly/src/test/java/org/elasticsearch/wildfly/WildflyIT.java b/qa/wildfly/src/test/java/org/elasticsearch/wildfly/WildflyIT.java index baf44ed777d..e71e6f0c5be 100644 --- a/qa/wildfly/src/test/java/org/elasticsearch/wildfly/WildflyIT.java +++ b/qa/wildfly/src/test/java/org/elasticsearch/wildfly/WildflyIT.java @@ -19,13 +19,13 @@ package org.elasticsearch.wildfly; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; +import org.elasticsearch.client.http.client.methods.CloseableHttpResponse; +import org.elasticsearch.client.http.client.methods.HttpGet; +import org.elasticsearch.client.http.client.methods.HttpPut; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.entity.StringEntity; +import org.elasticsearch.client.http.impl.client.CloseableHttpClient; +import org.elasticsearch.client.http.impl.client.HttpClientBuilder; import org.apache.lucene.util.LuceneTestCase; import org.elasticsearch.Build; import org.elasticsearch.Version; diff --git a/test/framework/build.gradle b/test/framework/build.gradle index b651fc2225c..cc132a9d718 100644 --- a/test/framework/build.gradle +++ b/test/framework/build.gradle @@ -20,6 +20,7 @@ import org.elasticsearch.gradle.precommit.PrecommitTasks; dependencies { + compile "org.elasticsearch.client:elasticsearch-rest-client:${version}" compile "org.elasticsearch:elasticsearch:${version}" compile "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}" compile "junit:junit:${versions.junit}" @@ -27,8 +28,6 @@ dependencies { compile "org.apache.lucene:lucene-test-framework:${versions.lucene}" compile "org.apache.lucene:lucene-codecs:${versions.lucene}" compile "org.elasticsearch.client:elasticsearch-rest-client:${version}" - compile "org.apache.httpcomponents:httpclient:${versions.httpclient}" - compile "org.apache.httpcomponents:httpcore:${versions.httpcore}" compile "commons-logging:commons-logging:${versions.commonslogging}" compile "commons-codec:commons-codec:${versions.commonscodec}" compile "org.elasticsearch:securemock:${versions.securemock}" diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java index ac378b1fa84..76970ef99a3 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java @@ -23,7 +23,7 @@ import com.carrotsearch.randomizedtesting.RandomizedContext; import com.carrotsearch.randomizedtesting.annotations.TestGroup; import com.carrotsearch.randomizedtesting.generators.RandomNumbers; import com.carrotsearch.randomizedtesting.generators.RandomPicks; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.apache.lucene.search.Sort; import org.apache.lucene.util.IOUtils; import org.apache.lucene.util.LuceneTestCase; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java index 97b58ceda72..3dde971c557 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java @@ -19,11 +19,11 @@ package org.elasticsearch.test.rest; -import org.apache.http.Header; -import org.apache.http.HttpHost; -import org.apache.http.message.BasicHeader; -import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy; -import org.apache.http.ssl.SSLContexts; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.message.BasicHeader; +import org.elasticsearch.client.http.nio.conn.ssl.SSLIOSessionStrategy; +import org.elasticsearch.client.http.ssl.SSLContexts; import org.apache.lucene.util.IOUtils; import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksAction; import org.elasticsearch.client.Response; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java index 68ae6fada49..579e573ed39 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java @@ -19,13 +19,13 @@ package org.elasticsearch.test.rest.yaml; import com.carrotsearch.randomizedtesting.RandomizedTest; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.entity.ContentType; -import org.apache.http.message.BasicHeader; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.HttpHost; +import org.elasticsearch.client.http.client.methods.HttpGet; +import org.elasticsearch.client.http.entity.ContentType; +import org.elasticsearch.client.http.message.BasicHeader; +import org.elasticsearch.client.http.util.EntityUtils; import org.apache.logging.log4j.Logger; import org.elasticsearch.Version; import org.elasticsearch.client.Response; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java index bea9aab3ff7..441411434fa 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java @@ -19,9 +19,9 @@ package org.elasticsearch.test.rest.yaml; import com.carrotsearch.randomizedtesting.RandomizedTest; -import org.apache.http.HttpEntity; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.entity.ContentType; +import org.elasticsearch.client.http.HttpEntity; +import org.elasticsearch.client.http.entity.ByteArrayEntity; +import org.elasticsearch.client.http.entity.ContentType; import org.apache.logging.log4j.Logger; import org.apache.lucene.util.BytesRef; import org.elasticsearch.Version; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java index 3f4d3c9dd9d..a41fd5f58c9 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java @@ -18,9 +18,9 @@ */ package org.elasticsearch.test.rest.yaml; -import org.apache.http.Header; -import org.apache.http.client.methods.HttpHead; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.Header; +import org.elasticsearch.client.http.client.methods.HttpHead; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.Response; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.xcontent.NamedXContentRegistry; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java index 3d60fdd2bac..467555a0680 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java @@ -31,7 +31,7 @@ import java.util.Map; import java.util.Set; import com.carrotsearch.randomizedtesting.RandomizedTest; -import org.apache.http.HttpHost; +import org.elasticsearch.client.http.HttpHost; import org.apache.lucene.util.IOUtils; import org.elasticsearch.Version; import org.elasticsearch.client.Response; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ObjectPath.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ObjectPath.java index 7b5952c7a5e..c5bbc2be0cc 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ObjectPath.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ObjectPath.java @@ -18,7 +18,7 @@ */ package org.elasticsearch.test.rest.yaml; -import org.apache.http.util.EntityUtils; +import org.elasticsearch.client.http.util.EntityUtils; import org.elasticsearch.client.Response; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java index 18784f5ce9a..66b77911cc0 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java @@ -18,8 +18,8 @@ */ package org.elasticsearch.test.rest.yaml.restspec; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; +import org.elasticsearch.client.http.client.methods.HttpPost; +import org.elasticsearch.client.http.client.methods.HttpPut; import java.util.ArrayList; import java.util.List; diff --git a/test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java b/test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java index 2150baf59ea..d77674bbc53 100644 --- a/test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java +++ b/test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java @@ -19,7 +19,7 @@ package org.elasticsearch.test.rest.yaml; -import org.apache.http.HttpEntity; +import org.elasticsearch.client.http.HttpEntity; import org.elasticsearch.test.ESTestCase; import java.io.IOException;