flume-ng-sdk

Used in: 256 components

Overview

Description

Flume Software Development Kit: Stable public API for integration with Flume 1.x

Snippets

<dependency>
    <groupId>org.apache.flume</groupId>
    <artifactId>flume-ng-sdk</artifactId>
    <version>1.11.0</version>
</dependency>

Maven POM File

<!--
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-parent</artifactId>
    <groupId>org.apache.flume</groupId>
    <version>1.11.0</version>
  </parent>

  <artifactId>flume-ng-sdk</artifactId>
  <name>Flume NG SDK</name>
  <description>Flume Software Development Kit: Stable public API for integration with Flume 1.x</description>

  <properties>
    <!-- TODO fix spotbugs/pmd violations -->
    <spotbugs.maxAllowedViolations>69</spotbugs.maxAllowedViolations>
    <pmd.maxAllowedViolations>170</pmd.maxAllowedViolations>
    <module.name>org.apache.flume.sdk</module.name>
  </properties>

  <profiles>
    <profile>
      <id>compileThrift</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>compileThrift</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <echo file="target/compile-thrift.sh">
                      LICENSE=src/main/thrift/aslv2
                      THRIFT_DIR=src/main/thrift
                      JAVA_DIR=target/generated-sources/thrift
                      mkdir -p $JAVA_DIR 2&gt; /dev/null
                      JSTATUS=$?
                      if [ $JSTATUS -ne 0 ] ; then
                        echo "Could not create $JAVA_DIR. Will not generate thrift files."
                        exit $JSTATUS
                      fi
                      for THRIFT_FILE in `ls $THRIFT_DIR/*.thrift 2&gt; /dev/null`
                      do
                        thrift --gen java:hashcode -o $JAVA_DIR $THRIFT_FILE
                      done
                      SRC_DIR=$JAVA_DIR/gen-java/org/apache/flume/thrift/
                      DEST_DIR=src/main/java/org/apache/flume/thrift
                      if [ ! -d $DEST_DIR ] ; then
                        mkdir $DEST_DIR 2&gt; /dev/null
                        STATUS=$?
                        if [ $STATUS -ne 0 ] ; then
                          echo "Could not create $DEST_DIR. Will not generate thrift files."
                          exit $STATUS
                        fi
                      fi
                      for JAVA_FILE in `ls $SRC_DIR/*.java 2&gt; /dev/null`
                      do
                        echo $JAVA_FILE
                        cat $LICENSE > $JAVA_FILE.tmp
                        cat $JAVA_FILE >> $JAVA_FILE.tmp
                        mv $JAVA_FILE.tmp $JAVA_FILE
                        cp $JAVA_FILE $DEST_DIR
                      done
                      rm -rf $JAVA_DIR
                    </echo>
                    <exec executable="sh" dir="${basedir}" failonerror="true">
                      <arg line="target/compile-thrift.sh"/>
                    </exec>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>${lifecycle-mapping.version}</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.avro</groupId>
                    <artifactId>avro-maven-plugin</artifactId>
                    <versionRange>[${avro.version},)</versionRange>
                    <goals>
                      <goal>idl-protocol</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.thoughtworks.paranamer</groupId>
                    <artifactId>paranamer-maven-plugin</artifactId>
                    <versionRange>[${mvn-paranamer-plugin.version},)</versionRange>
                    <goals>
                      <goal>generate</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>

      <plugin>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-maven-plugin</artifactId>
        <configuration>
          <stringType>CharSequence</stringType>
        </configuration>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>idl-protocol</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.thoughtworks.paranamer</groupId>
        <artifactId>paranamer-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>run</id>
            <configuration>
              <sourceDirectory>${project.build.directory}/generated-sources/avro</sourceDirectory>
              <outputDirectory>${project.build.directory}/classes</outputDirectory>
            </configuration>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>


  <dependencies>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <!-- only used for tests -->
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-jul</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro-ipc-netty</artifactId>
    </dependency>

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-all</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.thrift</groupId>
      <artifactId>libthrift</artifactId>
    </dependency>

    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jzlib</artifactId>
    </dependency>

	  <dependency>
	    <groupId>commons-lang</groupId>
	    <artifactId>commons-lang</artifactId>
	  </dependency>

  </dependencies>
</project>