Align hudi-trino license headers and code style with Hudi conventions
- Dominant language
- Java
- Stars
- 6.2k
- Forks
- 2.5k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 111
Description
Parent: #18780 (RFC-105).
## Context
`hudi-trino` was migrated from trinodb/trino (RFC-105) and still carries Trino conventions:
- All java files under `hudi-trino/src` carry the short "Licensed under the Apache License, Version 2.0" header instead of the ASF header used everywhere else in the repo. RAT accepts them via its default AL matcher, but nothing enforces the repo-standard header.
- The module sets `checkstyle.skip=true` in its pom, and the airbase check stack (`com.mycila:license-maven-plugin`, Trino checkstyle, modernizer) stopped applying when RFC-105 re-parented the module from `io.trino:trino-root` to the Hudi root pom. Net result: no style or header enforcement at all today.
Per RFC-105 the connector's canonical home is now apache/hudi -- the Trino side becomes a thin shim consuming `org.apache.hudi:hudi-trino` and connector source no longer syncs back upstream -- so there is no reason to keep Trino formatting.
## Scope
1. Convert license headers in `hudi-trino/src` to the standard ASF header (the root pom RAT config already matches it). Update the RAT comment in `.github/workflows/bot.yml` that documents the current AL-header situation, and drop the `hudi-trino` prune in `scripts/release/validate_source_copyright.sh` -- that script greps for the ASF wording, so the converted files pass and the exclusion (kept today only because of the short AL headers) becomes unnecessary.
2. Remove `checkstyle.skip=true` from `hudi-trino/pom.xml`, run Hudi checkstyle over the module, and fix violations (large mechanical reformat: indentation, import order).
3. Land the header conversion and the reformat as separate commits; add a `.git-blame-ignore-revs` listing the reformat commit (the repo does not have one yet).
4. Wire checkstyle into `hudi_trino_ci.yml` so the module stays enforced going forward.
## Out of scope
- We are not making any package-level renames: everything stays under `io.trino.plugin.hudi.*`, and no class moves to `org.apache.hudi.*` (e.g. `io.trino.plugin.hudi.HudiBaseFileOnlyPageSource` does NOT become `org.apache.hudi.trino.HudiBaseFileOnlyPageSource`). The Trino-side shim references these classes by fully qualified name (RFC-105), so the `package` statements and directory layout must stay unchanged. The files themselves are still fully in scope for the header and style conversion above.
- The mirrored smoke tests on the Trino side keep Trino conventions in trinodb/trino.
## Sequencing
Do this after the in-flight hudi-trino release-staging work (#19410) merges, to avoid conflicting with open PRs. The reformat has no effect on the released artifact.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.