Skip to content

Commit dae900d

Browse files
authored
apacheGH-1061: Add codegen classifier jar for arrow-vector. (apache#1062) (#20)
## What's Changed Add a new codegen classifier jar for arrow-vector that contains tdd and other template files. Closes apache#1061 .
1 parent 8ae95cd commit dae900d

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

docs/source/overview.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ but some modules are JNI bindings to the C++ library.
4545
* - arrow-vector
4646
- An off-heap reference implementation for Arrow columnar data format.
4747
- Native
48+
* - arrow-vector-codegen
49+
- Template files for Arrow datatypes suitable for code generation.
50+
- Native
4851
* - arrow-tools
4952
- Java applications for working with Arrow ValueVectors.
5053
- Native

vector/pom.xml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,34 @@ under the License.
202202
</execution>
203203
</executions>
204204
</plugin>
205+
<plugin>
206+
<groupId>org.apache.maven.plugins</groupId>
207+
<artifactId>maven-jar-plugin</artifactId>
208+
<executions>
209+
<execution>
210+
<id>codegen-jar</id>
211+
<goals>
212+
<goal>jar</goal>
213+
</goals>
214+
<phase>package</phase>
215+
<configuration>
216+
<!-- Arrow's type system has many types, and projects building operations across Arrow data
217+
(comparisons, casts, aggregations) benefit from generating type-specialized code rather
218+
than hand-writing implementations for each type.
219+
The TDD files provide a machine-readable definition of Arrow's types that enables this.
220+
Including them in the distribution allows downstream projects to generate code that
221+
stays in sync as Arrow's type system evolves.-->
222+
<classifier>codegen</classifier>
223+
<classesDirectory>${basedir}/src/main/codegen</classesDirectory>
224+
<includes>
225+
<include>**/*.tdd</include>
226+
<include>**/*.fmpp</include>
227+
<include>**/*.ftl</include>
228+
</includes>
229+
</configuration>
230+
</execution>
231+
</executions>
232+
</plugin>
205233
</plugins>
206234
</build>
207235

0 commit comments

Comments
 (0)