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
chore: remove XML fallback parser and quick-xml dependency
Drop the lightweight XML fallback parser (liquibase_xml.rs, 3,463 lines)
and quick-xml dependency. Liquibase now requires a JRE with a two-tier
strategy: bridge JAR -> update-sql. Update docs, config, and tests to
reflect the two-tier approach. Fix bridge Dockerfile to skip tests that
need project-root fixtures.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+2-7Lines changed: 2 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -216,16 +216,12 @@ strategy = "auto"
216
216
217
217
For Liquibase, `paths` must point to the root changelog file (e.g. `migrations.xml`), not the directory containing it. The tool follows `<include>` elements from this entrypoint to discover changesets in order.
218
218
219
-
The tool uses a three-tier approach for Liquibase XML processing:
219
+
The tool uses a two-tier approach for Liquibase XML processing (JRE required):
220
220
221
221
1. **Bridge JAR (preferred)** -- A small Java CLI that embeds Liquibase to extract exact changeset-to-SQL-to-line mappings. Download `liquibase-bridge.jar` from the [releases page](https://github.com/robert-sjoblom/pg-migration-lint/releases) and place it at the configured `bridge_jar_path`. Requires a JRE.
222
222
223
223
2. **`liquibase update-sql` (secondary)** -- If the bridge JAR is unavailable but the Liquibase binary is on the PATH, the tool invokes `liquibase update-sql` for less structured but functional output.
224
224
225
-
3. **XML fallback** -- If Java is unavailable, a lightweight built-in XML parser handles common change types (`<createTable>`, `<addColumn>`, `<createIndex>`, etc.). Exotic change types are skipped and the catalog is marked as potentially incomplete. Note: `<includeAll>`does not recurse into subdirectories in this mode — use the bridge JAR or `liquibase update-sql` for nested directory layouts.
226
-
227
-
Set `strategy = "xml-only"` under `[liquibase]` to skip Java entirely.
228
-
229
225
## Configuration Reference
230
226
231
227
Default config file: `pg-migration-lint.toml`in the working directory. Override with `--config <path>`.
0 commit comments