[ https://issues.apache.org/jira/browse/FLUME-3143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16134964#comment-16134964 ]
Attila Simon commented on FLUME-3143: ------------------------------------- Removing the "unused" slf4j-log4j12 dependency from the flume-ng-sdk module would result in empty test output files. A logger backend implementation slf4j-log4j12 is a runtime resolved dependency. AFAK dependency analysis only checks statically the compiled bytecode thus it cannot be perfect around dependencies used via runtime/reflection (and causing false positives which would prevent enforcement). However I recommended to ignoreNonCompile (since the check cannot be perfect for those dependencies anyway) but in the end it is implementer's call to use that recommendation or put the known to be runtime to the "exclude from analysis" list. If we don't want to enforce the good state at the end then I would see less value doing this cleanup. > Fix undeclared and unused dependencies > -------------------------------------- > > Key: FLUME-3143 > URL: https://issues.apache.org/jira/browse/FLUME-3143 > Project: Flume > Issue Type: Bug > Affects Versions: 1.7.0 > Reporter: Ferenc Szabo > Assignee: Ferenc Szabo > Labels: dependency > Fix For: 1.8.0 > > > Dependency analysis shows some warnings in the project that should be fixed > {noformat} > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG SDK 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Configuration 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Auth 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.apache.thrift:libthrift:jar:0.9.0:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Core 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.code.findbugs:jsr305:jar:1.3.9:compile > [WARNING] org.apache.httpcomponents:httpcore:jar:4.2.1:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.mortbay.jetty:jetty-util:jar:6.1.26:compile > [WARNING] log4j:log4j:jar:1.2.17:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG HDFS Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.apache.hadoop:hadoop-hdfs:test-jar:tests:2.4.0:test > [WARNING] org.apache.flume:flume-ng-auth:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.apache.hadoop:hadoop-minicluster:jar:2.4.0:test > [WARNING] org.apache.hadoop:hadoop-auth:jar:2.4.0:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG IRC Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG JDBC channel 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] commons-pool:commons-pool:jar:1.5.4:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [WARNING] org.apache.derby:derby:jar:10.11.1.1:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG file-based channel 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] com.google.code.findbugs:jsr305:jar:1.3.9:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] commons-cli:commons-cli:jar:1.2:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Spillable Memory channel 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] com.google.code.findbugs:jsr305:jar:1.3.9:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.mockito:mockito-all:jar:1.9.0:test > [WARNING] org.easytesting:fest-reflect:jar:1.4:test > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] commons-collections:commons-collections:jar:3.2.2:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Node 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.apache.curator:curator-client:jar:2.6.0:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.codehaus.jackson:jackson-core-asl:jar:1.9.3:compile > [WARNING] > org.apache.flume.flume-ng-channels:flume-file-channel:jar:1.8.0-SNAPSHOT:compile > [WARNING] log4j:apache-log4j-extras:jar:1.1:compile > [WARNING] > org.apache.flume.flume-ng-channels:flume-spillable-memory-channel:jar:1.8.0-SNAPSHOT:compile > [WARNING] log4j:log4j:jar:1.2.17:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile > [WARNING] > org.apache.flume.flume-ng-sinks:flume-hdfs-sink:jar:1.8.0-SNAPSHOT:compile > [WARNING] > org.apache.flume.flume-ng-sinks:flume-irc-sink:jar:1.8.0-SNAPSHOT:compile > [WARNING] > org.apache.flume.flume-ng-channels:flume-jdbc-channel:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.codehaus.jackson:jackson-mapper-asl:jar:1.9.3:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Embedded Agent 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.apache.avro:avro-ipc:jar:1.7.4:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [WARNING] Unused declared dependencies found: > [WARNING] > org.apache.flume.flume-ng-channels:flume-file-channel:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG HBase Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.apache.flume:flume-ng-auth:jar:1.8.0-SNAPSHOT:compile > [WARNING] com.stumbleupon:async:jar:1.4.0:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.apache.hbase:hbase-client:jar:tests:1.0.0:test > [WARNING] org.apache.hadoop:hadoop-minicluster:jar:2.4.0:test > [WARNING] org.apache.zookeeper:zookeeper:jar:3.4.5:test > [WARNING] commons-io:commons-io:jar:2.1:test > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [WARNING] > org.apache.flume.flume-ng-sinks:flume-hdfs-sink:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.hbase:hbase-testing-util:jar:1.0.0:test > [WARNING] org.apache.hbase:hbase-server:jar:1.0.0:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG ElasticSearch Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.code.gson:gson:jar:2.2.2:compile > [WARNING] joda-time:joda-time:jar:2.1:compile > [WARNING] org.apache.httpcomponents:httpcore:jar:4.2.1:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Morphline Solr Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.typesafe:config:jar:1.0.2:compile > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.mortbay.jetty:servlet-api:jar:2.5-20110124:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] org.kitesdk:kite-morphlines-core:jar:1.0.0:compile > [WARNING] org.apache.flume:flume-ng-sdk:jar:1.8.0-SNAPSHOT:compile > [WARNING] com.codahale.metrics:metrics-core:jar:3.0.2:compile > [WARNING] org.kitesdk:kite-morphlines-solr-core:jar:1.0.0:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.solr:solr-solrj:jar:4.3.0:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.kitesdk:kite-morphlines-all:pom:1.0.0:compile > [WARNING] org.slf4j:jcl-over-slf4j:jar:1.6.1:provided > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Shared Kafka Test Utils 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Unused declared dependencies found: > [WARNING] org.apache.kafka:kafka_2.10:jar:0.9.0.1:provided > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.flume:flume-ng-core:jar:1.8.0-SNAPSHOT:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Kafka Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.apache.zookeeper:zookeeper:jar:3.4.5:test > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume HTTP/S Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] log4j:log4j:jar:1.2.17:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] org.apache.httpcomponents:httpclient:jar:4.3.5:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Kite Dataset Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.apache.hadoop:hadoop-hdfs:test-jar:tests:2.4.0:test > [WARNING] com.google.code.findbugs:jsr305:jar:1.3.9:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] org.apache.flume:flume-ng-auth:jar:1.8.0-SNAPSHOT:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.apache.hadoop:hadoop-minicluster:jar:2.4.0:test > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.kitesdk:kite-data-hive:jar:1.0.0:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [WARNING] org.kitesdk:kite-data-hbase:jar:1.0.0:compile > [WARNING] org.apache.hive:hive-metastore:jar:1.0.0:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Hive Sink 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.apache.thrift:libthrift:jar:0.9.0:compile > [WARNING] org.apache.hive:hive-exec:jar:1.0.0:provided > [WARNING] org.apache.hive:hive-metastore:jar:1.0.0:provided > [WARNING] Unused declared dependencies found: > [WARNING] xalan:xalan:jar:2.7.2:runtime > [WARNING] org.apache.hadoop:hadoop-mapreduce-client-core:jar:2.4.0:test > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [WARNING] org.apache.hive.hcatalog:hive-hcatalog-core:jar:1.0.0:provided > [WARNING] xalan:serializer:jar:2.7.2:runtime > [WARNING] xerces:xercesImpl:jar:2.9.1:runtime > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Scribe Source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.mortbay.jetty:servlet-api:jar:2.5-20110124:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume JMS Source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] > org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.1.1:provided > [WARNING] Unused declared dependencies found: > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Twitter Source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] org.apache.flume:flume-ng-sdk:jar:1.8.0-SNAPSHOT:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.twitter4j:twitter4j-media-support:jar:3.0.3:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Kafka Source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] com.101tec:zkclient:jar:0.7:compile > [WARNING] org.apache.flume:flume-ng-sdk:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.scala-lang:scala-library:jar:2.10.5:compile > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [WARNING] Unused declared dependencies found: > [WARNING] > org.apache.flume.flume-shared:flume-shared-kafka-test:jar:1.8.0-SNAPSHOT:test > [WARNING] org.apache.kafka:kafka_2.10:jar:test:0.9.0.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume Taildir Source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.code.gson:gson:jar:2.2.2:compile > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] org.apache.flume:flume-ng-sdk:jar:1.8.0-SNAPSHOT:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building flume-kafka-channel 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:compile > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] junit:junit:jar:4.10:test > [WARNING] org.scala-lang:scala-library:jar:2.10.5:compile > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.apache.flume:flume-test-common:jar:1.8.0-SNAPSHOT:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume legacy Avro source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Unused declared dependencies found: > [WARNING] org.mortbay.jetty:servlet-api:jar:2.5-20110124:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume legacy Thrift Source 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Unused declared dependencies found: > [WARNING] org.mortbay.jetty:servlet-api:jar:2.5-20110124:compile > [WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:test > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Log4j Appender 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] com.google.guava:guava:jar:11.0.2:test > [WARNING] commons-lang:commons-lang:jar:2.5:compile > [WARNING] org.apache.avro:avro:jar:1.7.4:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Tools 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] org.apache.flume:flume-ng-sdk:jar:1.8.0-SNAPSHOT:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.flume:flume-ng-core:jar:1.8.0-SNAPSHOT:compile > [INFO] > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building Flume NG Integration Tests 1.8.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [WARNING] Used undeclared dependencies found: > [WARNING] org.slf4j:slf4j-api:jar:1.6.1:compile > [WARNING] commons-io:commons-io:jar:2.1:compile > [WARNING] org.apache.flume:flume-ng-sdk:jar:1.8.0-SNAPSHOT:compile > [WARNING] Unused declared dependencies found: > [WARNING] org.apache.hadoop:hadoop-common:jar:2.4.0:compile > [WARNING] > org.apache.flume:flume-ng-configuration:jar:1.8.0-SNAPSHOT:compile > [WARNING] org.apache.flume:flume-ng-core:jar:1.8.0-SNAPSHOT:compile > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)