This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/flume.git
The following commit(s) were added to refs/heads/trunk by this push:
new 88d2b95a6 FLUME-3456 - Create Bill of Materials. FLUME 3455 - Move
Twitter source to its own repo
88d2b95a6 is described below
commit 88d2b95a638df7d2dd8f4bbed0f82d4f75cea88d
Author: Ralph Goers <[email protected]>
AuthorDate: Sat Mar 18 23:02:53 2023 -0700
FLUME-3456 - Create Bill of Materials. FLUME 3455 - Move Twitter source to
its own repo
---
flume-bom/pom.xml | 236 +++
flume-ng-dist/pom.xml | 2 +-
flume-ng-sources/flume-twitter-source/pom.xml | 74 -
.../apache/flume/source/twitter/TwitterSource.java | 346 ----
.../flume/source/twitter/TestTwitterSource.java | 133 --
.../src/test/resources/log4j2.xml | 37 -
.../src/test/resources/twitter-flume.conf | 92 -
flume-ng-sources/pom.xml | 1 -
pom.xml => flume-parent/pom.xml | 51 +-
pom.xml | 1821 +-------------------
10 files changed, 251 insertions(+), 2542 deletions(-)
diff --git a/flume-bom/pom.xml b/flume-bom/pom.xml
new file mode 100644
index 000000000..1d0036497
--- /dev/null
+++ b/flume-bom/pom.xml
@@ -0,0 +1,236 @@
+<?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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <parent>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-project</artifactId>
+ <version>1.11.1-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-dependencies</artifactId>
+ <packaging>pom</packaging>
+
+ <name>Apache Flume Artifacts</name>
+
+ <properties>
+ <flume-hadoop.version>1.11.1-SNAPSHOT</flume-hadoop.version>
+ <flume-http.version>1.11.1-SNAPSHOT</flume-http.version>
+ <flume-irc.version>1.11.1-SNAPSHOT</flume-irc.version>
+ <flume-jdbc.version>1.11.1-SNAPSHOT</flume-jdbc.version>
+ <flume-jms.version>1.11.1-SNAPSHOT</flume-jms.version>
+ <flume-kafka.version>1.11.1-SNAPSHOT</flume-kafka.version>
+ <flume-log4jappender.version>1.11.1-SNAPSHOT</flume-log4jappender.version>
+ <flume-scribe.version>1.11.1-SNAPSHOT</flume-scribe.version>
+ <flume-spring-boot.version>2.0.0-SNAPSHOT</flume-spring-boot.version>
+ <flume-taildir.version>1.11.1-SNAPSHOT</flume-taildir.version>
+ <flume-tools.version>1.11.1-SNAPSHOT</flume-tools.version>
+ <flume-twitter.version>2.0.0-SNAPSHOT</flume-twitter.version>
+ <legacy.version>1.11.1-SNAPSHOT</legacy.version>
+ <morphline.version>1.11.1-SNAPSHOT</morphline.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-auth</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-configfilters</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-configuration</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-embedded-agent</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-config-filter-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-environment-variable-config-filter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-external-process-config-filter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-hadoop-credential-store-config-filter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-sdk</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-node</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-ng-sdk</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-spring-boot</artifactId>
+ <version>${flume-spring-boot.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-twitter-source</artifactId>
+ <version>${flume-twitter.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-channels</groupId>
+ <artifactId>flume-jdbc-channel</artifactId>
+ <version>$flume-jdbc.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-channels</groupId>
+ <artifactId>flume-file-channel</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-channels</groupId>
+ <artifactId>flume-kafka-channel</artifactId>
+ <version>${flume-kafka.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-channels</groupId>
+ <artifactId>flume-recoverable-memory-channel</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-channels</groupId>
+ <artifactId>flume-spillable-memory-channel</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-clients</groupId>
+ <artifactId>flume-ng-log4jappender</artifactId>
+ <version>${flume-log4jappender.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-legacy-sources</groupId>
+ <artifactId>flume-thrift-source</artifactId>
+ <version>${legacy.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-legacy-sources</groupId>
+ <artifactId>flume-avro-source</artifactId>
+ <version>${legacy.verison}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-ng-morphline-solr-sink</artifactId>
+ <version>${morphline.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-hdfs-sink</artifactId>
+ <version>${flume-hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-hive-sink</artifactId>
+ <version>${flume-hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-http-sink</artifactId>
+ <version>${flume-http.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-irc-sink</artifactId>
+ <version>${flume-irc.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-ng-hbase2-sink</artifactId>
+ <version>${flume-hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-ng-hbase-sink</artifactId>
+ <version>${flume-hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-ng-kafka-sink</artifactId>
+ <version>${flume-kafka.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sinks</groupId>
+ <artifactId>flume-ng-kudu-sink</artifactId>
+ <version>${flume-hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sources</groupId>
+ <artifactId>flume-jms-source</artifactId>
+ <version>${flume-jms.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sources</groupId>
+ <artifactId>flume-scribe-source</artifactId>
+ <version>${flume-scribe.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-ng-sources</groupId>
+ <artifactId>flume-taildir-source</artifactId>
+ <version>${flume-taildir.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume.flume-shared</groupId>
+ <artifactId>flume-shared-kafka</artifactId>
+ <version>${flume-kafka.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-tools</artifactId>
+ <version>${flume-tools.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
diff --git a/flume-ng-dist/pom.xml b/flume-ng-dist/pom.xml
index 7d6d9dbd1..60d30e19d 100644
--- a/flume-ng-dist/pom.xml
+++ b/flume-ng-dist/pom.xml
@@ -172,7 +172,7 @@
<artifactId>flume-jms-source</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
+ <groupId>org.apache.flume</groupId>
<artifactId>flume-twitter-source</artifactId>
</dependency>
<dependency>
diff --git a/flume-ng-sources/flume-twitter-source/pom.xml
b/flume-ng-sources/flume-twitter-source/pom.xml
deleted file mode 100644
index 814bf32cb..000000000
--- a/flume-ng-sources/flume-twitter-source/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>flume-ng-sources</artifactId>
- <groupId>org.apache.flume</groupId>
- <version>1.11.1-SNAPSHOT</version>
- </parent>
-
- <groupId>org.apache.flume.flume-ng-sources</groupId>
- <artifactId>flume-twitter-source</artifactId>
- <name>Flume Twitter Source</name>
-
- <properties>
- <!-- TODO fix spotbugs/pmd violations -->
- <spotbugs.maxAllowedViolations>4</spotbugs.maxAllowedViolations>
- <pmd.maxAllowedViolations>2</pmd.maxAllowedViolations>
- <module.name>org.apache.flume.source.twitter</module.name>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easytesting</groupId>
- <artifactId>fest-reflect</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-media-support</artifactId>
- </dependency>
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-stream</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- </build>
-</project>
diff --git
a/flume-ng-sources/flume-twitter-source/src/main/java/org/apache/flume/source/twitter/TwitterSource.java
b/flume-ng-sources/flume-twitter-source/src/main/java/org/apache/flume/source/twitter/TwitterSource.java
deleted file mode 100644
index 04849bb7b..000000000
---
a/flume-ng-sources/flume-twitter-source/src/main/java/org/apache/flume/source/twitter/TwitterSource.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * 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.
- */
-package org.apache.flume.source.twitter;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.text.DecimalFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.avro.Schema;
-import org.apache.avro.Schema.Field;
-import org.apache.avro.Schema.Type;
-import org.apache.avro.file.DataFileWriter;
-import org.apache.avro.generic.GenericData.Record;
-import org.apache.avro.generic.GenericDatumWriter;
-import org.apache.avro.generic.GenericRecord;
-import org.apache.flume.Context;
-import org.apache.flume.Event;
-import org.apache.flume.EventDrivenSource;
-import org.apache.flume.annotations.InterfaceAudience;
-import org.apache.flume.annotations.InterfaceStability;
-import org.apache.flume.conf.BatchSizeSupported;
-import org.apache.flume.conf.Configurable;
-import org.apache.flume.event.EventBuilder;
-import org.apache.flume.instrumentation.SourceCounter;
-import org.apache.flume.source.AbstractSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import twitter4j.MediaEntity;
-import twitter4j.StallWarning;
-import twitter4j.Status;
-import twitter4j.StatusDeletionNotice;
-import twitter4j.StatusListener;
-import twitter4j.TwitterStream;
-import twitter4j.TwitterStreamFactory;
-import twitter4j.User;
-import twitter4j.auth.AccessToken;
-
-/**
- * Demo Flume source that connects via Streaming API to the 1% sample twitter
- * firehose, continuously downloads tweets, converts them to Avro format and
- * sends Avro events to a downstream Flume sink.
- *
- * Requires the consumer and access tokens and secrets of a Twitter developer
- * account
- */
-
[email protected]
[email protected]
-public class TwitterSource
- extends AbstractSource
- implements EventDrivenSource, Configurable, StatusListener,
BatchSizeSupported {
-
- private TwitterStream twitterStream;
- private Schema avroSchema;
-
- private long docCount = 0;
- private long startTime = 0;
- private long exceptionCount = 0;
- private long totalTextIndexed = 0;
- private long skippedDocs = 0;
- private long batchEndTime = 0;
- private final List<Record> docs = new ArrayList<Record>();
- private final ByteArrayOutputStream serializationBuffer =
- new ByteArrayOutputStream();
- private DataFileWriter<GenericRecord> dataFileWriter;
-
- private int maxBatchSize = 1000;
- private int maxBatchDurationMillis = 1000;
-
- private SourceCounter sourceCounter;
-
- // Fri May 14 02:52:55 +0000 2010
- private SimpleDateFormat formatterTo =
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
- private DecimalFormat numFormatter = new DecimalFormat("###,###.###");
-
- private static int REPORT_INTERVAL = 100;
- private static int STATS_INTERVAL = REPORT_INTERVAL * 10;
- private static final Logger LOGGER =
- LoggerFactory.getLogger(TwitterSource.class);
-
- public TwitterSource() {
- }
-
- @Override
- public void configure(Context context) {
- String consumerKey = context.getString("consumerKey");
- String consumerSecret = context.getString("consumerSecret");
- String accessToken = context.getString("accessToken");
- String accessTokenSecret = context.getString("accessTokenSecret");
-
- twitterStream = new TwitterStreamFactory().getInstance();
- twitterStream.setOAuthConsumer(consumerKey, consumerSecret);
- twitterStream.setOAuthAccessToken(new AccessToken(accessToken,
- accessTokenSecret));
- twitterStream.addListener(this);
- avroSchema = createAvroSchema();
- dataFileWriter = new DataFileWriter<GenericRecord>(
- new GenericDatumWriter<GenericRecord>(avroSchema));
-
- maxBatchSize = context.getInteger("maxBatchSize", maxBatchSize);
- maxBatchDurationMillis = context.getInteger("maxBatchDurationMillis",
- maxBatchDurationMillis);
-
- if (sourceCounter == null) {
- sourceCounter = new SourceCounter(getName());
- }
- }
-
- @Override
- public synchronized void start() {
- LOGGER.info("Starting twitter source {} ...", this);
- docCount = 0;
- startTime = System.currentTimeMillis();
- exceptionCount = 0;
- totalTextIndexed = 0;
- skippedDocs = 0;
- batchEndTime = System.currentTimeMillis() + maxBatchDurationMillis;
- twitterStream.sample();
- LOGGER.info("Twitter source {} started.", getName());
- // This should happen at the end of the start method, since this will
- // change the lifecycle status of the component to tell the Flume
- // framework that this component has started. Doing this any earlier
- // tells the framework that the component started successfully, even
- // if the method actually fails later.
- super.start();
- }
-
- @Override
- public synchronized void stop() {
- LOGGER.info("Twitter source {} stopping...", getName());
- twitterStream.shutdown();
- super.stop();
- LOGGER.info("Twitter source {} stopped.", getName());
- }
-
- public void onStatus(Status status) {
- Record doc = extractRecord("", avroSchema, status);
- if (doc == null) {
- return; // skip
- }
- docs.add(doc);
- if (docs.size() >= maxBatchSize ||
- System.currentTimeMillis() >= batchEndTime) {
- sourceCounter.addToEventReceivedCount(docs.size());
- batchEndTime = System.currentTimeMillis() + maxBatchDurationMillis;
- byte[] bytes;
- try {
- bytes = serializeToAvro(avroSchema, docs);
- } catch (IOException e) {
- sourceCounter.incrementGenericProcessingFail();
- LOGGER.error("Exception while serializing tweet", e);
- return; //skip
- }
- Event event = EventBuilder.withBody(bytes);
- getChannelProcessor().processEvent(event); // send event to the flume
sink
- docs.clear();
- sourceCounter.addToEventAcceptedCount(docs.size());
- }
- docCount++;
- if ((docCount % REPORT_INTERVAL) == 0) {
- LOGGER.info(String.format("Processed %s docs",
- numFormatter.format(docCount)));
- }
- if ((docCount % STATS_INTERVAL) == 0) {
- logStats();
- }
- }
-
- private Schema createAvroSchema() {
- Schema avroSchema = Schema.createRecord("Doc", "adoc", null, false);
- List<Field> fields = new ArrayList<Field>();
- fields.add(new Field("id", Schema.create(Type.STRING), null, null));
- fields.add(new Field("user_friends_count",
- createOptional(Schema.create(Type.INT)),
- null, null));
- fields.add(new Field("user_location",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("user_description",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("user_statuses_count",
- createOptional(Schema.create(Type.INT)),
- null, null));
- fields.add(new Field("user_followers_count",
- createOptional(Schema.create(Type.INT)),
- null, null));
- fields.add(new Field("user_name",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("user_screen_name",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("created_at",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("text",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("retweet_count",
- createOptional(Schema.create(Type.LONG)),
- null, null));
- fields.add(new Field("retweeted",
- createOptional(Schema.create(Type.BOOLEAN)),
- null, null));
- fields.add(new Field("in_reply_to_user_id",
- createOptional(Schema.create(Type.LONG)),
- null, null));
- fields.add(new Field("source",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("in_reply_to_status_id",
- createOptional(Schema.create(Type.LONG)),
- null, null));
- fields.add(new Field("media_url_https",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- fields.add(new Field("expanded_url",
- createOptional(Schema.create(Type.STRING)),
- null, null));
- avroSchema.setFields(fields);
- return avroSchema;
- }
-
- private Record extractRecord(String idPrefix, Schema avroSchema, Status
status) {
- User user = status.getUser();
- Record doc = new Record(avroSchema);
-
- doc.put("id", idPrefix + status.getId());
- doc.put("created_at", formatterTo.format(status.getCreatedAt()));
- doc.put("retweet_count", Long.valueOf(status.getRetweetCount()));
- doc.put("retweeted", status.isRetweet());
- doc.put("in_reply_to_user_id", status.getInReplyToUserId());
- doc.put("in_reply_to_status_id", status.getInReplyToStatusId());
-
- addString(doc, "source", status.getSource());
- addString(doc, "text", status.getText());
-
- MediaEntity[] mediaEntities = status.getMediaEntities();
- if (mediaEntities.length > 0) {
- addString(doc, "media_url_https", mediaEntities[0].getMediaURLHttps());
- addString(doc, "expanded_url", mediaEntities[0].getExpandedURL());
- }
-
- doc.put("user_friends_count", user.getFriendsCount());
- doc.put("user_statuses_count", user.getStatusesCount());
- doc.put("user_followers_count", user.getFollowersCount());
- addString(doc, "user_location", user.getLocation());
- addString(doc, "user_description", user.getDescription());
- addString(doc, "user_screen_name", user.getScreenName());
- addString(doc, "user_name", user.getName());
- return doc;
- }
-
- private byte[] serializeToAvro(Schema avroSchema, List<Record> docList)
- throws IOException {
- serializationBuffer.reset();
- dataFileWriter.create(avroSchema, serializationBuffer);
- try {
- for (Record doc2 : docList) {
- dataFileWriter.append(doc2);
- }
- } finally {
- dataFileWriter.close();
- }
- return serializationBuffer.toByteArray();
- }
-
- private Schema createOptional(Schema schema) {
- return Schema.createUnion(Arrays.asList(
- new Schema[] { schema, Schema.create(Type.NULL) }));
- }
-
- private void addString(Record doc, String avroField, String val) {
- if (val == null) {
- return;
- }
- doc.put(avroField, val);
- totalTextIndexed += val.length();
- }
-
- private void logStats() {
- double mbIndexed = totalTextIndexed / (1024 * 1024.0);
- long seconds = (System.currentTimeMillis() - startTime) / 1000;
- seconds = Math.max(seconds, 1);
- LOGGER.info(String.format("Total docs indexed: %s, total skipped docs: %s",
- numFormatter.format(docCount),
numFormatter.format(skippedDocs)));
- LOGGER.info(String.format(" %s docs/second",
- numFormatter.format(docCount / seconds)));
- LOGGER.info(String.format("Run took %s seconds and processed:",
- numFormatter.format(seconds)));
- LOGGER.info(String.format(" %s MB/sec sent to index",
- numFormatter.format(((float) totalTextIndexed / (1024 * 1024))
/ seconds)));
- LOGGER.info(String.format(" %s MB text sent to index",
- numFormatter.format(mbIndexed)));
- LOGGER.info(String.format("There were %s exceptions ignored: ",
- numFormatter.format(exceptionCount)));
- }
-
- public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
- // Do nothing...
- }
-
- public void onScrubGeo(long userId, long upToStatusId) {
- // Do nothing...
- }
-
- public void onStallWarning(StallWarning warning) {
- // Do nothing...
- }
-
- public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
- // Do nothing...
- }
-
- public void onException(Exception e) {
- LOGGER.error("Exception while streaming tweets", e);
- }
-
- @Override
- public long getBatchSize() {
- return maxBatchSize;
- }
-}
diff --git
a/flume-ng-sources/flume-twitter-source/src/test/java/org/apache/flume/source/twitter/TestTwitterSource.java
b/flume-ng-sources/flume-twitter-source/src/test/java/org/apache/flume/source/twitter/TestTwitterSource.java
deleted file mode 100644
index 4ffe5e218..000000000
---
a/flume-ng-sources/flume-twitter-source/src/test/java/org/apache/flume/source/twitter/TestTwitterSource.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * 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.
- */
-package org.apache.flume.source.twitter;
-
-import static org.fest.reflect.core.Reflection.field;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.text.SimpleDateFormat;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
-import org.apache.flume.Channel;
-import org.apache.flume.ChannelSelector;
-import org.apache.flume.Context;
-import org.apache.flume.Sink;
-import org.apache.flume.SinkRunner;
-import org.apache.flume.channel.ChannelProcessor;
-import org.apache.flume.channel.MemoryChannel;
-import org.apache.flume.channel.ReplicatingChannelSelector;
-import org.apache.flume.conf.Configurables;
-import org.apache.flume.instrumentation.ChannelCounter;
-import org.apache.flume.instrumentation.SourceCounter;
-import org.apache.flume.sink.DefaultSinkProcessor;
-import org.apache.flume.sink.LoggerSink;
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-public class TestTwitterSource extends Assert {
-
- @BeforeClass
- public static void setUp() {
- try {
- Assume.assumeNotNull(InetAddress.getByName("stream.twitter.com"));
- } catch (UnknownHostException e) {
- Assume.assumeTrue(false); // ignore Test if twitter is unreachable
- }
- }
-
- @Test
- public void testBasic() throws Exception {
- String consumerKey = System.getProperty("twitter.consumerKey");
- Assume.assumeNotNull(consumerKey);
-
- String consumerSecret = System.getProperty("twitter.consumerSecret");
- Assume.assumeNotNull(consumerSecret);
-
- String accessToken = System.getProperty("twitter.accessToken");
- Assume.assumeNotNull(accessToken);
-
- String accessTokenSecret = System.getProperty("twitter.accessTokenSecret");
- Assume.assumeNotNull(accessTokenSecret);
-
- Context context = new Context();
- context.put("consumerKey", consumerKey);
- context.put("consumerSecret", consumerSecret);
- context.put("accessToken", accessToken);
- context.put("accessTokenSecret", accessTokenSecret);
- context.put("maxBatchDurationMillis", "1000");
- context.put("maxBatchSize", "1");
-
- TwitterSource source = new TwitterSource();
- source.configure(context);
-
- Map<String, String> channelContext = new HashMap();
- channelContext.put("capacity", "1000000");
- channelContext.put("keep-alive", "0"); // for faster tests
- Channel channel = new MemoryChannel();
- Configurables.configure(channel, new Context(channelContext));
-
- Sink sink = new LoggerSink();
- sink.setChannel(channel);
- sink.start();
- DefaultSinkProcessor proc = new DefaultSinkProcessor();
- proc.setSinks(Collections.singletonList(sink));
- SinkRunner sinkRunner = new SinkRunner(proc);
- sinkRunner.start();
-
- ChannelSelector rcs = new ReplicatingChannelSelector();
- rcs.setChannels(Collections.singletonList(channel));
- ChannelProcessor chp = new ChannelProcessor(rcs);
- source.setChannelProcessor(chp);
- source.start();
-
- Thread.sleep(5000);
- source.stop();
- sinkRunner.stop();
- sink.stop();
-
- long successfulEvents =
getTwitterCounterGroup(source).getEventReceivedCount();
- long receivedEvents =
getTwitterCounterGroup(source).getEventReceivedCount();
- long channelEvents =
getMemoryChannelCounterGroup((MemoryChannel)channel).getEventPutAttemptCount();
-
- assertEquals("Received vs. Success:", receivedEvents, successfulEvents);
- assertEquals("Success vs. Channel", channelEvents, successfulEvents);
-
- }
-
- private SourceCounter getTwitterCounterGroup(TwitterSource source) {
- return field("sourceCounter").ofType(SourceCounter.class).in(source).get();
- }
-
-
- private ChannelCounter getMemoryChannelCounterGroup(MemoryChannel source) {
- return
field("channelCounter").ofType(ChannelCounter.class).in(source).get();
- }
-
- @Test
- public void testCarrotDateFormatBug() throws Exception {
- SimpleDateFormat formatterFrom = new SimpleDateFormat("EEE MMM dd HH:mm:ss
Z yyyy", Locale.ENGLISH);
- formatterFrom.parse("Fri Oct 26 22:53:55 +0000 2012");
- }
-
-}
diff --git
a/flume-ng-sources/flume-twitter-source/src/test/resources/log4j2.xml
b/flume-ng-sources/flume-twitter-source/src/test/resources/log4j2.xml
deleted file mode 100644
index 0f3d3841d..000000000
--- a/flume-ng-sources/flume-twitter-source/src/test/resources/log4j2.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?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.
-
--->
-<Configuration status="OFF">
- <Appenders>
- <Console name="Console" target="SYSTEM_OUT">
- <PatternLayout pattern="%-4r [%t] %-5p %c %x - %m%n" />
- </Console>
- </Appenders>
- <Loggers>
- <Logger name="org.apache.flume.sink" level="INFO"/>
- <Logger name="org.apache.solr" level="INFO"/>
- <Logger name="org.apache.solr.morphline" level="DEBUG"/>
- <Logger name="org.apache.solr" level="DEBUG"/>
- <Logger name="org.apache.solr.update.processor.LogUpdateProcessor"
level="WARN"/>
- <Logger name="org.apache.solr.core.SolrCore" level="WARN"/>
- <Logger name="org.apache.solr.search.SolrIndexSearcher" level="ERROR"/>
- <Root level="WARN">
- <AppenderRef ref="Console" />
- </Root>
- </Loggers>
-</Configuration>
\ No newline at end of file
diff --git
a/flume-ng-sources/flume-twitter-source/src/test/resources/twitter-flume.conf
b/flume-ng-sources/flume-twitter-source/src/test/resources/twitter-flume.conf
deleted file mode 100644
index 72fe4efc9..000000000
---
a/flume-ng-sources/flume-twitter-source/src/test/resources/twitter-flume.conf
+++ /dev/null
@@ -1,92 +0,0 @@
-# Licensed 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.
-
-
-# The configuration file needs to define the sources,
-# the channels and the sinks.
-# Sources, channels and sinks are defined per agent,
-# in this case called 'agent'
-
-agent.sources = twitterSrc
-#agent.sources = httpSrc
-#agent.sources = spoolSrc
-#agent.sources = avroSrc
-agent.channels = memoryChannel
-agent.sinks = solrSink
-#agent.sinks = loggerSink
-
-agent.sources.twitterSrc.type = org.apache.flume.source.twitter.TwitterSource
-agent.sources.twitterSrc.consumerKey = YOUR_TWITTER_CONSUMER_KEY
-agent.sources.twitterSrc.consumerSecret = YOUR_TWITTER_CONSUMER_SECRET
-agent.sources.twitterSrc.accessToken = YOUR_TWITTER_ACCESS_TOKEN
-agent.sources.twitterSrc.accessTokenSecret = YOUR_TWITTER_ACCESS_TOKEN_SECRET
-agent.sources.twitterSrc.maxBatchDurationMillis = 200
-agent.sources.twitterSrc.channels = memoryChannel
-
-agent.sources.httpSrc.type = org.apache.flume.source.http.HTTPSource
-agent.sources.httpSrc.port = 5140
-agent.sources.httpSrc.handler =
org.apache.flume.sink.solr.morphline.BlobHandler
-agent.sources.httpSrc.handler.maxBlobLength = 2000000000
-#agent.sources.httpSrc.interceptors = uuidinterceptor
-#agent.sources.httpSrc.interceptors.uuidinterceptor.type =
org.apache.flume.sink.solr.morphline.UUIDInterceptor$Builder
-#agent.sources.httpSrc.interceptors.uuidinterceptor.headerName = id
-##agent.sources.httpSrc.interceptors.uuidinterceptor.preserveExisting = false
-##agent.sources.httpSrc.interceptors.uuidinterceptor.prefix = myhostname
-agent.sources.httpSrc.channels = memoryChannel
-
-agent.sources.spoolSrc.type = spooldir
-agent.sources.spoolSrc.spoolDir = /tmp/myspooldir
-agent.sources.spoolSrc.ignorePattern = \.
-agent.sources.spoolSrc.deserializer =
org.apache.flume.sink.solr.morphline.BlobDeserializer$Builder
-agent.sources.spoolSrc.deserializer.maxBlobLength = 2000000000
-agent.sources.spoolSrc.batchSize = 1
-agent.sources.spoolSrc.fileHeader = true
-agent.sources.spoolSrc.fileHeaderKey = resourceName
-#agent.sources.spoolSrc.interceptors = uuidinterceptor
-#agent.sources.spoolSrc.interceptors.uuidinterceptor.type =
org.apache.flume.sink.solr.morphline.UUIDInterceptor$Builder
-#agent.sources.spoolSrc.interceptors.uuidinterceptor.headerName = id
-##agent.sources.spoolSrc.interceptors.uuidinterceptor.preserveExisting = false
-##agent.sources.spoolSrc.interceptors.uuidinterceptor.prefix = myhostname
-agent.sources.spoolSrc.channels = memoryChannel
-
-agent.sources.avroSrc.type = avro
-agent.sources.avroSrc.bind = 127.0.0.1
-agent.sources.avroSrc.port = 10000
-agent.sources.avroSrc.channels = memoryChannel
-agent.sources.avroSrc.interceptors = uuidinterceptor
-agent.sources.avroSrc.interceptors.uuidinterceptor.type =
org.apache.flume.sink.solr.morphline.UUIDInterceptor$Builder
-agent.sources.avroSrc.interceptors.uuidinterceptor.headerName = id
-#agent.sources.avroSrc.interceptors.uuidinterceptor.preserveExisting = false
-#agent.sources.avroSrc.interceptors.uuidinterceptor.prefix = myhostname
-#agent.sources.avroSrc.interceptors = morphlineinterceptor
-#agent.sources.avroSrc.interceptors.morphlineinterceptor.type =
org.apache.flume.sink.solr.morphline.MorphlineInterceptor$Builder
-#agent.sources.avroSrc.interceptors.morphlineinterceptor.morphlineFile =
/etc/flume-ng/conf/morphline.conf
-#agent.sources.avroSrc.interceptors.morphlineinterceptor.morphlineId =
morphline1
-
-agent.channels.memoryChannel.type = memory
-agent.channels.memoryChannel.capacity = 10000
-agent.channels.memoryChannel.transactionCapacity = 1000
-
-#agent.channels.fileChannel.type = file
-#agent.channels.fileChannel.capacity = 1000000
-#agent.channels.fileChannel.transactionCapacity = 1000
-#agent.channels.fileChannel.write-timeout = 1
-
-agent.sinks.solrSink.type =
org.apache.flume.sink.solr.morphline.MorphlineSolrSink
-agent.sinks.solrSink.channel = memoryChannel
-#agent.sinks.solrSink.batchSize = 1000
-#agent.sinks.solrSink.batchDurationMillis = 1000
-agent.sinks.solrSink.morphlineFile = /etc/flume-ng/conf/morphline.conf
-#agent.sinks.solrSink.morphlineId = morphline1
-
-#agent.sinks.loggerSink.type = logger
-#agent.sinks.loggerSink.channel = memoryChannel
diff --git a/flume-ng-sources/pom.xml b/flume-ng-sources/pom.xml
index 7e8e34356..cc4bd95ab 100644
--- a/flume-ng-sources/pom.xml
+++ b/flume-ng-sources/pom.xml
@@ -34,7 +34,6 @@ limitations under the License.
<modules>
<module>flume-scribe-source</module>
<module>flume-jms-source</module>
- <module>flume-twitter-source</module>
<module>flume-kafka-source</module>
<module>flume-taildir-source</module>
</modules>
diff --git a/pom.xml b/flume-parent/pom.xml
similarity index 97%
copy from pom.xml
copy to flume-parent/pom.xml
index 0e5d1a60e..d46a7d1b8 100644
--- a/pom.xml
+++ b/flume-parent/pom.xml
@@ -124,8 +124,7 @@ limitations under the License.
<slf4j.version>1.7.32</slf4j.version>
<system-rules.version>1.17.0</system-rules.version>
<thrift.version>0.14.2</thrift.version>
- <twitter4j.version>4.0.7</twitter4j.version>
- <twitter4j-media.version>4.0.6</twitter4j-media.version>
+ <twitter-source.version>2.0.0</twitter-source.version>
<wiremock.version>1.53</wiremock.version>
<zlib.version>1.1.3</zlib.version>
<zookeeper.version>3.6.2</zookeeper.version>
@@ -133,26 +132,6 @@ limitations under the License.
<redirectTestOutput>true</redirectTestOutput>
</properties>
- <modules>
- <module>flume-ng-core</module>
- <module>flume-ng-configuration</module>
- <module>flume-ng-embedded-agent</module>
- <module>flume-ng-sinks</module>
- <module>flume-ng-sources</module>
- <module>flume-ng-node</module>
- <module>flume-ng-dist</module>
- <module>flume-ng-channels</module>
- <module>flume-ng-legacy-sources</module>
- <module>flume-ng-clients</module>
- <module>flume-ng-sdk</module>
- <module>flume-ng-tests</module>
- <module>flume-tools</module>
- <module>flume-ng-auth</module>
- <module>flume-shared</module>
- <module>flume-ng-configfilters</module>
- <module>build-support</module>
- </modules>
-
<profiles>
<profile>
@@ -756,6 +735,13 @@ limitations under the License.
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>org.apache.flume</groupId>
+ <artifactId>flume-dependencies</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
<!-- Dependencies: build -->
<dependency>
<groupId>junit</groupId>
@@ -1206,9 +1192,9 @@ limitations under the License.
</dependency>
<dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
+ <groupId>org.apache.flume</groupId>
<artifactId>flume-twitter-source</artifactId>
- <version>${project.version}</version>
+ <version>${twitter-source.version}</version>
</dependency>
<dependency>
@@ -1362,23 +1348,6 @@ limitations under the License.
<version>${solr-global.version}</version>
</dependency>
- <!-- Dependencies of the Twitter source -->
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-core</artifactId>
- <version>${twitter4j.version}</version>
- </dependency>
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-media-support</artifactId>
- <version>${twitter4j-media.version}</version>
- </dependency>
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-stream</artifactId>
- <version>${twitter4j.version}</version>
- </dependency>
-
<!-- Dependencies of Kafka source -->
<dependency>
<groupId>org.apache.kafka</groupId>
diff --git a/pom.xml b/pom.xml
index 0e5d1a60e..13537d27f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,114 +26,15 @@ limitations under the License.
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.flume</groupId>
- <artifactId>flume-parent</artifactId>
+ <artifactId>flume-project</artifactId>
<version>1.11.1-SNAPSHOT</version>
<packaging>pom</packaging>
- <name>Apache Flume</name>
-
- <properties>
- <!-- Update for year of distribution. Should be set by the
maven-release-plugin at release time. -->
-
<project.build.outputTimestamp>2022-01-02T00:00:00Z</project.build.outputTimestamp>
- <!-- Set default encoding to UTF-8 to remove maven complaints -->
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
- <!-- Java compiler configuration -->
- <sourceJavaVersion>1.8</sourceJavaVersion>
- <targetJavaVersion>1.8</targetJavaVersion>
-
- <!-- Signing User for release -->
- <GPGSigningUserName>[email protected]</GPGSigningUserName>
-
- <!-- defaults for flaky test and focused test exclusions -->
- <test.exclude.pattern>$</test.exclude.pattern> <!-- junk pattern -->
- <test.include.pattern>**/Test*.java</test.include.pattern>
- <stagingDirectory>${project.basedir}/target/docs</stagingDirectory>
-
- <activemq.version>5.7.0</activemq.version>
- <asynchbase.version>1.8.2</asynchbase.version>
- <avro.version>1.11.0</avro.version>
- <bundle-plugin.version>2.3.7</bundle-plugin.version>
- <checkstyle.tool.version>8.45.1</checkstyle.tool.version>
- <commons-cli.version>1.5.0</commons-cli.version>
- <commons-codec.version>1.15</commons-codec.version>
- <commons-collections.version>3.2.2</commons-collections.version>
- <commons-compress.version>1.21</commons-compress.version>
- <commons-dbcp.version>1.4</commons-dbcp.version>
- <commons-io.version>2.11.0</commons-io.version>
- <commons-lang.version>2.6</commons-lang.version>
- <commons-text.version>1.10.0</commons-text.version>
- <curator.version>5.1.0</curator.version>
- <derby.version>10.14.2.0</derby.version>
- <dropwizard-metrics.version>4.1.18</dropwizard-metrics.version>
- <fasterxml.jackson.version>2.13.2</fasterxml.jackson.version>
-
<fasterxml.jackson.databind.version>2.13.2.1</fasterxml.jackson.databind.version>
- <fest-reflect.version>1.4</fest-reflect.version>
- <geronimo-jms.version>1.1.1</geronimo-jms.version>
- <gson.version>2.9.1</gson.version>
- <guava.version>18.0</guava.version>
- <guava-old.version>11.0.2</guava-old.version>
- <hadoop.version>2.10.1</hadoop.version>
- <hbase.version>1.7.1</hbase.version>
- <hbase2.version>2.4.11</hbase2.version>
- <hive.version>1.2.2</hive.version>
- <httpcore.version>4.4.15</httpcore.version>
- <httpclient.version>4.5.13</httpclient.version>
- <irclib.version>1.10</irclib.version>
- <jersey.version>1.8</jersey.version>
- <jetty.version>9.4.41.v20210516</jetty.version>
- <jdom.version>1.1.3</jdom.version>
- <joda-time.version>2.9.9</joda-time.version>
- <junit.version>4.13.2</junit.version>
- <kafka.version>3.3.1</kafka.version>
- <kite.version>1.1.0</kite.version>
- <kudu.version>1.10.0</kudu.version>
- <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
- <log4j.version>2.18.0</log4j.version>
- <mapdb.version>0.9.9</mapdb.version>
- <mina.version>2.1.5</mina.version>
- <mockito.version>1.9.0</mockito.version>
- <mvn-antrun-plugin.version>1.8</mvn-antrun-plugin.version>
- <!-- Do not upgrade the assumbly plugin version until MASSEMBLY-941 is
fixed -->
- <mvn-assembly-plugin.version>3.1.0</mvn-assembly-plugin.version>
- <mvn-build-helper-plugin>3.0.0</mvn-build-helper-plugin>
- <mvn-checkstyle-plugin.version>3.1.2</mvn-checkstyle-plugin.version>
- <mvn-checksum-plugin.version>1.7</mvn-checksum-plugin.version>
- <mvn-clean-plugin.version>3.1.0</mvn-clean-plugin.version>
- <mvn-compiler-plugin.version>3.8.1</mvn-compiler-plugin.version>
- <mvn-deploy-plugin.version>2.8.2</mvn-deploy-plugin.version>
- <mvn-gpg-plugin.version>1.6</mvn-gpg-plugin.version>
- <mvn-jar-plugin.version>3.2.2</mvn-jar-plugin.version>
- <mvn-javadoc-plugin.version>2.9</mvn-javadoc-plugin.version>
- <mvn-paranamer-plugin.version>2.8</mvn-paranamer-plugin.version>
- <mvn-pmd-plugin.version>3.15.0</mvn-pmd-plugin.version>
- <mvn-site-plugin.version>3.7.1</mvn-site-plugin.version>
- <mvn-spotbugs-plugin.version>4.2.0</mvn-spotbugs-plugin.version>
- <mvn-surefire-plugin.version>2.22.2</mvn-surefire-plugin.version>
- <!--<netty.version>3.10.6.Final</netty.version>-->
- <netty-all.version>4.1.72.Final</netty-all.version>
- <parquet.version>1.11.2</parquet.version>
- <external.protobuf.version>2.5.0</external.protobuf.version>
- <protobuf.plugin.version>0.6.1</protobuf.plugin.version>
- <prometheus.version>0.15.0</prometheus.version>
- <rat.version>0.12</rat.version>
- <scala.version>2.13</scala.version>
- <scala-library.version>2.13.9</scala-library.version>
- <snappy-java.version>1.1.8.4</snappy-java.version>
- <solr-global.version>4.3.0</solr-global.version>
- <slf4j.version>1.7.32</slf4j.version>
- <system-rules.version>1.17.0</system-rules.version>
- <thrift.version>0.14.2</thrift.version>
- <twitter4j.version>4.0.7</twitter4j.version>
- <twitter4j-media.version>4.0.6</twitter4j-media.version>
- <wiremock.version>1.53</wiremock.version>
- <zlib.version>1.1.3</zlib.version>
- <zookeeper.version>3.6.2</zookeeper.version>
- <os.maven.version>1.5.0.Final</os.maven.version>
- <redirectTestOutput>true</redirectTestOutput>
- </properties>
+ <name>Apache Flume Project</name>
<modules>
+ <module>flume-parent</module>
+ <module>flume-bom</module>
<module>flume-ng-core</module>
<module>flume-ng-configuration</module>
<module>flume-ng-embedded-agent</module>
@@ -153,1718 +54,4 @@ limitations under the License.
<module>build-support</module>
</modules>
- <profiles>
-
- <profile>
- <id>compileThriftLegacy</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <thrift.executable>${env.THRIFT_HOME}/bin/thrift</thrift.executable>
- </properties>
- </profile>
-
- <profile>
- <id>not-windows</id>
- <activation>
- <os>
- <family>!Windows</family>
- </os>
- </activation>
- </profile>
-
- <profile>
- <id>windows</id>
- <activation>
- <os>
- <family>Windows</family>
- </os>
- </activation>
- </profile>
-
- <profile>
- <id>sign</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- <configuration>
- <keyname>${GPGSigningUserName}</keyname>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>site</id>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>javadoc-jar</id>
- <phase>package</phase>
- <goals>
- <goal>aggregate-jar</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <additionalparam>-Xdoclint:none</additionalparam>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <executions>
- <execution>
- <id>flume-site</id>
- <phase>package</phase>
- <goals>
- <goal>site</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- </profile>
-
- <profile>
- <id>skipChecks</id>
- <properties>
- <checkstyle.skip>true</checkstyle.skip>
- <spotbugs.skip>true</spotbugs.skip>
- <pmd.skip>true</pmd.skip>
- <rat.skip>true</rat.skip>
- </properties>
-
- </profile>
- </profiles>
-
- <inceptionYear>2009</inceptionYear>
-
- <issueManagement>
- <system>JIRA</system>
- <url>https://issues.apache.org/jira/browse/FLUME</url>
- </issueManagement>
-
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- </license>
- </licenses>
-
- <mailingLists>
- <mailingList>
- <archive>http://mail-archives.apache.org/mod_mbox/flume-user/</archive>
- <name>Flume User List</name>
- <post>[email protected]</post>
- <subscribe>[email protected]</subscribe>
- <unsubscribe>[email protected]</unsubscribe>
- </mailingList>
- <mailingList>
- <archive>http://mail-archives.apache.org/mod_mbox/flume-dev/</archive>
- <name>Flume Developer List</name>
- <post>[email protected]</post>
- <subscribe>[email protected]</subscribe>
- <unsubscribe>[email protected]</unsubscribe>
- </mailingList>
- <mailingList>
-
<archive>http://mail-archives.apache.org/mod_mbox/flume-commits/</archive>
- <name>Flume Commits</name>
- <post>[email protected]</post>
- <subscribe>[email protected]</subscribe>
- <unsubscribe>[email protected]</unsubscribe>
- </mailingList>
- </mailingLists>
-
- <scm>
-
<url>https://git-wip-us.apache.org/repos/asf?p=flume.git;a=tree;h=refs/heads/trunk;hb=trunk</url>
-
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/flume.git</developerConnection>
-
<connection>scm:git:http://git-wip-us.apache.org/repos/asf/flume.git</connection>
- </scm>
-
- <ciManagement>
- <system>jenkins</system>
- <url>https://builds.apache.org/job/flume-trunk</url>
- </ciManagement>
-
- <developers>
- <developer>
- <name>Andrew Bayer</name>
- <id>abayer</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Ahmed Radwan</name>
- <id>ahmed</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Arvind Prabhakar</name>
- <id>arvind</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Brock Noland</name>
- <id>brock</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Bruce Mitchener</name>
- <id>brucem</id>
- <email>[email protected]</email>
- <organization>-</organization>
- </developer>
- <developer>
- <name>Derek Deeter</name>
- <id>ddeeter</id>
- <email>[email protected]</email>
- <organization>Intuit</organization>
- </developer>
- <developer>
- <name>Eric Sammer</name>
- <id>esammer</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Henry Robinson</name>
- <id>henry</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Hari Shreedharan</name>
- <id>hshreedharan</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Jaroslav Cecho</name>
- <id>jarcec</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Jonathan Hsieh</name>
- <id>jmhsieh</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Juhani Connolly</name>
- <id>juhanic</id>
- <email>[email protected]</email>
- <organization>CyberAgent</organization>
- </developer>
- <developer>
- <name>Aaron Kimball</name>
- <id>kimballa</id>
- <email>[email protected]</email>
- <organization>Odiago</organization>
- </developer>
- <developer>
- <name>Mingjie Lai</name>
- <id>mlai</id>
- <email>[email protected]</email>
- <organization>Trend Micro</organization>
- </developer>
- <developer>
- <name>Mike Percy</name>
- <id>mpercy</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Nick Verbeck</name>
- <id>nerdynick</id>
- <email>[email protected]</email>
- <organization>-</organization>
- </developer>
- <developer>
- <name>Patrick Hunt</name>
- <id>phunt</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Prasad Mujumdar</name>
- <id>prasadm</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Ralph Goers</name>
- <id>rgoers</id>
- <email>[email protected]</email>
- <organization>Intuit</organization>
- </developer>
- <developer>
- <name>Will McQueen</name>
- <id>will</id>
- <email>[email protected]</email>
- <organization>Cloudera</organization>
- </developer>
- <developer>
- <name>Roshan</name>
- <id>roshannaik</id>
- <email>[email protected]</email>
- <organization>Hortonworks</organization>
- </developer>
- </developers>
-
- <organization>
- <name>Apache Software Foundation</name>
- <url>http://www.apache.org</url>
- </organization>
-
- <build>
- <extensions>
- <extension>
- <groupId>kr.motd.maven</groupId>
- <artifactId>os-maven-plugin</artifactId>
- <version>${os.maven.version}</version>
- </extension>
- </extensions>
- <plugins>
-
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>com.puppycrawl.tools</groupId>
- <artifactId>checkstyle</artifactId>
- <version>${checkstyle.tool.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- </plugin>
- </plugins>
-
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>${mvn-antrun-plugin.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>${mvn-gpg-plugin.version}</version>
- <configuration>
- <excludes>
- <exclude>**/*.sha512</exclude>
- </excludes>
- <keyname>${GPGSigningUserName}</keyname>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>${mvn-compiler-plugin.version}</version>
- <configuration>
- <source>${sourceJavaVersion}</source>
- <target>${targetJavaVersion}</target>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>${mvn-jar-plugin.version}</version>
- <executions>
- <execution>
- <id>default-jar</id>
- <goals>
- <goal>jar</goal>
- </goals>
- <configuration>
- <archive>
- <manifestEntries>
- <Specification-Title>${project.name}</Specification-Title>
-
<Specification-Version>${project.version}</Specification-Version>
-
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
-
<Implementation-Title>${project.name}</Implementation-Title>
-
<Implementation-Version>${project.version}</Implementation-Version>
-
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-
<Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
-
<X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK>
-
<X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
-
<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
- </manifestEntries>
- </archive>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.xolstice.maven.plugins</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <version>${protobuf.plugin.version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${mvn-surefire-plugin.version}</version>
- <configuration>
- <reuseForks>false</reuseForks>
- <forkCount>1</forkCount>
- <!--<rerunFailingTestsCount>10</rerunFailingTestsCount>-->
- <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
-
<redirectTestOutputToFile>${redirectTestOutput}</redirectTestOutputToFile>
- <argLine>-Djava.net.preferIPv4Stack=true</argLine>
- <includes>
- <include>${test.include.pattern}</include>
- </includes>
- <excludes>
- <exclude>**/*$*</exclude>
- <exclude>${test.exclude.pattern}</exclude>
- </excludes>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <version>${rat.version}</version>
- <configuration>
- <excludes>
- <exclude>**/.idea/</exclude>
- <exclude>**/*.iml</exclude>
- <exclude>src/main/resources/META-INF/services/**/*</exclude>
- <exclude>**/nb-configuration.xml</exclude>
- <exclude>.git/</exclude>
- <exclude>patchprocess/</exclude>
- <exclude>.gitignore</exclude>
- <exclude>**/*.yml</exclude>
- <exclude>**/*.yaml</exclude>
- <exclude>**/*.json</exclude>
- <!-- ASF jenkins box puts the Maven repo in our root directory.
-->
- <exclude>.repository/</exclude>
- <exclude>**/*.diff</exclude>
- <exclude>**/*.patch</exclude>
- <exclude>**/*.avsc</exclude>
- <exclude>**/*.avro</exclude>
- <exclude>**/docs/**</exclude>
- <exclude>**/test/resources/**</exclude>
- <exclude>**/.settings/*</exclude>
- <exclude>**/.classpath</exclude>
- <exclude>**/.project</exclude>
- <exclude>**/target/**</exclude>
- <exclude>**/derby.log</exclude>
- <exclude>**/metastore_db/</exclude>
- <exclude>.mvn/**</exclude>
- <exclude>**/exclude-pmd.properties</exclude>
- </excludes>
- <consoleOutput>true</consoleOutput>
- </configuration>
- <executions>
- <execution>
- <id>verify.rat</id>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <version>${mvn-checkstyle-plugin.version}</version>
- <dependencies>
- <!-- The build-support module adds the checkstyle config files to
the classpath. -->
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>build-support</artifactId>
- <version>${project.version}</version>
- </dependency>
- <!-- Newer versions of puppycrawl checkstyle have more features.
Pull in a more recent
- version than is specified in the maven-checkstyle-plugin pom
file. -->
- <dependency>
- <groupId>com.puppycrawl.tools</groupId>
- <artifactId>checkstyle</artifactId>
- <version>${checkstyle.tool.version}</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>verify.checkstyle</id>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <configLocation>config/checkstyle/checkstyle.xml</configLocation>
-
<suppressionsLocation>config/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
-
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
- <encoding>UTF-8</encoding>
- <includeTestSourceDirectory>true</includeTestSourceDirectory>
- <linkXRef>false</linkXRef>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>${mvn-javadoc-plugin.version}</version>
- <configuration>
-
<outputDirectory>${project.build.directory}/site/apidocs</outputDirectory>
- <!-- switch on dependency-driven aggregation -->
- <includeDependencySources>true</includeDependencySources>
-
- <dependencySourceIncludes>
- <!-- include ONLY flume multi-module dependencies -->
-
<dependencySourceInclude>org.apache.flume:*</dependencySourceInclude>
- </dependencySourceIncludes>
- <additionalparam>-Xdoclint:none</additionalparam>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>${mvn-assembly-plugin.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.avro</groupId>
- <artifactId>avro-maven-plugin</artifactId>
- <version>${avro.version}</version>
- </plugin>
-
- <plugin>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer-maven-plugin</artifactId>
- <version>${mvn-paranamer-plugin.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>${mvn-site-plugin.version}</version>
- <configuration>
- <siteDirectory>${project.basedir}/flume-ng-doc</siteDirectory>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>${mvn-clean-plugin.version}</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>docs</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-maven-plugin</artifactId>
- <version>${mvn-spotbugs-plugin.version}</version>
- <executions>
- <execution>
- <id>verify.spotbugs</id>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <effort>Max</effort>
- <threshold>Low</threshold>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <version>${mvn-pmd-plugin.version}</version>
- <configuration>
- <targetJdk>${targetJavaVersion}</targetJdk>
- <excludeRoots>
-
<excludeRoot>${project.build.directory}/generated-sources</excludeRoot>
- </excludeRoots>
- </configuration>
- <executions>
- <execution>
- <id>verify.pmd</id>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>net.nicoulaj.maven.plugins</groupId>
- <artifactId>checksum-maven-plugin</artifactId>
- <version>${mvn-checksum-plugin.version}</version>
- </plugin>
- </plugins>
- </pluginManagement>
-
- </build>
-
- <dependencyManagement>
- <dependencies>
-
- <!-- Dependencies: build -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>${mockito.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easytesting</groupId>
- <artifactId>fest-reflect</artifactId>
- <version>${fest-reflect.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>com.github.stefanbirkner</groupId>
- <artifactId>system-rules</artifactId>
- <version>${system-rules.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-minikdc</artifactId>
- <version>${hadoop.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- <exclusion>
- <!-- exclude this from hadoop minikdc as the minikdc depends on
- the apacheds-jdbm1 bundle, which is not available in maven
central-->
- <groupId>org.apache.directory.jdbm</groupId>
- <artifactId>apacheds-jdbm1</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <!-- add this to satisfy the dependency requirement of apacheds-jdbm1
in minikdc-->
- <groupId>org.apache.directory.jdbm</groupId>
- <artifactId>apacheds-jdbm1</artifactId>
- <version>2.0.0-M2</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Dependencies: compile -->
-
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>${commons-cli.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>${commons-lang.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-text</artifactId>
- <version>${commons-text.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>${guava-old.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-1.2-api</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-jcl</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-jul</artifactId>
- <version>${log4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.avro</groupId>
- <artifactId>avro</artifactId>
- <version>${avro.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.avro</groupId>
- <artifactId>avro-compiler</artifactId>
- <version>${avro.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.avro</groupId>
- <artifactId>avro-ipc-netty</artifactId>
- <version>${avro.version}</version>
- <exclusions>
- <exclusion>
- <groupId>io.netty</groupId>
- <artifactId>netty</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.avro</groupId>
- <artifactId>avro-ipc-jetty</artifactId>
- <version>${avro.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.thrift</groupId>
- <artifactId>libthrift</artifactId>
- <version>${thrift.version}</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <scope>compile</scope>
- <version>${external.protobuf.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- <version>${jetty.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <version>${jetty.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>${jetty.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-jmx</artifactId>
- <version>${jetty.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>${httpclient.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- <version>${httpcore.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.mapdb</groupId>
- <artifactId>mapdb</artifactId>
- <version>${mapdb.version}</version>
- </dependency>
-
- <!-- Gson: Java to Json conversion -->
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>${gson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>${commons-codec.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons-io.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <version>${commons-dbcp.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>${commons-collections.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>${derby.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>${fasterxml.jackson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>${fasterxml.jackson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${fasterxml.jackson.databind.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.schwering</groupId>
- <artifactId>irclib</artifactId>
- <version>${irclib.version}</version>
- </dependency>
-
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>${joda-time.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <version>${geronimo-jms.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>activemq-core</artifactId>
- <version>${activemq.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.jcraft</groupId>
- <artifactId>jzlib</artifactId>
- <version>${zlib.version}</version>
- </dependency>
-
- <!-- internal module dependencies -->
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-configuration</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-core</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>build-support</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-tools</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-node</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-channels</groupId>
- <artifactId>flume-file-channel</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-channels</groupId>
- <artifactId>flume-jdbc-channel</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-channels</groupId>
- <artifactId>flume-kafka-channel</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-channels</groupId>
- <artifactId>flume-spillable-memory-channel</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-shared</groupId>
- <artifactId>flume-shared-kafka</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-shared</groupId>
- <artifactId>flume-shared-kafka-test</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-hdfs-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-hive-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-http-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-irc-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-ng-hbase-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-ng-hbase2-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-ng-morphline-solr-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-ng-kafka-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-ng-kafka-sink</artifactId>
- <version>${project.version}</version>
- <classifier>tests</classifier>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sinks</groupId>
- <artifactId>flume-dataset-sink</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
- <artifactId>flume-scribe-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
- <artifactId>flume-jms-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
- <artifactId>flume-twitter-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-legacy-sources</groupId>
- <artifactId>flume-thrift-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
- <artifactId>flume-kafka-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-legacy-sources</groupId>
- <artifactId>flume-avro-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-sdk</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-sources</groupId>
- <artifactId>flume-taildir-source</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-sdk</artifactId>
- <version>${project.version}</version>
- <classifier>tests</classifier>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-auth</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-clients</groupId>
- <artifactId>flume-ng-log4jappender</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume.flume-ng-clients</groupId>
- <artifactId>flume-ng-log4jappender</artifactId>
- <version>${project.version}</version>
- <classifier>jar-with-dependencies</classifier>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-embedded-agent</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-environment-variable-config-filter</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-hadoop-credential-store-config-filter</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-external-process-config-filter</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.flume</groupId>
- <artifactId>flume-ng-config-filter-api</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-core</artifactId>
- <version>${jersey.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-compress</artifactId>
- <version>${commons-compress.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.mina</groupId>
- <artifactId>mina-core</artifactId>
- <version>${mina.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.hbase</groupId>
- <artifactId>asynchbase</artifactId>
- <version>${asynchbase.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.netty</groupId>
- <artifactId>netty</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!--<dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty</artifactId>
- <version>${netty.version}</version>
- </dependency>-->
-
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- <version>${netty-all.version}</version>
- </dependency>
-
- <dependency>
- <groupId>io.prometheus</groupId>
- <artifactId>simpleclient</artifactId>
- <version>${prometheus.version}</version>
- </dependency>
-
- <dependency>
- <groupId>io.prometheus</groupId>
- <artifactId>simpleclient_servlet</artifactId>
- <version>${prometheus.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.solr</groupId>
- <artifactId>solr-cell</artifactId>
- <version>${solr-global.version}</version>
- </dependency>
-
- <!-- Dependencies of the Twitter source -->
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-core</artifactId>
- <version>${twitter4j.version}</version>
- </dependency>
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-media-support</artifactId>
- <version>${twitter4j-media.version}</version>
- </dependency>
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-stream</artifactId>
- <version>${twitter4j.version}</version>
- </dependency>
-
- <!-- Dependencies of Kafka source -->
- <dependency>
- <groupId>org.apache.kafka</groupId>
- <artifactId>kafka_${scala.version}</artifactId>
- <version>${kafka.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.kafka</groupId>
- <artifactId>kafka_${scala.version}</artifactId>
- <version>${kafka.version}</version>
- <classifier>test</classifier>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.kafka</groupId>
- <artifactId>kafka-clients</artifactId>
- <version>${kafka.version}</version>
- </dependency>
- <dependency>
- <groupId>org.scala-lang</groupId>
- <artifactId>scala-library</artifactId>
- <version>${scala-library.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.xerial.snappy</groupId>
- <artifactId>snappy-java</artifactId>
- <version>${snappy-java.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hive.hcatalog</groupId>
- <artifactId>hive-hcatalog-streaming</artifactId>
- <version>${hive.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hive.hcatalog</groupId>
- <artifactId>hive-hcatalog-core</artifactId>
- <version>${hive.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hive</groupId>
- <artifactId>hive-cli</artifactId>
- <version>${hive.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Dependency for Zk provider -->
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <version>${curator.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-recipes</artifactId>
- <version>${curator.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-test</artifactId>
- <version>${curator.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <version>${hadoop.version}</version>
- <optional>true</optional>
- <exclusions>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- </exclusion>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-hdfs</artifactId>
- <version>${hadoop.version}</version>
- <exclusions>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- </exclusion>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-minicluster</artifactId>
- <scope>test</scope>
- <version>${hadoop.version}</version>
- <exclusions>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- </exclusion>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client</artifactId>
- <version>${hadoop.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-annotations</artifactId>
- <version>${hadoop.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-auth</artifactId>
- <version>${hadoop.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-mapreduce-client-core</artifactId>
- <scope>test</scope>
- <version>${hadoop.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Ideally this should be optional, but making it optional causes
- build to fail.
- -->
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-client</artifactId>
- <version>${hbase.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-client</artifactId>
- <version>${hbase.version}</version>
- <classifier>tests</classifier>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-testing-util</artifactId>
- <version>${hbase.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- There should be no need for Flume to include the following two
- artifacts, but HBase pom has a bug which causes these to not get
- pulled in. So we have to pull it in. Ideally this should be optional,
- but making it optional causes build to fail.
- -->
-
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-common</artifactId>
- <version>${hbase.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-common</artifactId>
- <version>${hbase.version}</version>
- <classifier>tests</classifier>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-server</artifactId>
- <version>${hbase.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- </exclusion>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-server</artifactId>
- <version>${hbase.version}</version>
- <classifier>tests</classifier>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- </exclusion>
- <exclusion>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <version>${zookeeper.version}</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>jdom</artifactId>
- <version>${jdom.version}</version>
- </dependency>
-
- <dependency>
- <groupId>io.dropwizard.metrics</groupId>
- <artifactId>metrics-core</artifactId>
- <version>${dropwizard-metrics.version}</version>
- </dependency>
-
- <!-- Required for the morphlines-solr-sink via the kite-sdk -->
- <dependency>
- <groupId>org.apache.parquet</groupId>
- <artifactId>parquet-hive-bundle</artifactId>
- <version>${parquet.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-core</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.parquet</groupId>
- <artifactId>parquet-avro</artifactId>
- <version>${parquet.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-core</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>net.jcip</groupId>
- <artifactId>jcip-annotations</artifactId>
- <version>1.0</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-annotations</artifactId>
- <version>${mvn-spotbugs-plugin.version}</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.mock-server</groupId>
- <artifactId>mockserver-netty</artifactId>
- <version>3.10.8</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mock-server</groupId>
- <artifactId>mockserver-client-java</artifactId>
- <version>3.10.8</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <reportSets>
- <reportSet>
- <reports>
- <report>ci-management</report>
- <report>distribution-management</report>
- <report>team</report>
- <report>mailing-lists</report>
- <report>issue-management</report>
- <report>licenses</report>
- <report>scm</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
-
</project>