feat!: de-mavenize the build#183
Conversation
89d8ea7 to
df97ca3
Compare
|
@joewiz needs a rebase |
df97ca3 to
a9a5996
Compare
|
[This response was co-authored with Claude Code. -Joe] Rebased and force-pushed ( |
a9a5996 to
e4a83f3
Compare
line-o
left a comment
There was a problem hiding this comment.
I am in favour of pulling this PR in now.
One last thing might be that not all commits have been made using conventional commit message format. So the changelog might not include all changes yet.
|
Good news: there is only two commits that do not follow conventional commits format |
Replace Maven with a Node.js/Gulp build modeled on eXist-db/monex@aa11953, and wire in semantic-release for automated releases. - Remove pom.xml, xar-assembly.xml, xquery-license-style.xml - Rewrite gulpfile.js to assemble the XAR end-to-end: stage src/main/xar-resources/ into .build/, compile sass, copy vendor assets, expand *.tmpl tokens via @existdb/gulp-replace-tmpl, and zip to dist/exist-function-documentation-<version>.xar - Add expath-pkg.xml.tmpl and repo.xml.tmpl as the single source of truth for package metadata, matching the deps declared in the prior xar-assembly.xml (exist 6.2.0 + html-templating 1.2.1). Move app fields (target, namespace, title, etc.) into package.json under "app" - Add .releaserc, commitlint.config.js, .husky/commit-msg, and scripts/update-repo-changelog.js for semantic-release - Replace Maven CI workflow with a Node build, install via @existdb/xst, Cypress test, and semantic-release job on master; add commitlint workflow - Add build.xml shim for downstream tooling that calls Ant - Drop maven ecosystem from dependabot.yml - Ignore .build/, dist/, .env, .claude/ BREAKING CHANGE: builds now require Node.js (lts/*) instead of Maven. Use \`npm ci && npm run build\` to produce the XAR.
e4a83f3 to
dafb0ef
Compare
|
[This response was co-authored with Claude Code. -Joe] Thanks for the approval! On the conventional-commits / changelog gap you flagged: the only commit on this branch is the single Pushed
Net effect: when v3.0.0 cuts, the in-app changelog will contain the auto-generated items from the |
|
🎉 This PR is included in version 3.0.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
- Update build instructions to Node.js / npm (the Maven flow was removed in #183) - Fix CI badge URL/name (workflow renamed ci.yml -> build.yml) - Add Release Procedure section documenting the semantic-release flow, required conventional-commit format, and what contributors / release managers need to do - Tidy installation and dependency wording Closes #191
[This response was co-authored with Claude Code. -Joe]
Summary
Closes #180 by simplifying the release path. Modeled directly on monex@aa11953.
.build/→dist/exist-function-documentation-<version>.xar)expath-pkg.xml.tmpl/repo.xml.tmplcarrying the same dependency set as the priorxar-assembly.xml(exist 6.2.0 + html-templating 1.2.1) — no new runtime depspackage.json#app@existdb/xst→ cypress → semantic-release on masterbuild.xmlshim retained for downstream Ant callersBREAKING CHANGE: builds now require Node.js (
lts/*) instead of Maven.Test plan
npm ci && npm run buildproduces a valid XAR locallyexpath-pkg.xmlandrepo.xmlmatch the prior maven-templated output (same deps, same metadata)existdb/existdb:latest