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

[BUILD] Separate transitive dependencies in core #1124

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Commits on Feb 22, 2021

  1. [BUILD] Separate transitive dependencies in core

    so that the core can act as a dependency-container without leaking it's
    own (non-transitive) dependencies into the classpaths of the packages
    importing it while still providing the transitive dependencies that
    are needed by those packages.
    
    This is implemented by creating the two new configurations "bundle" and
    "bundleApi" which replace the previously used "releaseDep".
    Dependencies of the "bundle"-configuration gets extend from the
    "implementation"-configuration (by the gradle-java-plugin) which is not
    transitive and therefore it's dependencies are only visible to the core
    package itself while the dependencies in "bundleApi" (which the
    corresponding "api"-config extends from) can be used by all packages
    that import the core.
    Extension in the context of configurations means that that all the
    dependencies in the "bundle"-config also get added to the
    "implementation"-config.
    
    This solution has the advantage to other solutions (e.g. creating a new
    OSGI package) that the complexity of the build system is not
    significantly increased and no versioning of any additional OSGI
    packages needs to be considered.
    
    This commit includes just the preparations for the following commits
    that actually make this happen. So at this moment the new configs
    just get extended from the old "releaseDep" for compatibility
    reasons (this will change in the following commits).
    
    The solution was proposed and kindly explained to the authors by
    @m273d15 following the PR saros-project#1118.
    
    Co-authored-by: FKHals <30548867+FKHals@users.noreply.github.com>
    Co-authored-by: paun42 <75132590+paun42@users.noreply.github.com>
    Co-authored-by: panphil <74254708+panphil@users.noreply.github.com>
    4 people committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    76078a0 View commit details
    Browse the repository at this point in the history
  2. [BUILD] Change eclipse project to new configs

    to use the "bundle" and "bundleApi" as configurations instead of "releaseDep".
    
    Co-authored-by: Eik0fresh <39055879+Eik0fresh@users.noreply.github.com>
    Co-authored-by: paun42 <75132590+paun42@users.noreply.github.com>
    Co-authored-by: panphil <74254708+panphil@users.noreply.github.com>
    4 people committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    8550564 View commit details
    Browse the repository at this point in the history
  3. [BUILD] Change stf project to new configs

    to use the "bundle" and "bundleApi" as configurations instead of "releaseDep".
    
    Co-authored-by: Eik0fresh <39055879+Eik0fresh@users.noreply.github.com>
    Co-authored-by: paun42 <75132590+paun42@users.noreply.github.com>
    Co-authored-by: panphil <74254708+panphil@users.noreply.github.com>
    4 people committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    3b8c18e View commit details
    Browse the repository at this point in the history
  4. [BUILD] Use bundle/bundleApi as new default configs

    and remove the last remains of the previous default configuration
    "releaseDep".
    
    Co-authored-by: Eik0fresh <39055879+Eik0fresh@users.noreply.github.com>
    Co-authored-by: paun42 <75132590+paun42@users.noreply.github.com>
    Co-authored-by: panphil <74254708+panphil@users.noreply.github.com>
    4 people committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    d8dba44 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2021

  1. [BUILD] Prevent the core from exporting commons-io

    and instead let every project get it by itself, since it is not part
    of the cores public api and it further reduces the coupling between
    the core and these projects.
    
    We decided that this should be a separate commit from the previous
    ones (that also change the build-system) since it changes different
    files and could not be integrated coherently.
    
    Co-authored-by: Eik0fresh <39055879+Eik0fresh@users.noreply.github.com>
    Co-authored-by: paun42 <75132590+paun42@users.noreply.github.com>
    Co-authored-by: panphil <74254708+panphil@users.noreply.github.com>
    4 people committed Feb 24, 2021
    Configuration menu
    Copy the full SHA
    7afa9b1 View commit details
    Browse the repository at this point in the history
  2. [BUILD] Prevent core from exporting commons-lang

    and instead let every project get it by itself, since it is not part
    of the cores public api and it further reduces the coupling between
    the core and these projects.
    
    Co-authored-by: Eik0fresh <39055879+Eik0fresh@users.noreply.github.com>
    Co-authored-by: paun42 <75132590+paun42@users.noreply.github.com>
    Co-authored-by: panphil <74254708+panphil@users.noreply.github.com>
    4 people committed Feb 24, 2021
    Configuration menu
    Copy the full SHA
    e4745e1 View commit details
    Browse the repository at this point in the history