Skip to content

Return to using provided scope for integration dependencies #1541

Open
@jbaiera

Description

@jbaiera

In PR #1452, we removed the plugin that adds provided and optional dependencies to the project. At the time we were working to untangle the ES-Hadoop build logic in order to support Spark/Scala cross compilation. The PropDeps plugin ended up on the chopping block since project models for the Spark projects would have required duplicating the plugin's logic to work with our homegrown abstraction around project variants. Instead of duplicating/extending the plugin, we discussed removing it from the project all together, instead relying on compile and runtime scopes, and assuming that the more frequent deployment method for these libraries is via jar arguments to submission programs.

We have been getting some feedback from the community though that this does cause confusion: Projects that previously bundled application and library code together for submission to computing environments would begin breaking since integrations are now being marked as compile/runtime in the pom.

We should make an effort to reinstate the usage of provided dependencies into the project. Instead of using a plugin to implement this, we should roll the logic directly into our build, which will give us total control over its maintenance going forward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions