Skip to content

RuntimeStateProvider#of should prune set of required bundles #15

Description

@fschopp

Currently, if a RuntimeStateProvider is serialized (transmitted to a different JVM), the set of required bundle identifiers is determined as:

runtimeContext.getRepository().getBundles()
    .stream()
    .map(RuntimeBundle::getBundleIdentifier)
    .collect(Collectors.toList())

When, e.g., serializing the runtime-state provider in order to execute a simple module in a separate JVM, the set of bundle identifiers may thus include way more than necessary (essentially the entire repository out of which only one simple module is required – possibly with type and annotation plugins though).

In particular, the DSL runtime context provider has the ability to look for all transitive dependencies of a simple module and only link those. That is, at least in this case, if the original bundle URI was of form x-dsl:org.genetics.Wholepipeline, the bundle URI for a simple-module execution may simply be, e.g., x-dsl:org.genertics.SortVariants – this way, many unneeded plug-ins don't have to be linked.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions