From ee5fec60880b9857de02a3712fe378f30e085de4 Mon Sep 17 00:00:00 2001 From: Matthieu Riviere Date: Wed, 9 May 2018 13:52:07 +0200 Subject: [PATCH] README, LICENSE, better build settings --- LICENSE | 21 +++++++++++++ README.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++ build.gradle | 21 +++++++------ gradle.properties | 1 + 4 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 gradle.properties diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e92b4d2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..49c9a07 --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +Elasticsearch Aggregation Envelope Plugin +========================================= + +The envelope aggregation plugin adds the possibility to compute convex envelope for geo points. + +This is a metric aggregation. + +| Envelope aggregation Plugin | elasticsearch | Release date | +|--------------------------------|-------------------|:------------:| +| 6.2.4 | 6.2.4 | | +| 1.2.0 | 1.4.0 -> master | 2014-11-27 | +| 1.1.0 | 1.3.0 | 2014-07-25 | +| 1.0.0 | 1.2.2 | 2014-07-16 | + + +Usage +----- + +```json +{ + "aggregations": { + "": { + "envelope": { + "field": "" + } + } + } +} +``` + +`field` must be of type geo_point. + +It returns a Geometry: + +- Point if the bucket contains only one unique point +- LineString if the bucket contains two unique points +- Polygon if the bucket contains more than three unique points + +For example : + +```json +{ + "type": "Polygon", + "coordinates": [ + [ + [ + 2.3561, + 48.8322 + ], + [ + 2.33, + 48.8493 + ], + [ + 2.3333, + 48.8667 + ], + [ + 2.3615, + 48.8637 + ], + [ + 2.3561, + 48.8322 + ] + ] + ] +} +``` +Installation +------------ + +`bin/plugin --install envelope_aggregation --url "https://github.com/opendatasoft/elasticsearch-aggregation-envelope/releases/download/v1.2.0/elasticsearch-envelope-aggregation-1.2.0.zip"` + +License +------- + +This software is under The MIT License (MIT) \ No newline at end of file diff --git a/build.gradle b/build.gradle index 2e87d02..a8bcad3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,11 @@ -def elasticVersion = '6.2.4' +Properties props = new Properties() +props.load(project.file('gradle.properties').newDataInputStream()) +def elasticVersion = props.getProperty('elasticVersion') buildscript { - def elasticVersion = '6.2.4' + Properties props = new Properties() + props.load(project.file('gradle.properties').newDataInputStream()) + def elasticVersion = props.getProperty('elasticVersion') repositories { mavenLocal() mavenCentral() @@ -24,14 +28,15 @@ esplugin { name 'envelope-aggregation' description 'Returns envelope of geo points' classname 'org.opendatasoft.elasticsearch.plugin.EnvelopeAggregation' + licenseFile = rootProject.file('LICENSE') } dependencies { compile "org.elasticsearch:elasticsearch:${elasticVersion}" // We need jts and spatial4j in the same version as what ES uses, to avoid // conflicts - //compile 'com.vividsolutions:jts:1.13' - //compile 'org.locationtech.spatial4j:spatial4j:0.6' + compile 'com.vividsolutions:jts:1.13' + compile 'org.locationtech.spatial4j:spatial4j:0.6' } test.enabled = true @@ -42,10 +47,8 @@ licenseHeaders.enabled = false // Use elasticsearch checkstyle rules checkstyleTest.enabled = true -// FIXME Dependency license check needs to be enabled -licenseFile = rootProject.file('../LICENSE') +licenseFile = rootProject.file('LICENSE') noticeFile = rootProject.file('README.md') -dependencyLicenses.enabled = false +dependencyLicenses.enabled = true -// FIXME thirdparty audit needs to be enabled -thirdPartyAudit.enabled = false +thirdPartyAudit.enabled = true diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..0485a93 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +elasticVersion = 6.2.4 \ No newline at end of file