<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<plugin id="indexer-elastic" name="ElasticIndexWriter" version="1.0.0"
  provider-name="nutch.apache.org">

  <runtime>
    <library name="indexer-elastic.jar">
      <export name="*" />
    </library>

    <!-- Elastic Rest Client Dependencies -->
    <library name="aggs-matrix-stats-client-7.3.0.jar"/>
    <library name="compiler-0.9.3.jar"/>
    <library name="elasticsearch-7.3.0.jar"/>
    <library name="elasticsearch-cli-7.3.0.jar"/>
    <library name="elasticsearch-core-7.3.0.jar"/>
    <library name="elasticsearch-geo-7.3.0.jar"/>
    <library name="elasticsearch-rest-client-7.3.0.jar"/>
    <library name="elasticsearch-rest-high-level-client-7.3.0.jar"/>
    <library name="elasticsearch-secure-sm-7.3.0.jar"/>
    <library name="elasticsearch-x-content-7.3.0.jar"/>
    <library name="HdrHistogram-2.1.9.jar"/>
    <library name="hppc-0.8.1.jar"/>
    <library name="httpasyncclient-4.1.4.jar"/>
    <library name="httpclient-4.5.8.jar"/>
    <library name="httpcore-4.4.11.jar"/>
    <library name="httpcore-nio-4.4.11.jar"/>
    <library name="jackson-core-2.8.11.jar"/>
    <library name="jackson-dataformat-cbor-2.8.11.jar"/>
    <library name="jackson-dataformat-smile-2.8.11.jar"/>
    <library name="jackson-dataformat-yaml-2.8.11.jar"/>
    <library name="jna-4.5.1.jar"/>
    <library name="joda-time-2.10.2.jar"/>
    <library name="jopt-simple-5.0.2.jar"/>
    <library name="lang-mustache-client-7.3.0.jar"/>
    <library name="log4j-api-2.11.1.jar"/>
    <library name="lucene-analyzers-common-8.1.0.jar"/>
    <library name="lucene-backward-codecs-8.1.0.jar"/>
    <library name="lucene-core-8.1.0.jar"/>
    <library name="lucene-grouping-8.1.0.jar"/>
    <library name="lucene-highlighter-8.1.0.jar"/>
    <library name="lucene-join-8.1.0.jar"/>
    <library name="lucene-memory-8.1.0.jar"/>
    <library name="lucene-misc-8.1.0.jar"/>
    <library name="lucene-queries-8.1.0.jar"/>
    <library name="lucene-queryparser-8.1.0.jar"/>
    <library name="lucene-sandbox-8.1.0.jar"/>
    <library name="lucene-spatial3d-8.1.0.jar"/>
    <library name="lucene-spatial-8.1.0.jar"/>
    <library name="lucene-spatial-extras-8.1.0.jar"/>
    <library name="lucene-suggest-8.1.0.jar"/>
    <library name="parent-join-client-7.3.0.jar"/>
    <library name="rank-eval-client-7.3.0.jar"/>
    <library name="snakeyaml-1.17.jar"/>
    <!-- end of Elastic Rest Client dependencies -->

  </runtime>

  <requires>
    <import plugin="nutch-extensionpoints" />
  </requires>

  <extension id="org.apache.nutch.indexer.elastic"
    name="Elasticsearch Index Writer"
    point="org.apache.nutch.indexer.IndexWriter">
    <implementation id="ElasticIndexWriter"
      class="org.apache.nutch.indexwriter.elastic.ElasticIndexWriter" />
  </extension>

</plugin>