tree 0b9fbb0dc105f82ab6b7b6d5bba05933b7b028a0
parent ab14d6594cacaefa2a4311da356846c98bf784d1
author David Ostrovsky <david@ostrovsky.org> 1782557249 +0200
committer David Ostrovsky <david@ostrovsky.org> 1782795651 +0200

tools: Add shared servlet-flavour transform toolchain

JGit, Gitiles, and Gerrit each generate a second servlet-API flavour
of their servlet-facing modules from one canonical source tree (JGit:
jakarta->javax .ee8; Gitiles: javax->jakarta .ee10). Centralize that
machinery here so all consumers share one copy instead of carrying
divergent per-repo rulesets.

The toolchain is sed based and self-contained: the rewrite is a plain
sed package-prefix substitution (line for line, preserving package
names and source line numbers), so it needs no external dependency and
works unchanged on the WORKSPACE-based stable branches too.

The servlet/Jetty package mapping is universal, so it lives here once
(in servlet_transform.bzl) and consumers carry no renames data: they
select only a direction, to_javax (jakarta->javax, Jetty ee10->ee8)
or to_jakarta (javax->jakarta, Jetty ee8->ee10).

Add under tools/:

  servlet_transform.bzl
    transform_srcjar rule; the built-in package mapping is applied in
    the chosen direction.
  generated_srcs_test.sh
    derivation / line-count / residue checker; residue checks are
    caller-supplied (--forbid, --require, --require-if-source) so it
    is direction-agnostic.
  SERVLET_TRANSFORM.md
    usage.

Generated test targets compile the transformed srcjar with the
junit_tests suite_srcs parameter (added in the prerequisite change);
no separate junit macro is needed.

Change-Id: I7b1bf13c119e722205ad267016ab477ecc999bdf
