Skip to content

Create java-dependencies.md#545

Closed
JordtenBulte wants to merge 1 commit intomendixlabs:mainfrom
JordtenBulte:java-dependencies-skill
Closed

Create java-dependencies.md#545
JordtenBulte wants to merge 1 commit intomendixlabs:mainfrom
JordtenBulte:java-dependencies-skill

Conversation

@JordtenBulte
Copy link
Copy Markdown

I was working with mxcli on a test project and trying to push its boundaries. Found adding java dependencies is not (yet) supported in MDL. Therefore, I made claude write a skill to make it aware. Please review the skill thoroughly. It worked for me but I am not a good enough developer to be certain on this.

I was working with mxcli on a test project and trying to push its boudaries. Found adding java dependencies is not (yet) supported in MDL. Therefore, I made claude write a skill to make it aware. Please review the skill thoroughly. It worked for me but I am not a good enough developer to be certain on this.
@ako
Copy link
Copy Markdown
Collaborator

ako commented May 10, 2026

Thanks for this @JordtenBulte — you identified a real gap and the workaround skill you wrote is accurate for the current state.

Good news: the feature is now implemented. The microflow branch adds full MDL support for managing Maven/JAR dependencies:

-- Add a dependency
ALTER MODULE MyModule
  ADD JAR DEPENDENCY (
    group    = 'org.duckdb',
    artifact = 'duckdb_jdbc',
    version  = '1.1.3',
    included = true,
  );

-- Update version
ALTER MODULE MyModule SET JAR DEPENDENCY 'org.duckdb:duckdb_jdbc' VERSION '1.2.0';

-- Toggle inclusion
ALTER MODULE MyModule SET JAR DEPENDENCY 'org.duckdb:duckdb_jdbc' INCLUDED false;

-- Add/drop transitive exclusion
ALTER MODULE MyModule SET JAR DEPENDENCY 'org.duckdb:duckdb_jdbc' ADD EXCLUSION 'com.example:lib';

-- Remove
ALTER MODULE MyModule DROP JAR DEPENDENCY 'org.duckdb:duckdb_jdbc';

-- List and describe
LIST JAR DEPENDENCIES IN MyModule;
DESCRIBE JAR DEPENDENCY MyModule 'org.duckdb:duckdb_jdbc';

The implementation includes:

  • ANTLR grammar, AST, visitor, executor, and backend wiring
  • BSON reader/writer for Projects$ModuleSettings / Projects$JarDependency
  • Updated java-dependencies.md skill (covering the new MDL syntax, coordinate format, Jackson version gotcha, Gradle resolution note)
  • Docs-site reference pages

The skill in this PR correctly documented what was true at the time, but it's been superseded. I'll close this PR since the feature and documentation are now covered in the implementation. Thanks again for the report — the BSON investigation you prompted helped define the storage format correctly!

@ako
Copy link
Copy Markdown
Collaborator

ako commented May 10, 2026

Closing — the feature is now implemented in MDL (see comment above). The skill has been updated with correct MDL syntax in the implementation branch.

@ako ako closed this May 10, 2026
ako added a commit that referenced this pull request May 10, 2026
Adds the user-facing documentation companion to the MDL-JARDEP implementation:

- .claude/skills/mendix/java-dependencies.md — synced skill covering all MDL
  commands (LIST, DESCRIBE, ALTER MODULE ADD/SET/DROP), coordinate format,
  Jackson version gotcha, and Gradle resolution note. Supersedes the
  workaround-only approach proposed in PR #545.
- docs-site/src/reference/jar-dependency/ — three reference pages:
  README.md (index), alter-module-jar-dependency.md, list-describe-jar-dependency.md
- docs-site/src/SUMMARY.md — JAR Dependency Statements section added after
  Organization Statements

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants