Re: Java code under main depends on junit?

2018-05-18 Thread Lukasz Cwik
I agree with separating it out as a separate sub-project for the same reason as you specify, just wanted to point out that it was just less bad with Gradle for internal use as we are doing it right now. On Fri, May 18, 2018 at 10:35 AM Kenneth Knowles wrote: > Ah, nice. That

Re: Java code under main depends on junit?

2018-05-18 Thread Kenneth Knowles
Ah, nice. That means you can actually declare a dependency on test suites and get their dependencies in order to run them successfully. It does mean I can't just argue "it doesn't work" but have to go back to arguing that it is a design problem :-) A "test jar" is a jar containing a bunch of

Re: Java code under main depends on junit?

2018-05-17 Thread Thomas Weise
Thanks! IMO we should at least run "mvn verify -DskipTests" in precommit until the maven build can be retired (== deleted from master). On Thu, May 17, 2018 at 5:00 PM, Anton Kedin wrote: > Opened PR to fix the current > build

Re: Java code under main depends on junit?

2018-05-17 Thread Anton Kedin
Opened PR to fix the current build issue, opened 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

Re: Java code under main depends on junit?

2018-05-17 Thread Kenneth Knowles
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

Re: Java code under main depends on junit?

2018-05-17 Thread Thomas Weise
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

Re: Java code under main depends on junit?

2018-05-17 Thread Kenneth Knowles
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

Re: Java code under main depends on junit?

2018-05-17 Thread Anton Kedin
My fault, I'll fix the maven issue. I added this file and it is not in test intentionally. The purpose of this class is similar to TestPipeline, in that other packages which depend on GCP IO can use this class in tests, including integration tests. For example, right now Beam SQL project depends