This is an automated email from the ASF dual-hosted git repository. rgoers pushed a commit to branch towards17 in repository https://gitbox.apache.org/repos/asf/logging-flume.git
commit f830b41c2140a18e87d6baf69cfd8b267d52be1a Author: Ralph Goers <[email protected]> AuthorDate: Fri May 29 08:59:27 2026 -0700 Interim commit --- .flattened-pom.xml | 68 ++ flume-bom/.flattened-pom.xml | 211 ++++ flume-ng-auth/{pom.xml => .flattened-pom.xml} | 29 +- flume-ng-auth/pom.xml | 2 +- flume-ng-channels/.flattened-pom.xml | 42 + flume-ng-channels/flume-file-channel/pom.xml | 2 +- .../flume-spillable-memory-channel/pom.xml | 2 +- flume-ng-clients/flume-ng-log4jappender/pom.xml | 2 +- flume-ng-configfilters/.flattened-pom.xml | 43 + .../flume-ng-config-filter-api/.flattened-pom.xml | 39 + .../{pom.xml => .flattened-pom.xml} | 26 +- flume-ng-configuration/pom.xml | 2 +- flume-ng-core/{pom.xml => .flattened-pom.xml} | 276 ++--- flume-ng-core/pom.xml | 2 +- .../org/apache/flume/sink/TestRollingFileSink.java | 2 +- .../flume/source/TestMultiportSyslogTCPSource.java | 4 +- .../flume/source/TestSequenceGeneratorSource.java | 4 +- .../apache/flume/source/TestSyslogTcpSource.java | 2 +- .../apache/flume/source/TestSyslogUdpSource.java | 2 +- .../apache/flume/source/http/TestHTTPSource.java | 6 +- flume-ng-embedded-agent/pom.xml | 2 +- flume-ng-node/pom.xml | 2 +- .../pom.xml => flume-ng-sdk/.flattened-pom.xml | 83 +- .../test/java/org/apache/flume/util/Whitebox.java | 32 + flume-ng-sources/flume-taildir-source/pom.xml | 2 +- .../flume/source/taildir/TestTaildirSource.java | 4 +- flume-parent/{pom.xml => .flattened-pom.xml} | 1163 ++++++++------------ flume-parent/pom.xml | 35 +- flume-rpc/flume-rpc-avro/pom.xml | 31 +- .../apache/flume/rpc/avro/sink/TestAvroSink.java | 2 +- .../rpc/avro/source/TestSpoolDirectorySource.java | 4 +- flume-rpc/flume-rpc-thrift/pom.xml | 2 +- .../flume/rpc/thrift/ThriftTestingSource.java | 8 +- flume-rpc/pom.xml | 6 - 34 files changed, 1133 insertions(+), 1009 deletions(-) diff --git a/.flattened-pom.xml b/.flattened-pom.xml new file mode 100644 index 000000000..5c4aee064 --- /dev/null +++ b/.flattened-pom.xml @@ -0,0 +1,68 @@ +<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.logging</groupId> + <artifactId>logging-parent</artifactId> + <version>12.1.1</version> + </parent> + <groupId>org.apache.flume</groupId> + <artifactId>flume-project</artifactId> + <version>2.0.0-SNAPSHOT</version> + <packaging>pom</packaging> + <name>Apache Flume Project</name> + <url>https://logging.apache.org/logging-parent/flume-project</url> + <licenses> + <license> + <name>Apache-2.0</name> + <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + <modules> + <module>flume-bom</module> + <module>flume-parent</module> + <module>flume-ng-core</module> + <module>flume-ng-configuration</module> + <module>flume-rpc</module> + <module>flume-ng-embedded-agent</module> + <module>flume-ng-sources</module> + <module>flume-ng-node</module> + <module>flume-ng-channels</module> + <module>flume-ng-sdk</module> + <module>flume-tools</module> + <module>flume-ng-auth</module> + <module>flume-ng-configfilters</module> + <module>build-support</module> + </modules> + <build> + <plugins> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <configuration> + <excludes combine.children="append"> + <exclude>**/*.avsc</exclude> + </excludes> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/flume-bom/.flattened-pom.xml b/flume-bom/.flattened-pom.xml new file mode 100644 index 000000000..626589030 --- /dev/null +++ b/flume-bom/.flattened-pom.xml @@ -0,0 +1,211 @@ +<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.flume</groupId> + <artifactId>flume-project</artifactId> + <version>2.0.0-SNAPSHOT</version> + </parent> + <groupId>org.apache.flume</groupId> + <artifactId>flume-dependencies</artifactId> + <version>2.0.0-SNAPSHOT</version> + <packaging>pom</packaging> + <name>Apache Flume Artifacts</name> + <url>https://logging.apache.org/logging-parent/flume-project/flume-dependencies</url> + <licenses> + <license> + <name>Apache-2.0</name> + <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + <properties> + <flume-irc.version>2.0.0-SNAPSHOT</flume-irc.version> + <flume-scribe.version>2.0.0-SNAPSHOT</flume-scribe.version> + <flume-spring-boot.version>2.0.0-SNAPSHOT</flume-spring-boot.version> + <flume-jms.version>2.0.0-SNAPSHOT</flume-jms.version> + <flume-tools.version>2.0.0-SNAPSHOT</flume-tools.version> + <flume-http.version>2.0.0-SNAPSHOT</flume-http.version> + <flume-jdbc.version>2.0.0-SNAPSHOT</flume-jdbc.version> + <flume-legacy.version>2.0.0-SNAPSHOT</flume-legacy.version> + <flume-taildir.version>2.0.0-SNAPSHOT</flume-taildir.version> + <flume-kafka.version>2.0.0-SNAPSHOT</flume-kafka.version> + <flume-morphline.version>2.0.0-SNAPSHOT</flume-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-hadoop-credential-store-config-filter</artifactId> + <version>${flume-hadoop.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-rpc-avro</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.flume</groupId> + <artifactId>flume-rpc-thrift</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-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</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</groupId> + <artifactId>flume-legacy-thrift-source</artifactId> + <version>${flume-legacy.version}</version> + </dependency> + <dependency> + <groupId>org.apache.flume</groupId> + <artifactId>flume-legacy-avro-source</artifactId> + <version>${flume-legacy.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</groupId> + <artifactId>flume-kafka-sink</artifactId> + <version>${flume-kafka.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-sinks</groupId> + <artifactId>flume-dataset-sink</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.flume</groupId> + <artifactId>flume-kafka-source</artifactId> + <version>${flume-kafka.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</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-auth/pom.xml b/flume-ng-auth/.flattened-pom.xml similarity index 82% copy from flume-ng-auth/pom.xml copy to flume-ng-auth/.flattened-pom.xml index e213d7844..de4333149 100644 --- a/flume-ng-auth/pom.xml +++ b/flume-ng-auth/.flattened-pom.xml @@ -1,3 +1,4 @@ +<?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 @@ -14,71 +15,66 @@ 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"> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>flume-parent</artifactId> <groupId>org.apache.flume</groupId> + <artifactId>flume-parent</artifactId> <version>2.0.0-SNAPSHOT</version> <relativePath>../flume-parent/pom.xml</relativePath> </parent> - <artifactId>flume-ng-auth</artifactId> + <version>2.0.0-SNAPSHOT</version> <name>Flume Auth</name> <description>Flume Authentication</description> - + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-auth</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> <properties> - <!-- TODO fix spotbugs/pmd violations --> <spotbugs.maxAllowedViolations>1</spotbugs.maxAllowedViolations> <pmd.maxAllowedViolations>7</pmd.maxAllowedViolations> <module.name>org.apache.flume.auth</module.name> </properties> - <dependencies> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </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-1.2-api</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <optional>true</optional> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-sdk</artifactId> </dependency> - <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> <scope>test</scope> </dependency> <dependency> - <!-- add this to satisfy the dependency requirement of apacheds-jdbm1 in minikdc--> <groupId>org.apache.directory.jdbm</groupId> <artifactId>apacheds-jdbm1</artifactId> <scope>test</scope> @@ -87,6 +83,5 @@ limitations under the License. <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> - </dependencies> </project> diff --git a/flume-ng-auth/pom.xml b/flume-ng-auth/pom.xml index e213d7844..031d9fbd0 100644 --- a/flume-ng-auth/pom.xml +++ b/flume-ng-auth/pom.xml @@ -31,7 +31,7 @@ limitations under the License. <properties> <!-- TODO fix spotbugs/pmd violations --> - <spotbugs.maxAllowedViolations>1</spotbugs.maxAllowedViolations> + <spotbugs.maxAllowedViolations>6</spotbugs.maxAllowedViolations> <pmd.maxAllowedViolations>7</pmd.maxAllowedViolations> <module.name>org.apache.flume.auth</module.name> </properties> diff --git a/flume-ng-channels/.flattened-pom.xml b/flume-ng-channels/.flattened-pom.xml new file mode 100644 index 000000000..9ee563589 --- /dev/null +++ b/flume-ng-channels/.flattened-pom.xml @@ -0,0 +1,42 @@ +<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.flume</groupId> + <artifactId>flume-parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../flume-parent/pom.xml</relativePath> + </parent> + <artifactId>flume-ng-channels</artifactId> + <version>2.0.0-SNAPSHOT</version> + <packaging>pom</packaging> + <name>Flume NG Channels</name> + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-channels</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> + <modules> + <module>flume-file-channel</module> + <module>flume-spillable-memory-channel</module> + </modules> +</project> diff --git a/flume-ng-channels/flume-file-channel/pom.xml b/flume-ng-channels/flume-file-channel/pom.xml index 6db659c86..15d80f28b 100644 --- a/flume-ng-channels/flume-file-channel/pom.xml +++ b/flume-ng-channels/flume-file-channel/pom.xml @@ -78,7 +78,7 @@ <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-channels/flume-spillable-memory-channel/pom.xml b/flume-ng-channels/flume-spillable-memory-channel/pom.xml index bd7c6be17..6d17a46bd 100644 --- a/flume-ng-channels/flume-spillable-memory-channel/pom.xml +++ b/flume-ng-channels/flume-spillable-memory-channel/pom.xml @@ -83,7 +83,7 @@ <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-clients/flume-ng-log4jappender/pom.xml b/flume-ng-clients/flume-ng-log4jappender/pom.xml index 6e751849a..2c6ccbfe4 100644 --- a/flume-ng-clients/flume-ng-log4jappender/pom.xml +++ b/flume-ng-clients/flume-ng-log4jappender/pom.xml @@ -93,7 +93,7 @@ limitations under the License. <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-configfilters/.flattened-pom.xml b/flume-ng-configfilters/.flattened-pom.xml new file mode 100644 index 000000000..5e352a74e --- /dev/null +++ b/flume-ng-configfilters/.flattened-pom.xml @@ -0,0 +1,43 @@ +<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.flume</groupId> + <artifactId>flume-parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../flume-parent/pom.xml</relativePath> + </parent> + <artifactId>flume-ng-configfilters</artifactId> + <version>2.0.0-SNAPSHOT</version> + <packaging>pom</packaging> + <name>Flume NG Config Filters</name> + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-configfilters</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> + <modules> + <module>flume-ng-environment-variable-config-filter</module> + <module>flume-ng-config-filter-api</module> + <module>flume-ng-external-process-config-filter</module> + </modules> +</project> diff --git a/flume-ng-configfilters/flume-ng-config-filter-api/.flattened-pom.xml b/flume-ng-configfilters/flume-ng-config-filter-api/.flattened-pom.xml new file mode 100644 index 000000000..ff9a765a8 --- /dev/null +++ b/flume-ng-configfilters/flume-ng-config-filter-api/.flattened-pom.xml @@ -0,0 +1,39 @@ +<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.flume</groupId> + <artifactId>flume-ng-configfilters</artifactId> + <version>2.0.0-SNAPSHOT</version> + </parent> + <artifactId>flume-ng-config-filter-api</artifactId> + <version>2.0.0-SNAPSHOT</version> + <name>Flume NG Config Filters API</name> + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-configfilters/flume-ng-config-filter-api</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> + <properties> + <module.name>org.apache.flume.configfilter.api</module.name> + </properties> +</project> diff --git a/flume-ng-configuration/pom.xml b/flume-ng-configuration/.flattened-pom.xml similarity index 80% copy from flume-ng-configuration/pom.xml copy to flume-ng-configuration/.flattened-pom.xml index edb67e188..fb61455eb 100644 --- a/flume-ng-configuration/pom.xml +++ b/flume-ng-configuration/.flattened-pom.xml @@ -1,3 +1,4 @@ +<?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 @@ -14,64 +15,61 @@ 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"> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> - <artifactId>flume-parent</artifactId> <groupId>org.apache.flume</groupId> + <artifactId>flume-parent</artifactId> <version>2.0.0-SNAPSHOT</version> <relativePath>../flume-parent/pom.xml</relativePath> </parent> <artifactId>flume-ng-configuration</artifactId> + <version>2.0.0-SNAPSHOT</version> <name>Flume NG Configuration</name> - + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-configuration</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> <properties> - <!-- TODO fix spotbugs violations --> <spotbugs.maxAllowedViolations>8</spotbugs.maxAllowedViolations> <pmd.maxAllowedViolations>17</pmd.maxAllowedViolations> <module.name>org.apache.flume.conf</module.name> </properties> - <dependencies> - <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </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-1.2-api</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-sdk</artifactId> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-config-filter-api</artifactId> </dependency> - </dependencies> </project> diff --git a/flume-ng-configuration/pom.xml b/flume-ng-configuration/pom.xml index edb67e188..c059fc02f 100644 --- a/flume-ng-configuration/pom.xml +++ b/flume-ng-configuration/pom.xml @@ -28,7 +28,7 @@ limitations under the License. <properties> <!-- TODO fix spotbugs violations --> - <spotbugs.maxAllowedViolations>8</spotbugs.maxAllowedViolations> + <spotbugs.maxAllowedViolations>36</spotbugs.maxAllowedViolations> <pmd.maxAllowedViolations>17</pmd.maxAllowedViolations> <module.name>org.apache.flume.conf</module.name> </properties> diff --git a/flume-ng-core/pom.xml b/flume-ng-core/.flattened-pom.xml similarity index 89% copy from flume-ng-core/pom.xml copy to flume-ng-core/.flattened-pom.xml index 2d2873bbf..72afcf063 100644 --- a/flume-ng-core/pom.xml +++ b/flume-ng-core/.flattened-pom.xml @@ -1,3 +1,4 @@ +<?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 @@ -14,298 +15,259 @@ 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"> - +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>flume-parent</artifactId> <groupId>org.apache.flume</groupId> + <artifactId>flume-parent</artifactId> <version>2.0.0-SNAPSHOT</version> <relativePath>../flume-parent/pom.xml</relativePath> </parent> - <groupId>org.apache.flume</groupId> <artifactId>flume-ng-core</artifactId> + <version>2.0.0-SNAPSHOT</version> <name>Flume NG Core</name> - + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-core</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> <properties> - <!-- TODO fix spotbugs violations --> <spotbugs.maxAllowedViolations>115</spotbugs.maxAllowedViolations> <pmd.maxAllowedViolations>121</pmd.maxAllowedViolations> <module.name>org.apache.flume.core</module.name> </properties> - <profiles> - <profile> - <id>not-windows</id> - <activation> - <os> - <family>!Windows</family> - </os> - </activation> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <version>${mvn-antrun-plugin.version}</version> - <executions> - <execution> - <id>generate-version</id> - <phase>generate-sources</phase> - <configuration> - <target> - <mkdir dir="${project.build.directory}/generated-sources/java"/> - <exec executable="sh"> - <arg - line = "${basedir}/scripts/saveVersion.sh ${project.version} ${project.build.directory}" /> - </exec> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <version>${mvn-build-helper-plugin}</version> - <executions> - <execution> - <id>add-source</id> - <phase>generate-sources</phase> - <goals> - <goal>add-source</goal> - </goals> - <configuration> - <sources> - <source>target/generated-sources/java</source> - </sources> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - </build> - </profile> - - <profile> - <id>windows</id> - <activation> - <os> - <family>Windows</family> - </os> - </activation> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <version>${mvn-antrun-plugin.version}</version> - <executions> - <execution> - <id>generate-version</id> - <phase>generate-sources</phase> - <configuration> - <target> - <mkdir dir="${project.build.directory}/generated-sources/java/org/apache/flume"/> - <exec executable="powershell"> - <arg - line = "-executionpolicy unrestricted -file ${basedir}\scripts\saveVersion.ps1 ${project.version} ${project.build.directory}" /> - </exec> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <version>${mvn-build-helper-plugin}</version> - <executions> - <execution> - <id>add-source</id> - <phase>generate-sources</phase> - <goals> - <goal>add-source</goal> - </goals> - <configuration> - <sources> - <source>target/generated-sources/java</source> - </sources> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - </build> - </profile> - - </profiles> - - <dependencies> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-sdk</artifactId> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-sdk</artifactId> <classifier>tests</classifier> <scope>test</scope> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-configuration</artifactId> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-auth</artifactId> </dependency> - <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> - <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> - <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> - <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> - <dependency> <groupId>com.jcraft</groupId> <artifactId>jzlib</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.apache.logging.log4j</groupId> <artifactId>log4j-1.2-api</artifactId> <scope>test</scope> </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-core</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> </dependency> - <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> </dependency> - <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> </dependency> - <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> </dependency> - <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> </dependency> - <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> </dependency> - <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jmx</artifactId> </dependency> - <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> - <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> </dependency> - <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient</artifactId> </dependency> - <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_servlet</artifactId> </dependency> - </dependencies> - + <profiles> + <profile> + <id>not-windows</id> + <activation> + <os> + <family>!Windows</family> + </os> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>${mvn-antrun-plugin.version}</version> + <executions> + <execution> + <id>generate-version</id> + <phase>generate-sources</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target> + <mkdir dir="${project.build.directory}/generated-sources/java" /> + <exec executable="sh"> + <arg line="${basedir}/scripts/saveVersion.sh ${project.version} ${project.build.directory}" /> + </exec> + </target> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>${mvn-build-helper-plugin}</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>target/generated-sources/java</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>windows</id> + <activation> + <os> + <family>Windows</family> + </os> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>${mvn-antrun-plugin.version}</version> + <executions> + <execution> + <id>generate-version</id> + <phase>generate-sources</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target> + <mkdir dir="${project.build.directory}/generated-sources/java/org/apache/flume" /> + <exec executable="powershell"> + <arg line="-executionpolicy unrestricted -file ${basedir}\scripts\saveVersion.ps1 ${project.version} ${project.build.directory}" /> + </exec> + </target> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>${mvn-build-helper-plugin}</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>target/generated-sources/java</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/flume-ng-core/pom.xml b/flume-ng-core/pom.xml index 2d2873bbf..a98a8ac80 100644 --- a/flume-ng-core/pom.xml +++ b/flume-ng-core/pom.xml @@ -287,7 +287,7 @@ limitations under the License. <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-core/src/test/java/org/apache/flume/sink/TestRollingFileSink.java b/flume-ng-core/src/test/java/org/apache/flume/sink/TestRollingFileSink.java index 9e0b5d593..1faefa37e 100644 --- a/flume-ng-core/src/test/java/org/apache/flume/sink/TestRollingFileSink.java +++ b/flume-ng-core/src/test/java/org/apache/flume/sink/TestRollingFileSink.java @@ -31,12 +31,12 @@ import org.apache.flume.channel.PseudoTxnMemoryChannel; import org.apache.flume.conf.Configurables; import org.apache.flume.event.SimpleEvent; import org.apache.flume.instrumentation.SinkCounter; +import org.apache.flume.util.Whitebox; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/flume-ng-core/src/test/java/org/apache/flume/source/TestMultiportSyslogTCPSource.java b/flume-ng-core/src/test/java/org/apache/flume/source/TestMultiportSyslogTCPSource.java index 63e8100c0..84adaf8b7 100644 --- a/flume-ng-core/src/test/java/org/apache/flume/source/TestMultiportSyslogTCPSource.java +++ b/flume-ng-core/src/test/java/org/apache/flume/source/TestMultiportSyslogTCPSource.java @@ -66,7 +66,7 @@ import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; +import org.apache.flume.util.Whitebox; import static java.time.ZoneOffset.UTC; import static org.junit.Assert.assertEquals; @@ -550,7 +550,7 @@ public class TestMultiportSyslogTCPSource { List<Event> channelEvents = new ArrayList<>(); ChannelProcessor cp = Mockito.mock(ChannelProcessor.class); doThrow(new ChannelException("dummy")).doNothing().when(cp) - .processEventBatch(anyListOf(Event.class)); + .processEventBatch(anyList()); List<Socket> socketList = new ArrayList<>(); try { testNPorts(source, channel, channelEvents, 1, cp, diff --git a/flume-ng-core/src/test/java/org/apache/flume/source/TestSequenceGeneratorSource.java b/flume-ng-core/src/test/java/org/apache/flume/source/TestSequenceGeneratorSource.java index a2a0832a2..50fa65d1c 100644 --- a/flume-ng-core/src/test/java/org/apache/flume/source/TestSequenceGeneratorSource.java +++ b/flume-ng-core/src/test/java/org/apache/flume/source/TestSequenceGeneratorSource.java @@ -89,7 +89,7 @@ public class TestSequenceGeneratorSource { ArgumentCaptor<Event> argumentCaptor = ArgumentCaptor.forClass(Event.class); Mockito.verify(cp, Mockito.times(6)).processEvent(argumentCaptor.capture()); - Mockito.verify(cp, Mockito.never()).processEventBatch(Mockito.anyListOf(Event.class)); + Mockito.verify(cp, Mockito.never()).processEventBatch(Mockito.anyList()); verifyEventSequence(TOTAL_EVENTS, argumentCaptor.getAllValues()); } @@ -109,7 +109,7 @@ public class TestSequenceGeneratorSource { .doNothing() .doThrow(ChannelException.class) //failure injection on the second batch .doNothing() - .when(cp).processEventBatch(Mockito.anyListOf(Event.class)); + .when(cp).processEventBatch(Mockito.anyList()); source.setChannelProcessor(cp); source.start(); diff --git a/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogTcpSource.java b/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogTcpSource.java index df4c760a5..18e40d67c 100644 --- a/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogTcpSource.java +++ b/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogTcpSource.java @@ -48,7 +48,7 @@ import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; import javax.net.SocketFactory; diff --git a/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUdpSource.java b/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUdpSource.java index d5edaf95d..cef5b7794 100644 --- a/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUdpSource.java +++ b/flume-ng-core/src/test/java/org/apache/flume/source/TestSyslogUdpSource.java @@ -47,7 +47,7 @@ import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; public class TestSyslogUdpSource { diff --git a/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java b/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java index 273f9c15b..0218ed6d0 100644 --- a/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java +++ b/flume-ng-core/src/test/java/org/apache/flume/source/http/TestHTTPSource.java @@ -47,7 +47,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; +import org.apache.flume.util.Whitebox; import javax.management.MBeanServer; import javax.management.MalformedObjectNameException; @@ -82,7 +82,7 @@ import java.util.Random; import java.util.Set; import static org.fest.reflect.core.Reflection.field; -import static org.mockito.Matchers.anyListOf; +import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.Mockito.doThrow; /** @@ -310,7 +310,7 @@ public class TestHTTPSource { @Test public void testCounterGenericFail() throws Exception { ChannelProcessor cp = Mockito.mock(ChannelProcessor.class); - doThrow(new RuntimeException("dummy")).when(cp).processEventBatch(anyListOf(Event.class)); + doThrow(new RuntimeException("dummy")).when(cp).processEventBatch(anyList()); ChannelProcessor oldCp = httpSource.getChannelProcessor(); httpSource.setChannelProcessor(cp); testBatchWithVariousEncoding("UTF-8"); diff --git a/flume-ng-embedded-agent/pom.xml b/flume-ng-embedded-agent/pom.xml index 515321118..c8517f507 100644 --- a/flume-ng-embedded-agent/pom.xml +++ b/flume-ng-embedded-agent/pom.xml @@ -90,7 +90,7 @@ limitations under the License. <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-node/pom.xml b/flume-ng-node/pom.xml index f4c4b4c70..883895689 100644 --- a/flume-ng-node/pom.xml +++ b/flume-ng-node/pom.xml @@ -139,7 +139,7 @@ <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-auth/pom.xml b/flume-ng-sdk/.flattened-pom.xml similarity index 57% copy from flume-ng-auth/pom.xml copy to flume-ng-sdk/.flattened-pom.xml index e213d7844..dcc896a0c 100644 --- a/flume-ng-auth/pom.xml +++ b/flume-ng-sdk/.flattened-pom.xml @@ -1,3 +1,4 @@ +<?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 @@ -14,79 +15,77 @@ 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"> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>flume-parent</artifactId> <groupId>org.apache.flume</groupId> + <artifactId>flume-parent</artifactId> <version>2.0.0-SNAPSHOT</version> <relativePath>../flume-parent/pom.xml</relativePath> </parent> - - <artifactId>flume-ng-auth</artifactId> - <name>Flume Auth</name> - <description>Flume Authentication</description> - + <artifactId>flume-ng-sdk</artifactId> + <version>2.0.0-SNAPSHOT</version> + <name>Flume NG SDK</name> + <description>Flume Software Development Kit: Stable public API for integration with Flume 1.x</description> + <url>https://logging.apache.org/logging-parent/flume-parent/flume-ng-sdk</url> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> <properties> - <!-- TODO fix spotbugs/pmd violations --> - <spotbugs.maxAllowedViolations>1</spotbugs.maxAllowedViolations> - <pmd.maxAllowedViolations>7</pmd.maxAllowedViolations> - <module.name>org.apache.flume.auth</module.name> + <spotbugs.maxAllowedViolations>69</spotbugs.maxAllowedViolations> + <pmd.maxAllowedViolations>170</pmd.maxAllowedViolations> + <module.name>org.apache.flume.sdk</module.name> </properties> - <dependencies> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> - <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-slf4j-impl</artifactId> - <scope>test</scope> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> </dependency> - <dependency> <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-1.2-api</artifactId> + <artifactId>log4j-slf4j-impl</artifactId> <scope>test</scope> </dependency> - - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-common</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.apache.flume</groupId> - <artifactId>flume-ng-sdk</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-minikdc</artifactId> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-jul</artifactId> <scope>test</scope> </dependency> <dependency> - <!-- add this to satisfy the dependency requirement of apacheds-jdbm1 in minikdc--> - <groupId>org.apache.directory.jdbm</groupId> - <artifactId>apacheds-jdbm1</artifactId> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-1.2-api</artifactId> <scope>test</scope> </dependency> <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> </dependency> - </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> </project> diff --git a/flume-ng-sdk/src/test/java/org/apache/flume/util/Whitebox.java b/flume-ng-sdk/src/test/java/org/apache/flume/util/Whitebox.java new file mode 100644 index 000000000..859ed2501 --- /dev/null +++ b/flume-ng-sdk/src/test/java/org/apache/flume/util/Whitebox.java @@ -0,0 +1,32 @@ +/* + * 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.util; + +import org.apache.commons.lang.reflect.FieldUtils; + +public class Whitebox { + public static <T> T getInternalState(Object target, String fieldName) { + try { + return (T) FieldUtils.readField(target, fieldName, true); + } catch (IllegalAccessException ex) { + throw new RuntimeException("Unable to access field " + fieldName, ex); + } + } +} diff --git a/flume-ng-sources/flume-taildir-source/pom.xml b/flume-ng-sources/flume-taildir-source/pom.xml index 8217aafd0..91a1a4a68 100644 --- a/flume-ng-sources/flume-taildir-source/pom.xml +++ b/flume-ng-sources/flume-taildir-source/pom.xml @@ -51,7 +51,7 @@ limitations under the License. <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> diff --git a/flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java b/flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java index a236f30c4..7a2012190 100644 --- a/flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java +++ b/flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java @@ -41,7 +41,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; +import org.apache.flume.util.Whitebox; import java.io.File; import java.io.IOException; @@ -376,7 +376,7 @@ public class TestTaildirSource { ChannelProcessor cp = Mockito.mock(ChannelProcessor.class); source.setChannelProcessor(cp); doThrow(new ChannelException("dummy")).doNothing().when(cp) - .processEventBatch(anyListOf(Event.class)); + .processEventBatch(anyList(Event.class)); source.start(); source.process(); assertEquals(1, source.getSourceCounter().getChannelWriteFail()); diff --git a/flume-parent/pom.xml b/flume-parent/.flattened-pom.xml similarity index 85% copy from flume-parent/pom.xml copy to flume-parent/.flattened-pom.xml index 5997b66c4..3be918501 100644 --- a/flume-parent/pom.xml +++ b/flume-parent/.flattened-pom.xml @@ -15,686 +15,308 @@ 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"> - +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.apache</groupId> - <artifactId>apache</artifactId> - <version>23</version> + <groupId>org.apache.logging</groupId> + <artifactId>logging-parent</artifactId> + <version>12.1.1</version> </parent> - - <modelVersion>4.0.0</modelVersion> <groupId>org.apache.flume</groupId> <artifactId>flume-parent</artifactId> <version>2.0.0-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> - <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-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>29.0-jre</guava.version> - <guava-old.version>11.0.2</guava-old.version> - <hadoop3.version>3.2.2</hadoop3.version> - <hadoop.version>${hadoop3.version}</hadoop.version> - <hbase2.version>2.5.3-hadoop3</hbase2.version> - <hbase.version>${hbase2.version}</hbase.version> - <hive.version>3.1.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.51.v20230217</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> - <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.2.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>3.2.0</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.9.0</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.86.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> - <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> - <os.maven.version>1.5.0.Final</os.maven.version> - <redirectTestOutput>true</redirectTestOutput> - <checkstyle.skip>true</checkstyle.skip> - </properties> - - <profiles> - - <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> - + <url>https://logging.apache.org/logging-parent/flume-parent</url> <inceptionYear>2009</inceptionYear> - - <issueManagement> - <system>JIRA</system> - <url>https://issues.apache.org/jira/browse/FLUME</url> - </issueManagement> - + <organization> + <name>Apache Software Foundation</name> + <url>http://www.apache.org</url> + </organization> <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> + <name>Andrew Bayer</name> <email>[email protected]</email> <organization>Cloudera</organization> </developer> <developer> - <name>Ahmed Radwan</name> <id>ahmed</id> + <name>Ahmed Radwan</name> <email>[email protected]</email> <organization>Cloudera</organization> </developer> <developer> - <name>Arvind Prabhakar</name> <id>arvind</id> + <name>Arvind Prabhakar</name> <email>[email protected]</email> <organization>Cloudera</organization> </developer> <developer> - <name>Brock Noland</name> <id>brock</id> + <name>Brock Noland</name> <email>[email protected]</email> <organization>Cloudera</organization> </developer> <developer> - <name>Bruce Mitchener</name> <id>brucem</id> + <name>Bruce Mitchener</name> <email>[email protected]</email> <organization>-</organization> </developer> <developer> - <name>Derek Deeter</name> <id>ddeeter</id> + <name>Derek Deeter</name> <email>[email protected]</email> <organization>Intuit</organization> </developer> <developer> - <name>Eric Sammer</name> <id>esammer</id> + <name>Eric Sammer</name> <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>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-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.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> - + <developer> + <id>henry</id> + <name>Henry Robinson</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>hshreedharan</id> + <name>Hari Shreedharan</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>jarcec</id> + <name>Jaroslav Cecho</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>jmhsieh</id> + <name>Jonathan Hsieh</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>juhanic</id> + <name>Juhani Connolly</name> + <email>[email protected]</email> + <organization>CyberAgent</organization> + </developer> + <developer> + <id>kimballa</id> + <name>Aaron Kimball</name> + <email>[email protected]</email> + <organization>Odiago</organization> + </developer> + <developer> + <id>mlai</id> + <name>Mingjie Lai</name> + <email>[email protected]</email> + <organization>Trend Micro</organization> + </developer> + <developer> + <id>mpercy</id> + <name>Mike Percy</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>nerdynick</id> + <name>Nick Verbeck</name> + <email>[email protected]</email> + <organization>-</organization> + </developer> + <developer> + <id>phunt</id> + <name>Patrick Hunt</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>prasadm</id> + <name>Prasad Mujumdar</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>rgoers</id> + <name>Ralph Goers</name> + <email>[email protected]</email> + <organization>Intuit</organization> + </developer> + <developer> + <id>will</id> + <name>Will McQueen</name> + <email>[email protected]</email> + <organization>Cloudera</organization> + </developer> + <developer> + <id>roshannaik</id> + <name>Roshan</name> + <email>[email protected]</email> + <organization>Hortonworks</organization> + </developer> + </developers> + <mailingLists> + <mailingList> + <name>Flume User List</name> + <subscribe>[email protected]</subscribe> + <unsubscribe>[email protected]</unsubscribe> + <post>[email protected]</post> + <archive>http://mail-archives.apache.org/mod_mbox/flume-user/</archive> + </mailingList> + <mailingList> + <name>Flume Developer List</name> + <subscribe>[email protected]</subscribe> + <unsubscribe>[email protected]</unsubscribe> + <post>[email protected]</post> + <archive>http://mail-archives.apache.org/mod_mbox/flume-dev/</archive> + </mailingList> + <mailingList> + <name>Flume Commits</name> + <subscribe>[email protected]</subscribe> + <unsubscribe>[email protected]</unsubscribe> + <post>[email protected]</post> + <archive>http://mail-archives.apache.org/mod_mbox/flume-commits/</archive> + </mailingList> + </mailingLists> + <scm> + <connection>scm:git:http://git-wip-us.apache.org/repos/asf/flume.git</connection> + <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/flume.git</developerConnection> + <url>https://git-wip-us.apache.org/repos/asf?p=flume.git;a=tree;h=refs/heads/trunk;hb=trunk</url> + </scm> + <issueManagement> + <system>JIRA</system> + <url>https://issues.apache.org/jira/browse/FLUME</url> + </issueManagement> + <ciManagement> + <system>jenkins</system> + <url>https://builds.apache.org/job/flume-trunk</url> + </ciManagement> + <properties> + <spotbugs-annotations.version>4.2.0</spotbugs-annotations.version> + <wiremock.version>1.53</wiremock.version> + <stagingDirectory>${project.basedir}/target/docs</stagingDirectory> + <external.protobuf.version>2.5.0</external.protobuf.version> + <os.maven.version>1.5.0.Final</os.maven.version> + <hbase2.version>2.5.3-hadoop3</hbase2.version> + <slf4j.version>1.7.32</slf4j.version> + <rat.version>0.12</rat.version> + <log4j.version>2.18.0</log4j.version> + <commons-codec.version>1.15</commons-codec.version> + <system-rules.version>1.17.0</system-rules.version> + <mvn-compiler-plugin.version>3.8.1</mvn-compiler-plugin.version> + <hadoop3.version>3.2.2</hadoop3.version> + <checkstyle.tool.version>8.45.1</checkstyle.tool.version> + <commons-compress.version>1.21</commons-compress.version> + <checkstyle.skip>true</checkstyle.skip> + <bundle-plugin.version>2.3.7</bundle-plugin.version> + <kudu.version>1.10.0</kudu.version> + <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version> + <jersey.version>1.8</jersey.version> + <activemq.version>5.7.0</activemq.version> + <scala-library.version>2.13.9</scala-library.version> + <fasterxml.jackson.databind.version>2.13.2.1</fasterxml.jackson.databind.version> + <httpclient.version>4.5.13</httpclient.version> + <mvn-checksum-plugin.version>1.7</mvn-checksum-plugin.version> + <zlib.version>1.1.3</zlib.version> + <gson.version>2.9.1</gson.version> + <mvn-jar-plugin.version>3.2.2</mvn-jar-plugin.version> + <mvn-paranamer-plugin.version>2.8</mvn-paranamer-plugin.version> + <commons-io.version>2.11.0</commons-io.version> + <test.include.pattern>**/Test*.java</test.include.pattern> + <mina.version>2.1.5</mina.version> + <mvn-javadoc-plugin.version>3.2.0</mvn-javadoc-plugin.version> + <hive.version>3.1.2</hive.version> + <parquet.version>1.11.2</parquet.version> + <mockito.version>1.9.0</mockito.version> + <httpcore.version>4.4.15</httpcore.version> + <guava-old.version>11.0.2</guava-old.version> + <hbase.version>${hbase2.version}</hbase.version> + <commons-text.version>1.10.0</commons-text.version> + <project.build.outputTimestamp>2022-01-02T00:00:00Z</project.build.outputTimestamp> + <joda-time.version>2.9.9</joda-time.version> + <fest-reflect.version>1.4</fest-reflect.version> + <mvn-build-helper-plugin>3.0.0</mvn-build-helper-plugin> + <kite.version>1.1.0</kite.version> + <zookeeper.version>3.6.2</zookeeper.version> + <fasterxml.jackson.version>2.13.2</fasterxml.jackson.version> + <hadoop.version>${hadoop3.version}</hadoop.version> + <junit.version>4.13.2</junit.version> + <mvn-pmd-plugin.version>3.15.0</mvn-pmd-plugin.version> + <commons-collections.version>3.2.2</commons-collections.version> + <mvn-site-plugin.version>3.9.0</mvn-site-plugin.version> + <protobuf.plugin.version>0.6.1</protobuf.plugin.version> + <commons-cli.version>1.5.0</commons-cli.version> + <twitter-source.version>2.0.0</twitter-source.version> + <netty-all.version>4.1.86.Final</netty-all.version> + <commons-lang.version>2.6</commons-lang.version> + <mapdb.version>0.9.9</mapdb.version> + <mvn-deploy-plugin.version>2.8.2</mvn-deploy-plugin.version> + <scala.version>2.13</scala.version> + <GPGSigningUserName>[email protected]</GPGSigningUserName> + <curator.version>5.1.0</curator.version> + <mvn-gpg-plugin.version>1.6</mvn-gpg-plugin.version> + <mvn-antrun-plugin.version>1.8</mvn-antrun-plugin.version> + <asynchbase.version>1.8.2</asynchbase.version> + <jdom.version>1.1.3</jdom.version> + <jetty.version>9.4.51.v20230217</jetty.version> + <guava.version>29.0-jre</guava.version> + <test.exclude.pattern>$</test.exclude.pattern> + <mvn-assembly-plugin.version>3.2.0</mvn-assembly-plugin.version> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <geronimo-jms.version>1.1.1</geronimo-jms.version> + <mvn-checkstyle-plugin.version>3.1.2</mvn-checkstyle-plugin.version> + <irclib.version>1.10</irclib.version> + <redirectTestOutput>true</redirectTestOutput> + <dropwizard-metrics.version>4.1.18</dropwizard-metrics.version> + <snappy-java.version>1.1.8.4</snappy-java.version> + <derby.version>10.14.2.0</derby.version> + <prometheus.version>0.15.0</prometheus.version> + <solr-global.version>4.3.0</solr-global.version> + <mvn-clean-plugin.version>3.1.0</mvn-clean-plugin.version> + </properties> <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> + <artifactId>mockito-core</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.flume</groupId> <artifactId>flume-rpc-avro</artifactId> <version>${project.version}</version> </dependency> - <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> @@ -710,232 +332,190 @@ limitations under the License. <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.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>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> - <scope>compile</scope> <version>${external.protobuf.version}</version> + <scope>compile</scope> </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-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-dependencies</artifactId> <version>${project.version}</version> - <scope>import</scope> <type>pom</type> + <scope>import</scope> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>build-support</artifactId> <version>${project.version}</version> </dependency> - <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-sdk</artifactId> @@ -943,25 +523,21 @@ limitations under the License. <classifier>tests</classifier> <scope>test</scope> </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> @@ -977,43 +553,31 @@ limitations under the License. </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> - <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> @@ -1029,7 +593,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hive.hcatalog</groupId> <artifactId>hive-hcatalog-core</artifactId> @@ -1045,7 +608,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-cli</artifactId> @@ -1061,32 +623,26 @@ limitations under the License. </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> @@ -1105,6 +661,7 @@ limitations under the License. <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> + <optional>true</optional> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> @@ -1155,8 +712,8 @@ limitations under the License. <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> - <scope>test</scope> <version>${hadoop.version}</version> + <scope>test</scope> <exclusions> <exclusion> <groupId>tomcat</groupId> @@ -1204,8 +761,8 @@ limitations under the License. <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> - <scope>test</scope> <version>${hadoop.version}</version> + <scope>test</scope> <exclusions> <exclusion> <groupId>log4j</groupId> @@ -1222,10 +779,6 @@ limitations under the License. <artifactId>hadoop-distcp</artifactId> <version>${hadoop.version}</version> </dependency> - - <!-- Ideally this should be optional, but making it optional causes - build to fail. - --> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> @@ -1241,7 +794,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> @@ -1259,7 +811,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-testing-util</artifactId> @@ -1275,13 +826,6 @@ limitations under the License. </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> @@ -1297,7 +841,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-common</artifactId> @@ -1315,7 +858,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> @@ -1340,7 +882,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> @@ -1366,7 +907,6 @@ limitations under the License. </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> @@ -1382,19 +922,16 @@ limitations under the License. </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> - <dependency> <groupId>net.jcip</groupId> <artifactId>jcip-annotations</artifactId> @@ -1404,7 +941,7 @@ limitations under the License. <dependency> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-annotations</artifactId> - <version>${mvn-spotbugs-plugin.version}</version> + <version>${spotbugs-annotations.version}</version> <optional>true</optional> </dependency> <dependency> @@ -1421,11 +958,164 @@ limitations under the License. </dependency> </dependencies> </dependencyManagement> - + <build> + <extensions> + <extension> + <groupId>kr.motd.maven</groupId> + <artifactId>os-maven-plugin</artifactId> + <version>${os.maven.version}</version> + </extension> + </extensions> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> + <version>${protobuf.plugin.version}</version> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <reuseForks>false</reuseForks> + <forkCount>1</forkCount> + <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> + <jdkToolchain> + <version>[1.8, 9)</version> + </jdkToolchain> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <version>${rat.version}</version> + <executions> + <execution> + <id>verify.rat</id> + <phase>verify</phase> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + <configuration> + <excludes combine.children="append"></excludes> + <consoleOutput>true</consoleOutput> + </configuration> + </plugin> + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + <version>${mvn-javadoc-plugin.version}</version> + <configuration> + <outputDirectory>${project.build.directory}/site/apidocs</outputDirectory> + <includeDependencySources>true</includeDependencySources> + <dependencySourceIncludes> + <dependencySourceInclude>org.apache.flume:*</dependencySourceInclude> + </dependencySourceIncludes> + <additionalparam>-Xdoclint:none</additionalparam> + </configuration> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>${mvn-assembly-plugin.version}</version> + </plugin> + <plugin> + <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> + <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> + <artifactId>maven-pmd-plugin</artifactId> + <version>${mvn-pmd-plugin.version}</version> + <executions> + <execution> + <id>verify.pmd</id> + <phase>verify</phase> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + <configuration> + <targetJdk>${targetJavaVersion}</targetJdk> + <excludeRoots> + <excludeRoot>${project.build.directory}/generated-sources</excludeRoot> + </excludeRoots> + </configuration> + </plugin> + <plugin> + <groupId>net.nicoulaj.maven.plugins</groupId> + <artifactId>checksum-maven-plugin</artifactId> + <version>${mvn-checksum-plugin.version}</version> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <compilerArgs> + <arg>-Xlint:all</arg> + </compilerArgs> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + </plugin> + <plugin> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> + </plugin> + <plugin> + <artifactId>maven-pmd-plugin</artifactId> + </plugin> + </plugins> + </build> <reporting> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <reportSets> <reportSet> @@ -1442,7 +1132,6 @@ limitations under the License. </reportSets> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> <plugin> @@ -1450,10 +1139,90 @@ limitations under the License. <artifactId>spotbugs-maven-plugin</artifactId> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> </plugin> </plugins> </reporting> - + <profiles> + <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> + <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> + <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> + <rat.skip>true</rat.skip> + <pmd.skip>true</pmd.skip> + </properties> + </profile> + </profiles> </project> diff --git a/flume-parent/pom.xml b/flume-parent/pom.xml index 5997b66c4..8d25f55d5 100644 --- a/flume-parent/pom.xml +++ b/flume-parent/pom.xml @@ -39,8 +39,7 @@ limitations under the License. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Java compiler configuration --> - <sourceJavaVersion>1.8</sourceJavaVersion> - <targetJavaVersion>1.8</targetJavaVersion> + <releaseJavaVersion>17</releaseJavaVersion> <!-- Signing User for release --> <GPGSigningUserName>[email protected]</GPGSigningUserName> @@ -90,7 +89,7 @@ limitations under the License. <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> + <mockito.version>5.18.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.2.0</mvn-assembly-plugin.version> @@ -106,7 +105,7 @@ limitations under the License. <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.9.0</mvn-site-plugin.version> - <mvn-spotbugs-plugin.version>4.2.0</mvn-spotbugs-plugin.version> + <mvn-spotbugs-plugin.version>4.9.3.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.86.Final</netty-all.version> @@ -193,20 +192,6 @@ limitations under the License. <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> @@ -456,8 +441,7 @@ limitations under the License. <artifactId>maven-compiler-plugin</artifactId> <version>${mvn-compiler-plugin.version}</version> <configuration> - <source>${sourceJavaVersion}</source> - <target>${targetJavaVersion}</target> + <release>${releaseJavaVersion}</release> </configuration> </plugin> @@ -585,15 +569,6 @@ limitations under the License. <version>${mvn-assembly-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> @@ -670,7 +645,7 @@ limitations under the License. <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> diff --git a/flume-rpc/flume-rpc-avro/pom.xml b/flume-rpc/flume-rpc-avro/pom.xml index 0b6cd6d99..962fc9a6e 100644 --- a/flume-rpc/flume-rpc-avro/pom.xml +++ b/flume-rpc/flume-rpc-avro/pom.xml @@ -116,13 +116,26 @@ limitations under the License. </dependency> <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${mvn-compiler-plugin.version}</version> + <configuration> + <release>${releaseJavaVersion}</release> + <compilerArgs> + <arg>-parameters</arg> + <arg>--add-exports=java.base/sun.nio.ch=ALL-UNNAMED</arg> + <arg>--add-exports=java.management/sun.management=ALL-UNNAMED</arg> + </compilerArgs> + </configuration> + </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> @@ -190,22 +203,6 @@ limitations under the License. </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> diff --git a/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/sink/TestAvroSink.java b/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/sink/TestAvroSink.java index 50722eafe..4c4775388 100644 --- a/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/sink/TestAvroSink.java +++ b/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/sink/TestAvroSink.java @@ -48,7 +48,7 @@ import org.apache.flume.source.avro.Status; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; +import org.apache.flume.util.Whitebox; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/source/TestSpoolDirectorySource.java b/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/source/TestSpoolDirectorySource.java index db9cd1983..768db0146 100644 --- a/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/source/TestSpoolDirectorySource.java +++ b/flume-rpc/flume-rpc-avro/src/test/java/org/apache/flume/rpc/avro/source/TestSpoolDirectorySource.java @@ -40,7 +40,7 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.mockito.Matchers; +import org.mockito.ArgumentMatchers; import org.mockito.Mockito; import java.io.ByteArrayOutputStream; @@ -524,7 +524,7 @@ public class TestSpoolDirectorySource { Mockito.doThrow(new ChannelException("dummy")) .doThrow(new ChannelFullException("dummy")) .doThrow(new RuntimeException("runtime")) - .when(cp).processEventBatch(Matchers.anyListOf(Event.class)); + .when(cp).processEventBatch(ArgumentMatchers.anyList(Event.class)); source.setChannelProcessor(cp); ReliableSpoolingFileEventReader reader = Mockito.mock(ReliableSpoolingFileEventReader.class); diff --git a/flume-rpc/flume-rpc-thrift/pom.xml b/flume-rpc/flume-rpc-thrift/pom.xml index e73e7eda7..edae37603 100644 --- a/flume-rpc/flume-rpc-thrift/pom.xml +++ b/flume-rpc/flume-rpc-thrift/pom.xml @@ -74,7 +74,7 @@ limitations under the License. </dependency> <dependency> <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> + <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> </dependencies> diff --git a/flume-rpc/flume-rpc-thrift/src/test/java/org/apache/flume/rpc/thrift/ThriftTestingSource.java b/flume-rpc/flume-rpc-thrift/src/test/java/org/apache/flume/rpc/thrift/ThriftTestingSource.java index 6e0df8a32..35144c121 100644 --- a/flume-rpc/flume-rpc-thrift/src/test/java/org/apache/flume/rpc/thrift/ThriftTestingSource.java +++ b/flume-rpc/flume-rpc-thrift/src/test/java/org/apache/flume/rpc/thrift/ThriftTestingSource.java @@ -57,7 +57,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.Whitebox; +import org.apache.flume.util.Whitebox; import java.io.IOException; import java.lang.reflect.Method; @@ -78,8 +78,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyListOf; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.Mockito.doThrow; public class ThriftTestingSource { @@ -591,7 +591,7 @@ public class ThriftTestingSource { source.configure(context); ChannelProcessor cp = Mockito.mock(ChannelProcessor.class); doThrow(new ChannelException("dummy")).when(cp).processEvent(any(Event.class)); - doThrow(new ChannelException("dummy")).when(cp).processEventBatch(anyListOf(Event.class)); + doThrow(new ChannelException("dummy")).when(cp).processEventBatch(anyList(Event.class)); source.setChannelProcessor(cp); source.start(); Event event = EventBuilder.withBody("hello".getBytes()); diff --git a/flume-rpc/pom.xml b/flume-rpc/pom.xml index f474e11f9..ff904a2d7 100644 --- a/flume-rpc/pom.xml +++ b/flume-rpc/pom.xml @@ -45,7 +45,6 @@ limitations under the License. <mockito.version>1.9.0</mockito.version> <mvn-gpg-plugin.version>1.6</mvn-gpg-plugin.version> <mvn-javadoc-plugin.version>2.9</mvn-javadoc-plugin.version> - <mvn-paranamer-plugin.version>2.8.3</mvn-paranamer-plugin.version> <mvn-surefire-plugin.version>3.5.5</mvn-surefire-plugin.version> <netty-all.version>4.1.86.Final</netty-all.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -126,11 +125,6 @@ limitations under the License. <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-surefire-plugin</artifactId>
