andygrove opened a new pull request, #9:
URL: https://github.com/apache/datafusion-java/pull/9

   Closes #4.
   
   Adds a Maven build pipeline that downloads `datafusion_common.proto` and 
`datafusion.proto` from `apache/datafusion` at a pinned tag (`53.1.0`, matching 
`native/Cargo.toml`) and generates Java classes from them via the Xolstice 
`protobuf-maven-plugin`. Generated classes ship inside the existing 
`datafusion-java` jar — the `org.apache.datafusion.protobuf.*` namespace from 
`datafusion.proto`, plus `datafusion_common.*` from `datafusion_common.proto`.
   
   Also adds a bootstrap `CONTRIBUTING.md` whose primary content is the 
DataFusion / protobuf schema version-sync recipe. Bumping DataFusion now 
requires updating three things together: `native/Cargo.toml`, `pom.xml`'s 
`<datafusion.version>`, and the SHA-512 pins on the two downloads. The recipe 
documents the exact commands to do that.
   
   End-to-end functionality — Java code constructing a plan via these classes 
and executing it through `SessionContext` — is tracked separately in #8.
   
   ## What's in this PR
   
   - `pom.xml`: two new properties (`<datafusion.version>=53.1.0`, 
`<protobuf.version>=3.25.5`), `protobuf-java` runtime dep, `os-maven-plugin` 
build extension, two `download-maven-plugin` executions with SHA-512 pins, and 
Xolstice `protobuf-maven-plugin` for codegen.
   - `src/test/java/org/apache/datafusion/proto/ProtoGenerationTest.java`: 
smoke test instantiating a generated class.
   - `CONTRIBUTING.md`: new file with the version-sync recipe.
   
   ## Not in this PR
   
   - Module split (kept single-module for now; revisit when a proto-only 
consumer exists).
   - Vendored protos (downloaded on first build, cached on `~/.m2` after that).
   - JVM-side plan construction APIs, schema-fidelity tests, round-trip tests — 
see #8.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to