Opened PR <https://github.com/apache/beam/pull/5404> to fix the current build issue, opened BEAM-4358 <https://issues.apache.org/jira/browse/BEAM-4358> to extract test dependencies.
Should we keep maven precommits running for now if we have to fix the issues like these? In the PR I had to fix another issue in the same project, and I suspect other projects are broken for me for similar reasons. Regards, Anton On Thu, May 17, 2018 at 4:52 PM Kenneth Knowles <k...@google.com> wrote: > I know what you mean. But indeed, test artifacts are unsuitable to depend > on since transitive deps don't work correctly. I think it makes sense to > have a separate test utility. For the core, one reason we didn't was to > have PAssert available in main. But now that we have Gradle we actually can > do that because it is not a true cycle but a false cycle introduced by > maven. > > For GCP it is even easier. > > Kenn > > > On Thu, May 17, 2018, 16:28 Thomas Weise <t...@apache.org> wrote: > >> It is possible to depend on a test artifact to achieve the same, but >> unfortunately not transitively. >> >> Mixing test utilities into the main artifacts seems undesirable, since >> they are only needed for tests. It may give more food to the shading >> monster also.. >> >> So it is probably better to create a dedicated test tools artifact that >> qualifies as transitive dependency? >> >> Thanks >> >> >> On Thu, May 17, 2018 at 4:17 PM, Kenneth Knowles <k...@google.com> wrote: >> >>> This seems correct. Test jars are for tests. Utilities to be used for >>> tests need to be in main jars. (If for no other reason, this is how >>> transitive deps work) >>> >>> We've considered putting these things in a separate package (still in >>> main). Just no one has done it. >>> >>> Kenn >>> >>> On Thu, May 17, 2018, 16:04 Thomas Weise <t...@apache.org> wrote: >>> >>>> Hi, >>>> >>>> Is the following dependency intended or an oversight? >>>> >>>> >>>> https://github.com/apache/beam/blob/06c70bdf871c5da8a115011b43f8072916cd79e8/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/pubsub/TestPubsub.java#L32 >>>> >>>> It appears that dependent code is in test scope. >>>> >>>> Should the build flag this (the maven build fails)? >>>> >>>> Thanks >>>> >>>> >>