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

Doc for 'CheckExclusives' has been supressed #451

Closed
ericzundel opened this issue Aug 7, 2014 · 1 comment
Closed

Doc for 'CheckExclusives' has been supressed #451

ericzundel opened this issue Aug 7, 2014 · 1 comment
Assignees

Comments

@ericzundel
Copy link
Member

In the BUILD dictionary, the documentation for the 'exclusives' attribute all points to 'CheckExclusives'. I think this doc was removed when we got rid of publishing a lot of pydoc stuff. Maybe we should just reformat it into an .rst and stick it online (and update the references in the BUILD dictionary)

from check_exclusives.py:

 Computes transitive exclusive maps.

  This computes transitive exclusive tags for a dependency graph rooted
  with a set of build targets specified by a user. If this process produces
  any collisions where a single target contains multiple tag values for a single
  exclusives key, then it generates an error and the compilation will fail.

  The syntax of the exclusives attribute is: ::

     exclusives = {"id": "value", ...}

  For example, suppose that we had two java targets, jliba and jlibb. jliba uses
  slf4j, which includes in its jar package an implementation of log4j. jlibb uses
  log4j directly. But the version of log4j that's packaged inside of slf4j is
  different from the version used by jlibb. ::

     java_library(name='jliba',
       depedencies = ['slf4j-with-log4j-2.4'])
     java_library(name='jlibb',
       dependencies=['log4j-1.9'])
     java_binary(name='javabin', dependencies=[':jliba', ':jlibb'])

  In this case, the binary target 'javabin' depends on both slf4j with its
  packaged log4j version 2.4, and on log4j-1.9.
  Pants doesn't know that the slf4j and log4j jar_dependencies contain
  incompatible versions of the same library, and so it can't detect the error.

  With exclusives, the jar_library target for the joda libraries would declare
  exclusives tags: ::

     jar_library(name='slf4j-with-log4j-2.4', exclusives={'log4j': '2.4'})
     jar_library(name='joda-2.1', exclusives={'log4j': '1.9'})

  With the exclusives declared, pants can recognize that 'javabin' has conflicting
  dependencies, and can generate an appropriate error message.

  Data about exclusives is provided to other tasks via data build products.
  If the build data product 'exclusives_groups' is required, then an
  ExclusivesMapping object will be created.
@lahosken
Copy link
Contributor

this doc string was kind of a mix of stuff aimed at Pants users and Pants developers. Moved user-facing part to http://pantsbuild.github.io/build_files.html#howto-check-exclusives. Linked to it; that old CheckExclusives "link" wasn't actually a link.

asherf added a commit to asherf/pants that referenced this issue Feb 2, 2021
2.11.1 (2021-01-20)
-------------------

* Fixed support for newer setuptools (v42+).
  Contributed by Michał Górny in `pantsbuild#451 <https://github.com/pytest-dev/pytest-cov/pull/451>`_.

2.11.0 (2021-01-18)
-------------------

* Bumped minimum coverage requirement to 5.2.1. This prevents reporting issues.
  Contributed by Mateus Berardo de Souza Terra in `pantsbuild#433 <https://github.com/pytest-dev/pytest-cov/pull/433>`_.
* Improved sample projects (from the `examples <https://github.com/pytest-dev/pytest-cov/tree/master/examples>`_
  directory) to support running `tox -e pyXY`. Now the example configures a suffixed coverage data file,
  and that makes the cleanup environment unnecessary.
  Contributed by Ganden Schaffner in `pantsbuild#435 <https://github.com/pytest-dev/pytest-cov/pull/435>`_.
* Removed the empty `console_scripts` entrypoint that confused some Gentoo build script.
  I didn't ask why it was so broken cause I didn't want to ruin my day.
  Contributed by Michał Górny in `pantsbuild#434 <https://github.com/pytest-dev/pytest-cov/pull/434>`_.
