Skip to content

bad dependency structure with owl-fuseki-gradle #36

@mprather

Description

@mprather

Description

Adding owl-fuseki-gradle to a dependency list requires the addition of another dependency. This cross coupling can break build scripts.

Steps to Reproduce

Steps to reproduce the behavior:

  • Start with a project that will only run the oml2owl and owlreason tasks (i.e. oml is converted to owl and the process is complete)
  • Confirm this project works (i.e. run the build task)
  • Add the following dependency to the list
        classpath 'io.opencaesar.owl:owl-fuseki-gradle:+'
  • Run the build task again

Result

The build task fails with the following:

> Task :owlReasonTestModels FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':owlReasonTestModels'.
> pDataset

Expectation

Adding a dependency should not influence existing tasks. Nothing in the dependency was used/added in the build script; hence, the simple action of adding the class to the dependency list should not cause the build to break.

Looking that the 2nd workaround below, it seems the underlying dependency chain needs to be reevaluated. Adding a dependency X should bring in all its requirements and not force the user to also manually the dependencies of X.

Workaround

There are only 2 known remediations:

  1. Do not add owl-fuseki-gradle to the dependency list
  2. Add io.opencaesar.owl:owl-shacl-fuseki-gradle to the dependency list

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions