Add new daffodilPlugin and daffodilBin ModuleID implicit enrichments#147
Merged
stevedlawrence merged 1 commit intoapache:mainfrom Jan 6, 2026
Merged
Conversation
70f7694 to
f1bd5c7
Compare
jadams-tresys
approved these changes
Jan 5, 2026
jadams-tresys
left a comment
There was a problem hiding this comment.
+1
This will be nice to have. Definitely good to have a more automate-able way to download saved parsers for use in other SBT projects.
olabusayoT
approved these changes
Jan 6, 2026
README.md
Outdated
| ) | ||
| ``` | ||
|
|
||
| This example adds a dependency to a saved parser for dfdm-fmt compatible with |
This adds two new implicit enrichments to ModuleId, which allows
projects to more easily specify dependencies to Daffodil plugins or
saved parsers without needing to know the details of how to reference
them (e.g. Artifacts, classifiers, types, extensions).
For example, depending on a plugin and saved parser now looks like this:
libraryDependences ++= Seq(
"org.example" % "dfdl-plugin" % "1.0.0" daffodilPlugin(daffodilVersion.value),
"org.example" % "dfdl-fmt" % "1.0.0" daffodilBin(daffodilVersion.value)
)
This causes SBT to download the the specified plugin and saved parser,
allowing for easy testing or creationg of relase bundles.
Note that this also removes the daffodilPluginDependences setting--the
daffodilPlugin enrichment provides the same core functionality.
Also updates the cross-version-03 testto use the new enrichments. A new
"bundle" project is added to the test to depend on saved parsers and
show how to copy the plugin and parsers to a directory. This mimicks one
possible way to automate creating releases of pre-compiled artifacts.
Closes apache#146
f1bd5c7 to
5f83d7d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds two new implicit enrichments to ModuleId, which allows projects to more easily specify dependencies to Daffodil plugins or saved parsers without needing to know the details of how to reference them (e.g. Artifacts, classifiers, types, extensions).
For example, depending on a plugin and saved parser now looks like this:
This causes SBT to download the the specified plugin and saved parser, allowing for easy testing or creationg of relase bundles.
Note that this also removes the daffodilPluginDependences setting--the daffodilPlugin enrichment provides the same core functionality.
Also updates the cross-version-03 testto use the new enrichments. A new "bundle" project is added to the test to depend on saved parsers and show how to copy the plugin and parsers to a directory. This mimicks one possible way to automate creating releases of pre-compiled artifacts.
Closes #146