Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global dependency exclude for org.osgi.core needed #522

Closed
tdiesler opened this issue Apr 1, 2015 · 3 comments
Closed

Global dependency exclude for org.osgi.core needed #522

tdiesler opened this issue Apr 1, 2015 · 3 comments
Assignees
Labels
Milestone

Comments

@tdiesler
Copy link
Contributor

tdiesler commented Apr 1, 2015

We explicitly exclude org.osgi.core in the smartics config, as well as in wildfly-modules.xml

@tdiesler tdiesler added the bug label Apr 1, 2015
@tdiesler tdiesler added this to the 2.3.0 milestone Apr 1, 2015
@jamesnetherton
Copy link
Collaborator

What do we mean by 'explicit exclude'?

Either we exclude dependencies completely by using the smartics dependencyExcludes property or we skip them in the module configuration files.

The alternative is to use Maven excludes against specific dependencies. This does not seem to be a viable option IMO given that most of our dependencies are now up in the Camel BOM. Redeclaring them to do exclusions sounds messy to me.

If we want consistency, then the simplest thing to do IMO is to remove the smartics dependencyExcludes config section and allow the smartics module skipping to do its thing.

@jamesnetherton
Copy link
Collaborator

Thinking about this some more, I see two scenarios.

  1. We want to totally exclude a specific dependency (for example org.linkedin).
  2. We want to include a dependency but we do not want smartics to create a module definition for it since WildFly already provides it (for example osgi.core).

In scenario 1 this is best served with the smartics dependencyExcludes config. For scenario 2, we can declare the module / dependency as skipped.

Therefore, the consolidation work done in #460 probably needs revisiting to achieve the correct balance between absolute dependency exclusion and module skipping.

tdiesler pushed a commit to tdiesler/wildfly-camel that referenced this issue Apr 13, 2015
@tdiesler
Copy link
Contributor Author

We do generally not want to globally exclude stuff via dependencyExcludes because it also removes the need to exclude those dependencies explicitly per module. For documentation purposes it is useful to have

        <apply-to-dependencies skip="true">
            <include module="org.osgi.compendium" />
            <include module="org.osgi.core" />
        </apply-to-dependencies>

Like explicit includes, we also like to be explicit about excludes on a per module basis. If we should ever run into a CNF situation we can look at our smartics module definition (and nowhere else) and reason about the generated modules def.

Currently, we cannot get rid of global dependencyExcludes because of a smartics bug which deteriorates performance to an unacceptable degree.

An initial patch for this issue is in branch/wfc522 - I suspect this also requires a smartics update.

tdiesler pushed a commit to tdiesler/wildfly-camel that referenced this issue Apr 13, 2015
@tdiesler tdiesler changed the title Explicit exclude of org.osgi.core needed Explicit dependencyExcludes of org.osgi.core needed Apr 13, 2015
@tdiesler tdiesler changed the title Explicit dependencyExcludes of org.osgi.core needed Global dependency exclude for org.osgi.core needed Apr 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants