beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kennknowles <...@git.apache.org>
Subject [GitHub] beam pull request #2745: [BEAM-2105] Move TestCredential out of test suite a...
Date Thu, 27 Apr 2017 20:37:18 GMT
GitHub user kennknowles opened a pull request:

    https://github.com/apache/beam/pull/2745

    [BEAM-2105] Move TestCredential out of test suite artifact

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
    
    ---
    
    The test jar is for packaging the test suite of `gcp-core`, but `TestCredential` is
    not part of the test suite. It is simply a class that `gcp-core` offers to other
    libraries and belongs in the main artifact. Otherwise any users will have to
    depend on the test suite in order to test their code, which doesn't make sense.
    
    @lukecwik @dhalperi @davorbonaci you probably each might have some opinions on this.
    
    The test suite for XYZ is contained in the `test-jar` artifact aka `src/test` etc etc.
Putting other things in here and asking users to take a dependency on the whole test suite
doesn't make sense.
    
    Maven's scopes prevent this from causing dependency hell, by simply possibly not pulling
in needed transitive dependencies.
    
    "user's tests"
        --(test scope) --> "TestCredential in test suite artifact"
        --(test scope)--> "any deps not also main deps"
    
    If the last line is nonempty, the user will be broken. It only works by luck (yes, it
usually will) because all of these deps will also be present as `compile` dependencies. So
we've just forced the user to add cruft to their pom and pull in bundles of stuff they don't
need.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kennknowles/beam TestCredential

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/2745.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2745
    
----

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message