* Fixed the missing `coverage context <https://coverage.readthedocs.io/en/stable/contexts.html>`_
  when using subprocesses.
  Contributed by Bernát Gábor in `pantsbuild#443 <https://github.com/pytest-dev/pytest-cov/pull/443>`_.
* Updated the config section in the docs.
  Contributed by Pamela McA'Nulty in `pantsbuild#429 <https://github.com/pytest-dev/pytest-cov/pull/429>`_.
* Migrated CI to travis-ci.com (from .org).

https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst
asherf added a commit to asherf/pants that referenced this issue Feb 3, 2021
2.11.1 (2021-01-20)
-------------------

* Fixed support for newer setuptools (v42+).
  Contributed by Michał Górny in `pantsbuild#451 <https://github.com/pytest-dev/pytest-cov/pull/451>`_.

2.11.0 (2021-01-18)
-------------------

* Bumped minimum coverage requirement to 5.2.1. This prevents reporting issues.
  Contributed by Mateus Berardo de Souza Terra in `pantsbuild#433 <https://github.com/pytest-dev/pytest-cov/pull/433>`_.
* Improved sample projects (from the `examples <https://github.com/pytest-dev/pytest-cov/tree/master/examples>`_
  directory) to support running `tox -e pyXY`. Now the example configures a suffixed coverage data file,
  and that makes the cleanup environment unnecessary.
  Contributed by Ganden Schaffner in `pantsbuild#435 <https://github.com/pytest-dev/pytest-cov/pull/435>`_.
* Removed the empty `console_scripts` entrypoint that confused some Gentoo build script.
  I didn't ask why it was so broken cause I didn't want to ruin my day.
  Contributed by Michał Górny in `pantsbuild#434 <https://github.com/pytest-dev/pytest-cov/pull/434>`_.
* Fixed the missing `coverage context <https://coverage.readthedocs.io/en/stable/contexts.html>`_
  when using subprocesses.
  Contributed by Bernát Gábor in `pantsbuild#443 <https://github.com/pytest-dev/pytest-cov/pull/443>`_.
* Updated the config section in the docs.
  Contributed by Pamela McA'Nulty in `pantsbuild#429 <https://github.com/pytest-dev/pytest-cov/pull/429>`_.
* Migrated CI to travis-ci.com (from .org).

https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst
asherf added a commit to asherf/pants that referenced this issue Feb 3, 2021
2.11.1 (2021-01-20)
-------------------

* Fixed support for newer setuptools (v42+).
  Contributed by Michał Górny in `pantsbuild#451 <https://github.com/pytest-dev/pytest-cov/pull/451>`_.

2.11.0 (2021-01-18)
-------------------

* Bumped minimum coverage requirement to 5.2.1. This prevents reporting issues.
  Contributed by Mateus Berardo de Souza Terra in `pantsbuild#433 <https://github.com/pytest-dev/pytest-cov/pull/433>`_.
* Improved sample projects (from the `examples <https://github.com/pytest-dev/pytest-cov/tree/master/examples>`_
  directory) to support running `tox -e pyXY`. Now the example configures a suffixed coverage data file,
  and that makes the cleanup environment unnecessary.
  Contributed by Ganden Schaffner in `pantsbuild#435 <https://github.com/pytest-dev/pytest-cov/pull/435>`_.
* Removed the empty `console_scripts` entrypoint that confused some Gentoo build script.
  I didn't ask why it was so broken cause I didn't want to ruin my day.
  Contributed by Michał Górny in `pantsbuild#434 <https://github.com/pytest-dev/pytest-cov/pull/434>`_.
* Fixed the missing `coverage context <https://coverage.readthedocs.io/en/stable/contexts.html>`_
  when using subprocesses.
  Contributed by Bernát Gábor in `pantsbuild#443 <https://github.com/pytest-dev/pytest-cov/pull/443>`_.
* Updated the config section in the docs.
  Contributed by Pamela McA'Nulty in `pantsbuild#429 <https://github.com/pytest-dev/pytest-cov/pull/429>`_.
* Migrated CI to travis-ci.com (from .org).

https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants