keksmd opened a new pull request, #980:
URL: https://github.com/apache/incubator-graphar/pull/980

   ### Reason for this PR
   
   Part of #979: consumers cannot depend on the pure-Java SDK today. No 
`org.apache.graphar` artifact exists on Maven Central or in the ASF snapshot 
repository, and the modules are not publishable as they stand: every SDK POM 
uses `${graphar.version}` for its own and its parent's version, and the parent 
`graphar-root` is never published, so an installed POM cannot be resolved 
outside this reactor.
   
   This PR prepares the build side only. It does not change the version, cut a 
release, or publish anything by itself.
   
   ### What changes are included in this PR?
   
   - `flatten-maven-plugin` (oss mode) on `graphar-info`, 
`graphar-storage-api`, `graphar-storage-local`, `graphar-storage-s3`, 
`graphar-io-api`, `graphar-core`, and on the root POM itself (not inherited). 
Installed and deployed POMs carry concrete versions and no parent. The FastFFI 
`java` module and `spark` are untouched.
   - Root POM: the commented-out SCM and issue tracker restored with the 
`apache/incubator-graphar` URLs, plus a `developers` entry pointing at dev@. 
These are required repository metadata.
   - `apache-incubator-disclaimer-resource-bundle` added to the Apache parent's 
remote resources, so every jar carries `META-INF/DISCLAIMER` next to `LICENSE` 
and `NOTICE`.
   - `.github/workflows/java-sdk-snapshot.yml`: on pushes to main that touch 
the SDK, runs the SDK tests and `mvn deploy` to `apache.snapshots.https` 
(distribution management comes from the Apache parent). It refuses non-SNAPSHOT 
versions, runs only in `apache/incubator-graphar`, and has a 
`workflow_dispatch` dry run that stops at `install`. The same pattern is used 
by apache/datafusion-comet.
   
   When #975 and the reader/writer land, their modules get the same one-line 
plugin entry and join `SDK_MODULES`.
   
   ### What maintainers need to do outside this PR
   
   1. File an INFRA Jira ticket to configure the `org.apache.graphar` groupId 
in the ASF Nexus and provision the `NEXUS_USER` / `NEXUS_PW` secrets on this 
repository. Until then the deploy step fails with 401; the dry run works.
   2. The Java version is still `0.13.0-SNAPSHOT` although v0.13.0 is released. 
I left the bump to the release manager since it also affects `spark`.
   3. A Maven release goes through the usual staging repository, PPMC vote, and 
IPMC vote, then promotion to Central.
   
   ### Are these changes tested?
   
   Locally:
   - CI-equivalent `spotless:check`, `clean verify`, and `package 
javadoc:javadoc` for `info,storage-api,storage-local,io-api,storage-s3,core`: 
green.
   - Installed the SDK, then built and ran a separate consumer project whose 
local repository held only `graphar-info`, `graphar-core`, 
`graphar-storage-api` and `graphar-storage-local` (no `graphar-root`). It 
resolves and loads `org.apache.graphar.info.GraphInfo`.
   - `graphar-core` jar contains `META-INF/DISCLAIMER`, `LICENSE`, `NOTICE`.
   - `mvn -pl spark/graphar,java -am validate` succeeds.
   - The workflow YAML parses; the deploy step itself can only be exercised 
once the secrets exist.
   
   ### Are there any user-facing changes?
   
   No API changes. Once the secrets are provisioned, SDK snapshots appear at 
`https://repository.apache.org/content/repositories/snapshots/org/apache/graphar/`.
   
   ## Checklist
   
   - [x] I have performed a self-review of my own code.
   - [ ] I have formatted my own code using `make cpplint` before submitting 
when changed files are in the `cpp` directory.
   - [x] I have performed `pre-commit run` before commit the changed files.
   - [x] I have added tests to prove my changes are effective.
   


-- 
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