You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4951c00
Browse filesBrowse the repository at this point in the historyBrowse files
authored and
James
committed
Never vendor the parser: fetch it from Maven everywhere, including the .bat path
A fresh clone now contains no GSP parser jar at all. lib/ held two,
gsqlparser-3.1.1.0 and gudusoft.gsqlparser-3.0.2.5, and they were doing real
damage rather than just taking up space.
pom_dlineage.xml pinned lib/gsqlparser-3.1.1.0.jar on system scope. This
build has been documented as failing since before the
demo trees were merged, on two "cannot find symbol"
errors for setTraceTablePosition and
generateColumnLevelLineageCsvSimple. The cause was the
pinned jar, not the code: pointed at the same parser the
root build resolves, it compiles, packages, and produces
correct lineage XML. Verified by running the jar.
connector/*/pom.xml pointed at ../../lib/gudusoft.gsqlparser-2.1.2.x.jar,
files this repository has not contained for a long time.
Now resolved from Maven like everything else.
the .bat scripts setenv.bat put lib\ first on the classpath, so the 3.1.1.0
jar shadowed anything newer and compile_checksyntax.bat
died on EOBTenantMode -- a symbol a current parser has.
gudusoft.gsqlparser-3.0.2.5.jar
referenced by nothing at all.
So: both jars deleted, and every consumer resolves com.gudusoft:gsqlparser from
Gudu's public repository.
For the .bat workflow, which has no POM to resolve from, setenv.bat now
bootstraps itself. When external_lib\ has no parser it calls the new
setenv/fetch-parser.bat, which reads gsp.core.version out of pom.xml and does a
mvn dependency:copy. Idempotent, and external_lib/ is gitignored. This does mean
that route needs Maven once, which the README states plainly rather than keeping
the old "Windows, no Maven" heading: one artifact resolved from one place beats
a vendored copy that silently rots, which is exactly what happened here.
windows-bat now covers four demos instead of one, chosen for the shapes the
scripts come in: checksyntax (/f file /t vendor), formatsql (bare filename),
listGSPInfo (no arguments), and modifysql, whose compile and run scripts are
named differently (compile_modifysql.bat builds the folder,
run_replaceTablename.bat runs one class). The job also asserts up front that no
parser jar is committed, so vendoring one again fails CI.
mvn clean test: 144 tests, the same 3 known analyzespTest failures.
mvn -f pom_dlineage.xml package: builds, for the first time in this repository's
recorded history.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qPRpoD8exYRrUmbfXXWXj
0 commit comments