From da90dcaeffe8d4a3c68a3ce9532eddfd27dc928c Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Thu, 1 Sep 2022 20:29:59 +0100 Subject: [PATCH 1/9] [HADOOP-18342] shaded avro jar --- hadoop-shaded-avro/pom.xml | 108 +++++++++++++++++++++++++++++++++++++ pom.xml | 2 + 2 files changed, 110 insertions(+) create mode 100644 hadoop-shaded-avro/pom.xml diff --git a/hadoop-shaded-avro/pom.xml b/hadoop-shaded-avro/pom.xml new file mode 100644 index 0000000..25f26c2 --- /dev/null +++ b/hadoop-shaded-avro/pom.xml @@ -0,0 +1,108 @@ + + + + + hadoop-thirdparty + org.apache.hadoop.thirdparty + 1.2.0-SNAPSHOT + .. + + 4.0.0 + hadoop-shaded-avro + Apache Hadoop shaded Avro + jar + + + + org.apache.avro + avro + ${avro.version} + + + + + + + ${project.basedir}/.. + META-INF + + licenses-binary/* + NOTICE.txt + NOTICE-binary + + + + ${project.basedir}/src/main/resources + + + + + org.apache.maven.plugins + maven-shade-plugin + + true + + + + shade-avro + package + + shade + + + + + org.apache.commons:commons-compress + org.slf4j:slf4j-api + + + + + org/apache/avro + ${shaded.prefix}/avro + + + com.fasterxml.jackson + ${shaded.prefix}/avro/jackson + + + + + + NOTICE + LICENSE + + + + META-INF/LICENSE.txt + ${basedir}/../LICENSE-binary + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index bdb2e7d..aea7c41 100644 --- a/pom.xml +++ b/pom.xml @@ -96,6 +96,7 @@ ${shaded.prefix}.protobuf 3.7.1 30.1.1-jre + 1.11.1 2.8.1 @@ -124,6 +125,7 @@ hadoop-shaded-protobuf_3_7 hadoop-shaded-guava + hadoop-shaded-avro From b0162cd96fcd11446840f302e6d868886874f318 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sat, 3 Sep 2022 00:26:31 +0100 Subject: [PATCH 2/9] exclude jackson from shaded avro jar --- hadoop-shaded-avro/pom.xml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/hadoop-shaded-avro/pom.xml b/hadoop-shaded-avro/pom.xml index 25f26c2..48df3f8 100644 --- a/hadoop-shaded-avro/pom.xml +++ b/hadoop-shaded-avro/pom.xml @@ -73,6 +73,7 @@ org.apache.commons:commons-compress org.slf4j:slf4j-api + com.fasterxml.jackson.core:* @@ -80,19 +81,8 @@ org/apache/avro ${shaded.prefix}/avro - - com.fasterxml.jackson - ${shaded.prefix}/avro/jackson - - - - NOTICE - LICENSE - - META-INF/LICENSE.txt From 2c23f74bb8e2f610bbf775e00c98c4d07c669563 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sun, 4 Sep 2022 19:43:18 +0100 Subject: [PATCH 3/9] set promoteTransitiveDependencies=true --- hadoop-shaded-avro/pom.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hadoop-shaded-avro/pom.xml b/hadoop-shaded-avro/pom.xml index 48df3f8..f3c451a 100644 --- a/hadoop-shaded-avro/pom.xml +++ b/hadoop-shaded-avro/pom.xml @@ -60,6 +60,7 @@ maven-shade-plugin true + true @@ -70,11 +71,9 @@ - - org.apache.commons:commons-compress - org.slf4j:slf4j-api - com.fasterxml.jackson.core:* - + + org.apache.avro:avro + From dbb20a7fd048c79ba0fab08b0f00d2a7206eeb2f Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sun, 4 Sep 2022 20:10:35 +0100 Subject: [PATCH 4/9] Update pom.xml --- hadoop-shaded-avro/pom.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hadoop-shaded-avro/pom.xml b/hadoop-shaded-avro/pom.xml index f3c451a..f0f43d8 100644 --- a/hadoop-shaded-avro/pom.xml +++ b/hadoop-shaded-avro/pom.xml @@ -49,6 +49,9 @@ NOTICE.txt NOTICE-binary + + META-INF/maven/org.apache.avro/* + ${project.basedir}/src/main/resources @@ -59,8 +62,8 @@ org.apache.maven.plugins maven-shade-plugin - true true + true From ef4dbbe6e909d8838c2a3d150f3628c519f5cbc5 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sun, 4 Sep 2022 21:09:51 +0100 Subject: [PATCH 5/9] hadoop-shaded-avro-maven-plugin (WIP) --- META-INF/maven/plugin.xml | 1018 +++++++++++++++++++++++ hadoop-shaded-avro-maven-plugin/pom.xml | 97 +++ pom.xml | 1 + 3 files changed, 1116 insertions(+) create mode 100644 META-INF/maven/plugin.xml create mode 100644 hadoop-shaded-avro-maven-plugin/pom.xml diff --git a/META-INF/maven/plugin.xml b/META-INF/maven/plugin.xml new file mode 100644 index 0000000..5a67a8c --- /dev/null +++ b/META-INF/maven/plugin.xml @@ -0,0 +1,1018 @@ + + + + + + Apache Avro Maven Plugin + Maven plugin for Avro IDL and Specific API Compilers + org.apache.avro + avro-maven-plugin + 1.11.1 + avro + false + true + + + help + Display help information on avro-maven-plugin.<br> +Call <code>mvn avro:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</code> to display parameter details. + false + false + false + false + false + true + org.apache.avro.mojo.HelpMojo + java + per-lookup + once-per-session + true + + + detail + boolean + false + true + If <code>true</code>, display all settable properties for each goal. + + + goal + java.lang.String + false + true + The name of the goal for which to show help. If unspecified, all goals will be displayed. + + + indentSize + int + false + true + The number of spaces per indentation level, should be positive. + + + lineLength + int + false + true + The maximum length of a display line, should be positive. + + + + ${detail} + ${goal} + ${indentSize} + ${lineLength} + + + + idl-protocol + Generate Java classes and interfaces from AvroIDL files (.avdl) + runtime + false + true + false + false + false + true + generate-sources + org.apache.avro.mojo.IDLProtocolMojo + java + per-lookup + once-per-session + true + + + createOptionalGetters + boolean + false + true + The createOptionalGetters parameter enables generating the getOptional... +methods that return an Optional of the requested type. This works ONLY on +Java 8+ + + + createSetters + boolean + false + true + Determines whether or not to create setters for the fields of the record. The +default is to create setters. + + + customConversions + java.lang.String[] + false + true + A set of fully qualified class names of custom +{@link org.apache.avro.Conversion} implementations to add to the compiler. +The classes must be on the classpath at compile time and whenever the Java +objects are serialized. + + + customLogicalTypeFactories + java.lang.String[] + false + true + A set of fully qualified class names of custom +{@link org.apache.avro.LogicalTypes.LogicalTypeFactory} implementations to +add to the compiler. The classes must be on the classpath at compile time and +whenever the Java objects are serialized. + + + enableDecimalLogicalType + boolean + false + true + Determines whether or not to use Java classes for decimal types + + + excludes + java.lang.String[] + false + true + A set of Ant-like exclusion patterns used to prevent certain files from being +processed. By default, this set is empty such that no files are excluded. + + + fieldVisibility + java.lang.String + false + true + The field visibility indicator for the fields of the generated class, as +string values of SpecificCompiler.FieldVisibility. The text is case +insensitive. + + + gettersReturnOptional + boolean + false + true + The gettersReturnOptional parameter enables generating get... methods that +return an Optional of the requested type. This will replace the This works +ONLY on Java 8+ + + + imports + java.lang.String[] + false + true + A list of files or directories that should be compiled first thus making them +importable by subsequently compiled schemas. Note that imported files should +not reference each other. + + + includes + java.lang.String[] + false + true + A set of Ant-like inclusion patterns used to select files from the source +directory for processing. By default, the pattern <code>**&#47;*.avdl</code> +is used to select IDL files. + + + optionalGettersForNullableFieldsOnly + boolean + false + true + The optionalGettersForNullableFieldsOnly parameter works in conjunction with +gettersReturnOptional option. If it is set, Optional getters will be +generated only for fields that are nullable. If the field is mandatory, +regular getter will be generated. This works ONLY on Java 8+. + + + outputDirectory + java.io.File + false + true + + + + project + org.apache.maven.project.MavenProject + true + false + The current Maven project. + + + sourceDirectory + java.io.File + false + true + The source directory of avro files. This directory is added to the classpath +at schema compiling time. All files can therefore be referenced as classpath +resources following the directory structure under the source directory. + + + stringType + java.lang.String + false + true + The Java type to use for Avro strings. May be one of CharSequence, String or +Utf8. CharSequence by default. + + + templateDirectory + java.lang.String + false + true + The directory (within the java classpath) that contains the velocity +templates to use for code generation. The default value points to the +templates included with the avro-maven-plugin. + + + testExcludes + java.lang.String[] + false + true + A set of Ant-like exclusion patterns used to prevent certain files from being +processed. By default, this set is empty such that no files are excluded. + + + testIncludes + java.lang.String[] + false + true + A set of Ant-like inclusion patterns used to select files from the source +directory for processing. By default, the pattern <code>**&#47;*.avdl</code> +is used to select IDL files. + + + testOutputDirectory + java.io.File + false + true + + + + testSourceDirectory + java.io.File + false + true + + + + velocityToolsClassesNames + java.lang.String[] + false + true + The qualified names of classes which the plugin will look up, instantiate +(through an empty constructor that must exist) and set up to be injected into +Velocity templates by Avro compiler. + + + + ${createOptionalGetters} + + ${customConversions} + ${customLogicalTypeFactories} + + + ${gettersReturnOptional} + ${optionalGettersForNullableFieldsOnly} + ${outputDirectory} + + ${sourceDirectory} + ${stringType} + ${templateDirectory} + ${outputDirectory} + ${sourceDirectory} + ${velocityToolsClassesNames} + + + + induce + Generate Avro files (.avsc and .avpr) from Java classes or interfaces + false + true + false + false + false + true + process-classes + org.apache.avro.mojo.InduceMojo + java + per-lookup + once-per-session + true + + + allowNull + boolean + false + true + Whether to use ReflectData.AllowNull. + + + avroOutputDirectory + java.io.File + false + true + Directory where to output Avro schemas (.avsc) or protocols (.avpr). + + + encoding + java.lang.String + false + true + The output encoding. + + + javaSourceDirectories + java.io.File[] + false + true + The Java source directories. + + + project + org.apache.maven.project.MavenProject + true + false + The current Maven project. + + + reflectDataImplementation + java.lang.String + false + true + Override the default ReflectData implementation with an extension. Must be a +subclass of ReflectData. + + + + + ${avroOutputDirectory} + + ${javaSourceDirectories} + + ${reflectDataImplementation} + + + + protocol + Generate Java classes and interfaces from Avro protocol files (.avpr) + runtime + false + true + false + false + false + true + generate-sources + org.apache.avro.mojo.ProtocolMojo + java + per-lookup + once-per-session + true + + + createOptionalGetters + boolean + false + true + The createOptionalGetters parameter enables generating the getOptional... +methods that return an Optional of the requested type. This works ONLY on +Java 8+ + + + createSetters + boolean + false + true + Determines whether or not to create setters for the fields of the record. The +default is to create setters. + + + customConversions + java.lang.String[] + false + true + A set of fully qualified class names of custom +{@link org.apache.avro.Conversion} implementations to add to the compiler. +The classes must be on the classpath at compile time and whenever the Java +objects are serialized. + + + customLogicalTypeFactories + java.lang.String[] + false + true + A set of fully qualified class names of custom +{@link org.apache.avro.LogicalTypes.LogicalTypeFactory} implementations to +add to the compiler. The classes must be on the classpath at compile time and +whenever the Java objects are serialized. + + + enableDecimalLogicalType + boolean + false + true + Determines whether or not to use Java classes for decimal types + + + excludes + java.lang.String[] + false + true + A set of Ant-like exclusion patterns used to prevent certain files from being +processed. By default, this set is empty such that no files are excluded. + + + fieldVisibility + java.lang.String + false + true + The field visibility indicator for the fields of the generated class, as +string values of SpecificCompiler.FieldVisibility. The text is case +insensitive. + + + gettersReturnOptional + boolean + false + true + The gettersReturnOptional parameter enables generating get... methods that +return an Optional of the requested type. This will replace the This works +ONLY on Java 8+ + + + imports + java.lang.String[] + false + true + A list of files or directories that should be compiled first thus making them +importable by subsequently compiled schemas. Note that imported files should +not reference each other. + + + includes + java.lang.String[] + false + true + A set of Ant-like inclusion patterns used to select files from the source +directory for processing. By default, the pattern <code>**&#47;*.avpr</code> +is used to select grammar files. + + + optionalGettersForNullableFieldsOnly + boolean + false + true + The optionalGettersForNullableFieldsOnly parameter works in conjunction with +gettersReturnOptional option. If it is set, Optional getters will be +generated only for fields that are nullable. If the field is mandatory, +regular getter will be generated. This works ONLY on Java 8+. + + + outputDirectory + java.io.File + false + true + + + + project + org.apache.maven.project.MavenProject + true + false + The current Maven project. + + + sourceDirectory + java.io.File + false + true + The source directory of avro files. This directory is added to the classpath +at schema compiling time. All files can therefore be referenced as classpath +resources following the directory structure under the source directory. + + + stringType + java.lang.String + false + true + The Java type to use for Avro strings. May be one of CharSequence, String or +Utf8. CharSequence by default. + + + templateDirectory + java.lang.String + false + true + The directory (within the java classpath) that contains the velocity +templates to use for code generation. The default value points to the +templates included with the avro-maven-plugin. + + + testExcludes + java.lang.String[] + false + true + A set of Ant-like exclusion patterns used to prevent certain files from being +processed. By default, this set is empty such that no files are excluded. + + + testIncludes + java.lang.String[] + false + true + A set of Ant-like inclusion patterns used to select files from the source +directory for processing. By default, the pattern <code>**&#47;*.avpr</code> +is used to select grammar files. + + + testOutputDirectory + java.io.File + false + true + + + + testSourceDirectory + java.io.File + false + true + + + + velocityToolsClassesNames + java.lang.String[] + false + true + The qualified names of classes which the plugin will look up, instantiate +(through an empty constructor that must exist) and set up to be injected into +Velocity templates by Avro compiler. + + + + ${createOptionalGetters} + + ${customConversions} + ${customLogicalTypeFactories} + + + ${gettersReturnOptional} + ${optionalGettersForNullableFieldsOnly} + ${outputDirectory} + + ${sourceDirectory} + ${stringType} + ${templateDirectory} + ${outputDirectory} + ${sourceDirectory} + ${velocityToolsClassesNames} + + + + schema + Generate Java classes from Avro schema files (.avsc) + runtime+test + false + true + false + false + false + true + generate-sources + org.apache.avro.mojo.SchemaMojo + java + per-lookup + once-per-session + true + + + createOptionalGetters + boolean + false + true + The createOptionalGetters parameter enables generating the getOptional... +methods that return an Optional of the requested type. This works ONLY on +Java 8+ + + + createSetters + boolean + false + true + Determines whether or not to create setters for the fields of the record. The +default is to create setters. + + + customConversions + java.lang.String[] + false + true + A set of fully qualified class names of custom +{@link org.apache.avro.Conversion} implementations to add to the compiler. +The classes must be on the classpath at compile time and whenever the Java +objects are serialized. + + + customLogicalTypeFactories + java.lang.String[] + false + true + A set of fully qualified class names of custom +{@link org.apache.avro.LogicalTypes.LogicalTypeFactory} implementations to +add to the compiler. The classes must be on the classpath at compile time and +whenever the Java objects are serialized. + + + enableDecimalLogicalType + boolean + false + true + Determines whether or not to use Java classes for decimal types + + + excludes + java.lang.String[] + false + true + A set of Ant-like exclusion patterns used to prevent certain files from being +processed. By default, this set is empty such that no files are excluded. + + + fieldVisibility + java.lang.String + false + true + The field visibility indicator for the fields of the generated class, as +string values of SpecificCompiler.FieldVisibility. The text is case +insensitive. + + + gettersReturnOptional + boolean + false + true + The gettersReturnOptional parameter enables generating get... methods that +return an Optional of the requested type. This will replace the This works +ONLY on Java 8+ + + + imports + java.lang.String[] + false + true + A list of files or directories that should be compiled first thus making them +importable by subsequently compiled schemas. Note that imported files should +not reference each other. + + + includes + java.lang.String[] + false + true + A set of Ant-like inclusion patterns used to select files from the source +directory for processing. By default, the pattern <code>**&#47;*.avsc</code> +is used to select grammar files. + + + optionalGettersForNullableFieldsOnly + boolean + false + true + The optionalGettersForNullableFieldsOnly parameter works in conjunction with +gettersReturnOptional option. If it is set, Optional getters will be +generated only for fields that are nullable. If the field is mandatory, +regular getter will be generated. This works ONLY on Java 8+. + + + outputDirectory + java.io.File + false + true + + + + project + org.apache.maven.project.MavenProject + true + false + The current Maven project. + + + sourceDirectory + java.io.File + false + true + The source directory of avro files. This directory is added to the classpath +at schema compiling time. All files can therefore be referenced as classpath +resources following the directory structure under the source directory. + + + stringType + java.lang.String + false + true + The Java type to use for Avro strings. May be one of CharSequence, String or +Utf8. CharSequence by default. + + + templateDirectory + java.lang.String + false + true + The directory (within the java classpath) that contains the velocity +templates to use for code generation. The default value points to the +templates included with the avro-maven-plugin. + + + testExcludes + java.lang.String[] + false + true + A set of Ant-like exclusion patterns used to prevent certain files from being +processed. By default, this set is empty such that no files are excluded. + + + testIncludes + java.lang.String[] + false + true + A set of Ant-like inclusion patterns used to select files from the source +directory for processing. By default, the pattern <code>**&#47;*.avsc</code> +is used to select grammar files. + + + testOutputDirectory + java.io.File + false + true + + + + testSourceDirectory + java.io.File + false + true + + + + velocityToolsClassesNames + java.lang.String[] + false + true + The qualified names of classes which the plugin will look up, instantiate +(through an empty constructor that must exist) and set up to be injected into +Velocity templates by Avro compiler. + + + + ${createOptionalGetters} + + ${customConversions} + ${customLogicalTypeFactories} + + + ${gettersReturnOptional} + ${optionalGettersForNullableFieldsOnly} + ${outputDirectory} + + ${sourceDirectory} + ${stringType} + ${templateDirectory} + ${outputDirectory} + ${sourceDirectory} + ${velocityToolsClassesNames} + + + + + + org.apache.maven + maven-core + jar + 3.3.9 + + + org.apache.maven + maven-model + jar + 3.3.9 + + + org.apache.maven + maven-settings + jar + 3.3.9 + + + org.apache.maven + maven-settings-builder + jar + 3.3.9 + + + org.apache.maven + maven-builder-support + jar + 3.3.9 + + + org.apache.maven + maven-repository-metadata + jar + 3.3.9 + + + org.apache.maven + maven-artifact + jar + 3.3.9 + + + org.apache.maven + maven-plugin-api + jar + 3.3.9 + + + org.apache.maven + maven-model-builder + jar + 3.3.9 + + + com.google.guava + guava + jar + 18.0 + + + org.apache.maven + maven-aether-provider + jar + 3.3.9 + + + org.eclipse.aether + aether-spi + jar + 1.0.2.v20150114 + + + org.eclipse.aether + aether-impl + jar + 1.0.2.v20150114 + + + org.eclipse.aether + aether-api + jar + 1.0.2.v20150114 + + + org.eclipse.aether + aether-util + jar + 1.0.2.v20150114 + + + org.eclipse.sisu + org.eclipse.sisu.plexus + jar + 0.3.2 + + + javax.enterprise + cdi-api + jar + 1.0 + + + javax.annotation + jsr250-api + jar + 1.0 + + + org.eclipse.sisu + org.eclipse.sisu.inject + jar + 0.3.2 + + + com.google.inject + guice + jar + 4.0 + + + javax.inject + javax.inject + jar + 1 + + + aopalliance + aopalliance + jar + 1.0 + + + org.codehaus.plexus + plexus-interpolation + jar + 1.21 + + + org.codehaus.plexus + plexus-classworlds + jar + 2.5.2 + + + org.codehaus.plexus + plexus-component-annotations + jar + 1.6 + + + org.sonatype.plexus + plexus-sec-dispatcher + jar + 1.3 + + + org.sonatype.plexus + plexus-cipher + jar + 1.4 + + + org.apache.commons + commons-lang3 + jar + 3.4 + + + org.apache.maven.shared + file-management + jar + 3.1.0 + + + commons-io + commons-io + jar + 2.11.0 + + + org.apache.avro + avro-compiler + jar + 1.11.1 + + + org.apache.avro + avro + jar + 1.11.1 + + + com.fasterxml.jackson.core + jackson-core + jar + 2.12.7 + + + org.apache.commons + commons-compress + jar + 1.21 + + + org.apache.commons + commons-text + jar + 1.9 + + + org.apache.velocity + velocity-engine-core + jar + 2.3 + + + com.fasterxml.jackson.core + jackson-databind + jar + 2.12.7 + + + com.fasterxml.jackson.core + jackson-annotations + jar + 2.12.7 + + + org.slf4j + slf4j-api + jar + 1.7.36 + + + \ No newline at end of file diff --git a/hadoop-shaded-avro-maven-plugin/pom.xml b/hadoop-shaded-avro-maven-plugin/pom.xml new file mode 100644 index 0000000..5ec9f2e --- /dev/null +++ b/hadoop-shaded-avro-maven-plugin/pom.xml @@ -0,0 +1,97 @@ + + + + + hadoop-thirdparty + org.apache.hadoop.thirdparty + 1.2.0-SNAPSHOT + .. + + 4.0.0 + hadoop-shaded-avro-maven-plugin + Apache Hadoop shaded Avro Maven Plugin + jar + + + + org.apache.avro + avro-maven-plugin + ${avro.version} + + + + + + + ${project.basedir}/.. + META-INF + + licenses-binary/* + NOTICE.txt + NOTICE-binary + + + + ${project.basedir}/src/main/resources + + + + + org.apache.maven.plugins + maven-shade-plugin + + true + true + + + + shade-avro + package + + shade + + + + + org.apache.avro:* + + + + + org/apache/avro + ${shaded.prefix}/avro + + + + + META-INF/LICENSE.txt + ${basedir}/../LICENSE-binary + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index aea7c41..0dd84fd 100644 --- a/pom.xml +++ b/pom.xml @@ -126,6 +126,7 @@ hadoop-shaded-protobuf_3_7 hadoop-shaded-guava hadoop-shaded-avro + hadoop-shaded-avro-maven-plugin From dabf523a4964533d9496215a8ea9c2fc8243e76c Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Mon, 5 Sep 2022 13:02:53 +0100 Subject: [PATCH 6/9] abandon shaded avro-maven-plugin --- hadoop-shaded-avro-maven-plugin/pom.xml | 97 ------------------------- pom.xml | 1 - 2 files changed, 98 deletions(-) delete mode 100644 hadoop-shaded-avro-maven-plugin/pom.xml diff --git a/hadoop-shaded-avro-maven-plugin/pom.xml b/hadoop-shaded-avro-maven-plugin/pom.xml deleted file mode 100644 index 5ec9f2e..0000000 --- a/hadoop-shaded-avro-maven-plugin/pom.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - hadoop-thirdparty - org.apache.hadoop.thirdparty - 1.2.0-SNAPSHOT - .. - - 4.0.0 - hadoop-shaded-avro-maven-plugin - Apache Hadoop shaded Avro Maven Plugin - jar - - - - org.apache.avro - avro-maven-plugin - ${avro.version} - - - - - - - ${project.basedir}/.. - META-INF - - licenses-binary/* - NOTICE.txt - NOTICE-binary - - - - ${project.basedir}/src/main/resources - - - - - org.apache.maven.plugins - maven-shade-plugin - - true - true - - - - shade-avro - package - - shade - - - - - org.apache.avro:* - - - - - org/apache/avro - ${shaded.prefix}/avro - - - - - META-INF/LICENSE.txt - ${basedir}/../LICENSE-binary - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0dd84fd..aea7c41 100644 --- a/pom.xml +++ b/pom.xml @@ -126,7 +126,6 @@ hadoop-shaded-protobuf_3_7 hadoop-shaded-guava hadoop-shaded-avro - hadoop-shaded-avro-maven-plugin From 0ba960acc4de86737fc021354cd2fd9f6070c72e Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Mon, 5 Sep 2022 13:14:33 +0100 Subject: [PATCH 7/9] Delete plugin.xml --- META-INF/maven/plugin.xml | 1018 ------------------------------------- 1 file changed, 1018 deletions(-) delete mode 100644 META-INF/maven/plugin.xml diff --git a/META-INF/maven/plugin.xml b/META-INF/maven/plugin.xml deleted file mode 100644 index 5a67a8c..0000000 --- a/META-INF/maven/plugin.xml +++ /dev/null @@ -1,1018 +0,0 @@ - - - - - - Apache Avro Maven Plugin - Maven plugin for Avro IDL and Specific API Compilers - org.apache.avro - avro-maven-plugin - 1.11.1 - avro - false - true - - - help - Display help information on avro-maven-plugin.<br> -Call <code>mvn avro:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</code> to display parameter details. - false - false - false - false - false - true - org.apache.avro.mojo.HelpMojo - java - per-lookup - once-per-session - true - - - detail - boolean - false - true - If <code>true</code>, display all settable properties for each goal. - - - goal - java.lang.String - false - true - The name of the goal for which to show help. If unspecified, all goals will be displayed. - - - indentSize - int - false - true - The number of spaces per indentation level, should be positive. - - - lineLength - int - false - true - The maximum length of a display line, should be positive. - - - - ${detail} - ${goal} - ${indentSize} - ${lineLength} - - - - idl-protocol - Generate Java classes and interfaces from AvroIDL files (.avdl) - runtime - false - true - false - false - false - true - generate-sources - org.apache.avro.mojo.IDLProtocolMojo - java - per-lookup - once-per-session - true - - - createOptionalGetters - boolean - false - true - The createOptionalGetters parameter enables generating the getOptional... -methods that return an Optional of the requested type. This works ONLY on -Java 8+ - - - createSetters - boolean - false - true - Determines whether or not to create setters for the fields of the record. The -default is to create setters. - - - customConversions - java.lang.String[] - false - true - A set of fully qualified class names of custom -{@link org.apache.avro.Conversion} implementations to add to the compiler. -The classes must be on the classpath at compile time and whenever the Java -objects are serialized. - - - customLogicalTypeFactories - java.lang.String[] - false - true - A set of fully qualified class names of custom -{@link org.apache.avro.LogicalTypes.LogicalTypeFactory} implementations to -add to the compiler. The classes must be on the classpath at compile time and -whenever the Java objects are serialized. - - - enableDecimalLogicalType - boolean - false - true - Determines whether or not to use Java classes for decimal types - - - excludes - java.lang.String[] - false - true - A set of Ant-like exclusion patterns used to prevent certain files from being -processed. By default, this set is empty such that no files are excluded. - - - fieldVisibility - java.lang.String - false - true - The field visibility indicator for the fields of the generated class, as -string values of SpecificCompiler.FieldVisibility. The text is case -insensitive. - - - gettersReturnOptional - boolean - false - true - The gettersReturnOptional parameter enables generating get... methods that -return an Optional of the requested type. This will replace the This works -ONLY on Java 8+ - - - imports - java.lang.String[] - false - true - A list of files or directories that should be compiled first thus making them -importable by subsequently compiled schemas. Note that imported files should -not reference each other. - - - includes - java.lang.String[] - false - true - A set of Ant-like inclusion patterns used to select files from the source -directory for processing. By default, the pattern <code>**&#47;*.avdl</code> -is used to select IDL files. - - - optionalGettersForNullableFieldsOnly - boolean - false - true - The optionalGettersForNullableFieldsOnly parameter works in conjunction with -gettersReturnOptional option. If it is set, Optional getters will be -generated only for fields that are nullable. If the field is mandatory, -regular getter will be generated. This works ONLY on Java 8+. - - - outputDirectory - java.io.File - false - true - - - - project - org.apache.maven.project.MavenProject - true - false - The current Maven project. - - - sourceDirectory - java.io.File - false - true - The source directory of avro files. This directory is added to the classpath -at schema compiling time. All files can therefore be referenced as classpath -resources following the directory structure under the source directory. - - - stringType - java.lang.String - false - true - The Java type to use for Avro strings. May be one of CharSequence, String or -Utf8. CharSequence by default. - - - templateDirectory - java.lang.String - false - true - The directory (within the java classpath) that contains the velocity -templates to use for code generation. The default value points to the -templates included with the avro-maven-plugin. - - - testExcludes - java.lang.String[] - false - true - A set of Ant-like exclusion patterns used to prevent certain files from being -processed. By default, this set is empty such that no files are excluded. - - - testIncludes - java.lang.String[] - false - true - A set of Ant-like inclusion patterns used to select files from the source -directory for processing. By default, the pattern <code>**&#47;*.avdl</code> -is used to select IDL files. - - - testOutputDirectory - java.io.File - false - true - - - - testSourceDirectory - java.io.File - false - true - - - - velocityToolsClassesNames - java.lang.String[] - false - true - The qualified names of classes which the plugin will look up, instantiate -(through an empty constructor that must exist) and set up to be injected into -Velocity templates by Avro compiler. - - - - ${createOptionalGetters} - - ${customConversions} - ${customLogicalTypeFactories} - - - ${gettersReturnOptional} - ${optionalGettersForNullableFieldsOnly} - ${outputDirectory} - - ${sourceDirectory} - ${stringType} - ${templateDirectory} - ${outputDirectory} - ${sourceDirectory} - ${velocityToolsClassesNames} - - - - induce - Generate Avro files (.avsc and .avpr) from Java classes or interfaces - false - true - false - false - false - true - process-classes - org.apache.avro.mojo.InduceMojo - java - per-lookup - once-per-session - true - - - allowNull - boolean - false - true - Whether to use ReflectData.AllowNull. - - - avroOutputDirectory - java.io.File - false - true - Directory where to output Avro schemas (.avsc) or protocols (.avpr). - - - encoding - java.lang.String - false - true - The output encoding. - - - javaSourceDirectories - java.io.File[] - false - true - The Java source directories. - - - project - org.apache.maven.project.MavenProject - true - false - The current Maven project. - - - reflectDataImplementation - java.lang.String - false - true - Override the default ReflectData implementation with an extension. Must be a -subclass of ReflectData. - - - - - ${avroOutputDirectory} - - ${javaSourceDirectories} - - ${reflectDataImplementation} - - - - protocol - Generate Java classes and interfaces from Avro protocol files (.avpr) - runtime - false - true - false - false - false - true - generate-sources - org.apache.avro.mojo.ProtocolMojo - java - per-lookup - once-per-session - true - - - createOptionalGetters - boolean - false - true - The createOptionalGetters parameter enables generating the getOptional... -methods that return an Optional of the requested type. This works ONLY on -Java 8+ - - - createSetters - boolean - false - true - Determines whether or not to create setters for the fields of the record. The -default is to create setters. - - - customConversions - java.lang.String[] - false - true - A set of fully qualified class names of custom -{@link org.apache.avro.Conversion} implementations to add to the compiler. -The classes must be on the classpath at compile time and whenever the Java -objects are serialized. - - - customLogicalTypeFactories - java.lang.String[] - false - true - A set of fully qualified class names of custom -{@link org.apache.avro.LogicalTypes.LogicalTypeFactory} implementations to -add to the compiler. The classes must be on the classpath at compile time and -whenever the Java objects are serialized. - - - enableDecimalLogicalType - boolean - false - true - Determines whether or not to use Java classes for decimal types - - - excludes - java.lang.String[] - false - true - A set of Ant-like exclusion patterns used to prevent certain files from being -processed. By default, this set is empty such that no files are excluded. - - - fieldVisibility - java.lang.String - false - true - The field visibility indicator for the fields of the generated class, as -string values of SpecificCompiler.FieldVisibility. The text is case -insensitive. - - - gettersReturnOptional - boolean - false - true - The gettersReturnOptional parameter enables generating get... methods that -return an Optional of the requested type. This will replace the This works -ONLY on Java 8+ - - - imports - java.lang.String[] - false - true - A list of files or directories that should be compiled first thus making them -importable by subsequently compiled schemas. Note that imported files should -not reference each other. - - - includes - java.lang.String[] - false - true - A set of Ant-like inclusion patterns used to select files from the source -directory for processing. By default, the pattern <code>**&#47;*.avpr</code> -is used to select grammar files. - - - optionalGettersForNullableFieldsOnly - boolean - false - true - The optionalGettersForNullableFieldsOnly parameter works in conjunction with -gettersReturnOptional option. If it is set, Optional getters will be -generated only for fields that are nullable. If the field is mandatory, -regular getter will be generated. This works ONLY on Java 8+. - - - outputDirectory - java.io.File - false - true - - - - project - org.apache.maven.project.MavenProject - true - false - The current Maven project. - - - sourceDirectory - java.io.File - false - true - The source directory of avro files. This directory is added to the classpath -at schema compiling time. All files can therefore be referenced as classpath -resources following the directory structure under the source directory. - - - stringType - java.lang.String - false - true - The Java type to use for Avro strings. May be one of CharSequence, String or -Utf8. CharSequence by default. - - - templateDirectory - java.lang.String - false - true - The directory (within the java classpath) that contains the velocity -templates to use for code generation. The default value points to the -templates included with the avro-maven-plugin. - - - testExcludes - java.lang.String[] - false - true - A set of Ant-like exclusion patterns used to prevent certain files from being -processed. By default, this set is empty such that no files are excluded. - - - testIncludes - java.lang.String[] - false - true - A set of Ant-like inclusion patterns used to select files from the source -directory for processing. By default, the pattern <code>**&#47;*.avpr</code> -is used to select grammar files. - - - testOutputDirectory - java.io.File - false - true - - - - testSourceDirectory - java.io.File - false - true - - - - velocityToolsClassesNames - java.lang.String[] - false - true - The qualified names of classes which the plugin will look up, instantiate -(through an empty constructor that must exist) and set up to be injected into -Velocity templates by Avro compiler. - - - - ${createOptionalGetters} - - ${customConversions} - ${customLogicalTypeFactories} - - - ${gettersReturnOptional} - ${optionalGettersForNullableFieldsOnly} - ${outputDirectory} - - ${sourceDirectory} - ${stringType} - ${templateDirectory} - ${outputDirectory} - ${sourceDirectory} - ${velocityToolsClassesNames} - - - - schema - Generate Java classes from Avro schema files (.avsc) - runtime+test - false - true - false - false - false - true - generate-sources - org.apache.avro.mojo.SchemaMojo - java - per-lookup - once-per-session - true - - - createOptionalGetters - boolean - false - true - The createOptionalGetters parameter enables generating the getOptional... -methods that return an Optional of the requested type. This works ONLY on -Java 8+ - - - createSetters - boolean - false - true - Determines whether or not to create setters for the fields of the record. The -default is to create setters. - - - customConversions - java.lang.String[] - false - true - A set of fully qualified class names of custom -{@link org.apache.avro.Conversion} implementations to add to the compiler. -The classes must be on the classpath at compile time and whenever the Java -objects are serialized. - - - customLogicalTypeFactories - java.lang.String[] - false - true - A set of fully qualified class names of custom -{@link org.apache.avro.LogicalTypes.LogicalTypeFactory} implementations to -add to the compiler. The classes must be on the classpath at compile time and -whenever the Java objects are serialized. - - - enableDecimalLogicalType - boolean - false - true - Determines whether or not to use Java classes for decimal types - - - excludes - java.lang.String[] - false - true - A set of Ant-like exclusion patterns used to prevent certain files from being -processed. By default, this set is empty such that no files are excluded. - - - fieldVisibility - java.lang.String - false - true - The field visibility indicator for the fields of the generated class, as -string values of SpecificCompiler.FieldVisibility. The text is case -insensitive. - - - gettersReturnOptional - boolean - false - true - The gettersReturnOptional parameter enables generating get... methods that -return an Optional of the requested type. This will replace the This works -ONLY on Java 8+ - - - imports - java.lang.String[] - false - true - A list of files or directories that should be compiled first thus making them -importable by subsequently compiled schemas. Note that imported files should -not reference each other. - - - includes - java.lang.String[] - false - true - A set of Ant-like inclusion patterns used to select files from the source -directory for processing. By default, the pattern <code>**&#47;*.avsc</code> -is used to select grammar files. - - - optionalGettersForNullableFieldsOnly - boolean - false - true - The optionalGettersForNullableFieldsOnly parameter works in conjunction with -gettersReturnOptional option. If it is set, Optional getters will be -generated only for fields that are nullable. If the field is mandatory, -regular getter will be generated. This works ONLY on Java 8+. - - - outputDirectory - java.io.File - false - true - - - - project - org.apache.maven.project.MavenProject - true - false - The current Maven project. - - - sourceDirectory - java.io.File - false - true - The source directory of avro files. This directory is added to the classpath -at schema compiling time. All files can therefore be referenced as classpath -resources following the directory structure under the source directory. - - - stringType - java.lang.String - false - true - The Java type to use for Avro strings. May be one of CharSequence, String or -Utf8. CharSequence by default. - - - templateDirectory - java.lang.String - false - true - The directory (within the java classpath) that contains the velocity -templates to use for code generation. The default value points to the -templates included with the avro-maven-plugin. - - - testExcludes - java.lang.String[] - false - true - A set of Ant-like exclusion patterns used to prevent certain files from being -processed. By default, this set is empty such that no files are excluded. - - - testIncludes - java.lang.String[] - false - true - A set of Ant-like inclusion patterns used to select files from the source -directory for processing. By default, the pattern <code>**&#47;*.avsc</code> -is used to select grammar files. - - - testOutputDirectory - java.io.File - false - true - - - - testSourceDirectory - java.io.File - false - true - - - - velocityToolsClassesNames - java.lang.String[] - false - true - The qualified names of classes which the plugin will look up, instantiate -(through an empty constructor that must exist) and set up to be injected into -Velocity templates by Avro compiler. - - - - ${createOptionalGetters} - - ${customConversions} - ${customLogicalTypeFactories} - - - ${gettersReturnOptional} - ${optionalGettersForNullableFieldsOnly} - ${outputDirectory} - - ${sourceDirectory} - ${stringType} - ${templateDirectory} - ${outputDirectory} - ${sourceDirectory} - ${velocityToolsClassesNames} - - - - - - org.apache.maven - maven-core - jar - 3.3.9 - - - org.apache.maven - maven-model - jar - 3.3.9 - - - org.apache.maven - maven-settings - jar - 3.3.9 - - - org.apache.maven - maven-settings-builder - jar - 3.3.9 - - - org.apache.maven - maven-builder-support - jar - 3.3.9 - - - org.apache.maven - maven-repository-metadata - jar - 3.3.9 - - - org.apache.maven - maven-artifact - jar - 3.3.9 - - - org.apache.maven - maven-plugin-api - jar - 3.3.9 - - - org.apache.maven - maven-model-builder - jar - 3.3.9 - - - com.google.guava - guava - jar - 18.0 - - - org.apache.maven - maven-aether-provider - jar - 3.3.9 - - - org.eclipse.aether - aether-spi - jar - 1.0.2.v20150114 - - - org.eclipse.aether - aether-impl - jar - 1.0.2.v20150114 - - - org.eclipse.aether - aether-api - jar - 1.0.2.v20150114 - - - org.eclipse.aether - aether-util - jar - 1.0.2.v20150114 - - - org.eclipse.sisu - org.eclipse.sisu.plexus - jar - 0.3.2 - - - javax.enterprise - cdi-api - jar - 1.0 - - - javax.annotation - jsr250-api - jar - 1.0 - - - org.eclipse.sisu - org.eclipse.sisu.inject - jar - 0.3.2 - - - com.google.inject - guice - jar - 4.0 - - - javax.inject - javax.inject - jar - 1 - - - aopalliance - aopalliance - jar - 1.0 - - - org.codehaus.plexus - plexus-interpolation - jar - 1.21 - - - org.codehaus.plexus - plexus-classworlds - jar - 2.5.2 - - - org.codehaus.plexus - plexus-component-annotations - jar - 1.6 - - - org.sonatype.plexus - plexus-sec-dispatcher - jar - 1.3 - - - org.sonatype.plexus - plexus-cipher - jar - 1.4 - - - org.apache.commons - commons-lang3 - jar - 3.4 - - - org.apache.maven.shared - file-management - jar - 3.1.0 - - - commons-io - commons-io - jar - 2.11.0 - - - org.apache.avro - avro-compiler - jar - 1.11.1 - - - org.apache.avro - avro - jar - 1.11.1 - - - com.fasterxml.jackson.core - jackson-core - jar - 2.12.7 - - - org.apache.commons - commons-compress - jar - 1.21 - - - org.apache.commons - commons-text - jar - 1.9 - - - org.apache.velocity - velocity-engine-core - jar - 2.3 - - - com.fasterxml.jackson.core - jackson-databind - jar - 2.12.7 - - - com.fasterxml.jackson.core - jackson-annotations - jar - 2.12.7 - - - org.slf4j - slf4j-api - jar - 1.7.36 - - - \ No newline at end of file From 2e42261fddf5270a92241b81a16cc3ed390d0869 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Thu, 20 Oct 2022 18:43:36 +0100 Subject: [PATCH 8/9] add new lline --- hadoop-shaded-avro/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-shaded-avro/pom.xml b/hadoop-shaded-avro/pom.xml index f0f43d8..a48ca54 100644 --- a/hadoop-shaded-avro/pom.xml +++ b/hadoop-shaded-avro/pom.xml @@ -97,4 +97,4 @@ - \ No newline at end of file + From 1bb8e68da2d38914031bd4a29afd450d53d59936 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 21 Oct 2022 21:02:00 +0100 Subject: [PATCH 9/9] add 1_11 suffix for avro module/jar --- {hadoop-shaded-avro => hadoop-shaded-avro_1_11}/pom.xml | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename {hadoop-shaded-avro => hadoop-shaded-avro_1_11}/pom.xml (97%) diff --git a/hadoop-shaded-avro/pom.xml b/hadoop-shaded-avro_1_11/pom.xml similarity index 97% rename from hadoop-shaded-avro/pom.xml rename to hadoop-shaded-avro_1_11/pom.xml index a48ca54..c9da462 100644 --- a/hadoop-shaded-avro/pom.xml +++ b/hadoop-shaded-avro_1_11/pom.xml @@ -27,8 +27,8 @@ .. 4.0.0 - hadoop-shaded-avro - Apache Hadoop shaded Avro + hadoop-shaded-avro_1_11 + Apache Hadoop shaded Avro 1.11 jar diff --git a/pom.xml b/pom.xml index aea7c41..f3dc946 100644 --- a/pom.xml +++ b/pom.xml @@ -125,7 +125,7 @@ hadoop-shaded-protobuf_3_7 hadoop-shaded-guava - hadoop-shaded-avro + hadoop-shaded-avro_1_11