Uh oh!
There was an error while loading. Please reload this page.
Move generated MaDs into modelgenerator/ - #21751
Conversation
There was a problem hiding this comment.
Pull request overview
This PR reorganizes the Java “models as data” (MaD) files by moving the currently generated MaDs into ext/generated/modelgenerator/, and updates the Java pack’s dataExtensions glob to continue picking them up recursively. This sets up a clear separation so future LLM-generated MaDs can live in a different subfolder.
Changes:
- Update
java/ql/lib/qlpack.ymlto load generated models from nested subdirectories viaext/generated/**/*.model.yml. - Add/move generated MaD
.model.ymlfiles underjava/ql/lib/ext/generated/modelgenerator/.
Show a summary per file
| File | Description |
|---|---|
| java/ql/lib/qlpack.yml | Switch dataExtensions glob to recurse under ext/generated/ so nested generated MaDs are included. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.xpath.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.validation.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.stream.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.stax.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.sax.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.transform.dom.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.util.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.stream.events.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.namespace.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.spec.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.keyinfo.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dsig.dom.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.crypto.dom.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.xml.catalog.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.transaction.xa.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.sql.rowset.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.sql.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.sound.sampled.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.sound.midi.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.sasl.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.cert.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.auth.x500.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.auth.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.auth.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.auth.login.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.security.auth.callback.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.rmi.ssl.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.print.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.print.event.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.print.attribute.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.net.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.naming.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.naming.ldap.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.naming.event.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.management.timer.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.management.monitor.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.management.loading.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.lang.model.type.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.lang.model.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.lang.model.element.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.jpeg.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.imageio.plugins.bmp.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.crypto.interfaces.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/javax.annotation.processing.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.util.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.util.regex.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.util.prefs.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.util.jar.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.util.function.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.time.zone.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.time.temporal.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.text.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.security.interfaces.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.rmi.server.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.rmi.registry.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.rmi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.rmi.dgc.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.nio.file.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.nio.file.attribute.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.nio.charset.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.nio.channels.spi.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.lang.runtime.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.lang.ref.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.lang.management.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.lang.instrument.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.lang.annotation.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
| java/ql/lib/ext/generated/modelgenerator/java.applet.model.yml | Generated MaD file now located under ext/generated/modelgenerator/. |
Copilot's findings
- Files reviewed: 1/140 changed files
- Comments generated: 0
There was a problem hiding this comment.
Perhaps, we should
- Update the "shared" part of the model generator script to point to the new "default" location for generated models. More specifically, we need to update this location and also update the documentation in the script.
- Move the generated models for the other languages as well.
Both of the above can be considered follow ups.
However, we should run DCA before merging.
jacknojo
commented
Apr 24, 2026
I'll do them all now, so we avoid having to run DCA twice. |
ccf14ad to
40d2503Compare
michaelnebel
left a comment
There was a problem hiding this comment.
The qlpack.yml file needs to be updated for all the language packs where the models are moved.
40d2503 to
d3ce582Comparejacknojo
commented
Apr 24, 2026
Thanks, I forgot. It was only C# that needed an update, the others are already using |
d3ce582 to
7f12fb7Comparejacknojo
commented
Apr 28, 2026
The DCA runs are fine across all languages (CPP/C#/Java/Rust). |
michaelnebel
left a comment
There was a problem hiding this comment.
C#, Java and changes to the shared script LGTM.
geoffw0
commented
Apr 29, 2026
Rust changes LGTM, and we can ignore the Rust MacOS integration test failures (or merge main to get https://github.com/github/semmle-code/pull/55459).
I actually think we should do this now, or else very soon after merging. Otherwise it seems like we're leaving the model generator in a broken state. |
jacknojo
commented
Apr 29, 2026
Unless I forgot something, this should already be handled on 7f12fb7 |
In preparation for incoming MaDs generated by the mads-llm tool it makes sense to move the current generated MaDs into a subfolder of
generated/:generated/modelgenerator/. When we start to add LLM-generated MaDs, we can place those in another folder and have a clear separation of the two.The wildcard pattern is the same as in, for example:
codeql/actions/ql/lib/qlpack.yml
Line 15 in eee5b06