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>