This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-java.git


The following commit(s) were added to refs/heads/main by this push:
     new e349a9a83 GH-1061: Add codegen classifier jar for arrow-vector. (#1062)
e349a9a83 is described below

commit e349a9a837aa9e3c5a56cbdd841f4e9655fa9ab2
Author: Logan Riggs <[email protected]>
AuthorDate: Wed Mar 11 00:09:23 2026 -0700

    GH-1061: Add codegen classifier jar for arrow-vector. (#1062)
    
    ## What's Changed
    
    Add a new codegen classifier jar for arrow-vector that contains tdd and
    other template files.
    
    Closes #1061 .
---
 docs/source/overview.rst |  3 +++
 vector/pom.xml           | 28 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/docs/source/overview.rst b/docs/source/overview.rst
index be579c149..118805411 100644
--- a/docs/source/overview.rst
+++ b/docs/source/overview.rst
@@ -45,6 +45,9 @@ but some modules are JNI bindings to the C++ library.
    * - arrow-vector
      - An off-heap reference implementation for Arrow columnar data format.
      - Native
+   * - arrow-vector-codegen
+     - Template files for Arrow datatypes suitable for code generation.
+     - Native
    * - arrow-tools
      - Java applications for working with Arrow ValueVectors.
      - Native
diff --git a/vector/pom.xml b/vector/pom.xml
index b24f37d5f..f46bd0e7b 100644
--- a/vector/pom.xml
+++ b/vector/pom.xml
@@ -194,6 +194,34 @@ under the License.
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>codegen-jar</id>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <!-- Arrow's type system has many types, and projects building 
operations across Arrow data
+              (comparisons, casts, aggregations) benefit from generating 
type-specialized code rather
+              than hand-writing implementations for each type.
+              The TDD files provide a machine-readable definition of Arrow's 
types that enables this.
+              Including them in the distribution allows downstream projects to 
generate code that
+              stays in sync as Arrow's type system evolves.-->
+              <classifier>codegen</classifier>
+              <classesDirectory>${basedir}/src/main/codegen</classesDirectory>
+              <includes>
+                <include>**/*.tdd</include>
+                <include>**/*.fmpp</include>
+                <include>**/*.ftl</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 

Reply via email to