I have done a bunch of improvements to the code for this layer loading
based on the prior PR.

It is now stabilized and worth it to examine/reexamine the PR at this point.

https://github.com/apache/daffodil/pull/651

I have also changed the goals here somewhat. I split out the
defining/creation of a Java API for layers, and true dynamic loading via
service loaders into a separate JIRA ticket DAFFODIL-2567.

I think that experience with what we have so far makes sense before
defining any Java API for doing this. I also think the need for true
dynamic detect and load behavior is far less critical than the basic
ability to define these in external jars that aren't part of daffodil.

This PR now includes just the modularization of layers, so they can be
written in scala and defined in a jar outside of Daffodil, An application
must register them for use by calling LayerCompilerRegistry.register(...).

All the built-in layers are in daffodil-runtime1-layers which is a new
module.

Other layers are defined in daffodil-test for testing that checksums/check
digits work. The example AIS payload encoding layer is also now defined and
tested in daffodil-test.

On Sat, Sep 25, 2021 at 8:31 PM Mike Beckerle <mbecke...@apache.org> wrote:

> Please see:
> https://cwiki.apache.org/confluence/display/DAFFODIL/Proposal%3A+Dynamically+loading+Layer+Transformations
>
> Also: https://issues.apache.org/jira/browse/DAFFODIL-1927
>
> See related PR: https://github.com/apache/daffodil/pull/643 which is for
> https://issues.apache.org/jira/browse/DAFFODIL-2221
>
> Please add comments or directly edit that wiki page, or discuss in this
> email thread if you prefer.
>
>

Reply via email to