[ 
https://issues.apache.org/jira/browse/DAFFODIL-2994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18009602#comment-18009602
 ] 

Steve Lawrence commented on DAFFODIL-2994:
------------------------------------------

> Layer would be super hard to pull out into its own jar, so I suggest we 
> should merge UDF into runtime1 so runtime1 jar (or renamed to core jar) has 
> everything in it.  

We don't necessarily need to pull all of Layer logic into a separate jar. We 
would just pull the layer API into a separate jar. Things building a custom 
layer would depend on that jar. As would daffodil-core. But maybe there are 
some references to layer runtime stuff in the layer API that would make that 
difficult?

The main benefit of a separate layer or udf jar is projects can depend on just 
that jar, so things are a bit more simple and it's a bit more clear what part 
of daffodil a project is using. But i'm not sure that's worth the effort unless 
it's trivial. And maybe it is nice that regardless if you are builbind a custom 
layer or charset or udf, you still depend on the same jar. So it's a bit more 
simple in that regard.

> Should we also pull the schematron library into core like the other built-in 
> validators? 

I would suggest we keep schematron separate unless there is a compelling reason 
to combine it into core. My main thinking is that daffodil-schematron has s 
dependency to Saxon-HE, which we don't really need to require unless people are 
using the schematron capabilities. If we combine it into core, then anyone 
using Daffodil will now pull in Saxon-HE regardless if they need it or not. We 
don't have the same dependency issue with UDF/layers.

Note that similarly, it might be nice to split out our different infoset 
inputters/outputters in the separate jars. For example, the 
JDOMInfosetInputter/Outputter is part of daffodil-core and requires JDOM. If 
you aren't using those infosets then it's comlpetely unnecessary to pull in 
JDOM dependencies for an infoset you aren't using. But splitting those out 
requires a lot more thought and consideration than schematron, especially since 
we not longer have  runtime1 distinction, and we probably need that before we 
have infoset distictions, which are specific to runtime1.

> Merge daffodil-udf into core
> ----------------------------
>
>                 Key: DAFFODIL-2994
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2994
>             Project: Daffodil
>          Issue Type: Improvement
>          Components: Back End
>    Affects Versions: 3.10.0
>            Reporter: Olabusayo Kilo
>            Priority: Major
>
> There might be value in creating a daffodil-charset and daffodil-layer 
> directory/jar that contains the interfaces for building custom layers and 
> charsets, similar to what we have with daffodil-udf? Or maybe we have a 
> daffodil-plugins that contains all the udf, layer, and charset interfaces? Or 
> do we want to- merging daffodil-udf into daffodil-core so no matter what 
> you're doing, you just depend on daffodil-core? it seems a inconsistent to 
> have udf be it's own jar and other plugins be part of daffodil-core.
> Note the charset api is not super java friendly at the moment DAFFODIL-2894



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to