We experienced the same issues too in intellij after switching to latest version. I did the trick Luke mentioned before to include the beam-model-fn-execution and beam-model-job-management jars in the dependent modules to get around compilation. But I cannot get the vendored protobuf working. Seems the RunnerApi is using the original protobuf package, and it causes confusion in intellij if I added the relocated jar. As a result, I have to run and debug only using gradle for now.
Thanks, Xinyu On Wed, Aug 22, 2018 at 1:45 AM, Maximilian Michels <m...@apache.org> wrote: > Thanks Lukasz. I also found that I can never fix all import errors by > manually adding jars to the IntelliJ library list. It is also not a good > solution because it breaks on reloading the Gradle project. > > New contributors might find the errors in IntelliJ distracting. Even > worse, they might assume the problem is on their side. If we can't fix them > soon, I'd suggest documenting the IntelliJ limitations in the contributor > guide. > > On 20.08.18 17:58, Lukasz Cwik wrote: > >> Yes, I have the same issues with vendoring. These are the things that I >> have tried without success to get Intellij to import the vendored modules >> correctly: >> * attempted to modify the idea.module.scopes to only include the vendored >> artifacts (for some reason this is ignored and Intellij is relying on the >> output of its own internal module, nothing I add to the scopes seems to >> impact anything) >> * modify the generated iml beforehand to add the vendored jar file as the >> top dependency (jar never appears in the modules dependencies) >> >> On Mon, Aug 20, 2018 at 8:36 AM Maximilian Michels <m...@apache.org >> <mailto:m...@apache.org>> wrote: >> >> Thank you Etienne for opening the issue. >> >> Anyone else having problems with the shaded Protobuf dependency? >> >> On 20.08.18 16:14, Etienne Chauchot wrote: >> > Hi Max, >> > >> > I experienced the same, I had first opened a general ticket >> > (https://issues.apache.org/jira/browse/BEAM-4418) about gradle >> > improvements and I just split it in several tickets. Here is the >> one >> > concerning the same issue: >> https://issues.apache.org/jira/browse/BEAM-5176 >> > >> > Etienne >> > >> > Le lundi 20 août 2018 à 15:51 +0200, Maximilian Michels a écrit : >> >> Hi Beamers, >> >> >> >> It's great to see the Beam build system overhauled. Thank you >> for all >> >> the hard work. >> >> >> >> That said, I've just started contributing to Beam again and I feel >> >> really stupid for not having a fully-functional IDE. I've closely >> >> followed the IntelliJ/Gradle instructions [1]. In the terminal >> >> everything works fine. >> >> >> >> First of all, I get warnings like the following and the build >> fails: >> >> >> >> ==== >> >> >> .../beam/sdks/java/core/src/main/java/org/apache/beam/sdk/pa >> ckage-info.java:29: >> >> warning: [deprecation] NonNull in >> edu.umd.cs.findbugs.annotations has >> >> been deprecated >> >> @DefaultAnnotation(NonNull.class) >> >> ^ >> >> error: warnings found and -Werror specified >> >> 1 error >> >> 89 warnings >> >> ===== >> >> >> >> Somehow the "-Xlint:-deprecation" compiler flag does not get >> through but >> >> "-Werror" does. I can get it to compile by removing the >> "-Werror" flag >> >> from BeamModulePlugin but that's obviously not the solution. >> >> >> >> Further, once the build succeeds I still have to add the relocated >> >> Protobuf library manually because the one in "vendor" does not get >> >> picked up. I've tried clearing caches / re-adding the project / >> >> upgrading IntelliJ / changing Gradle configs. >> >> >> >> >> >> Is this just me or do you also have similar problems? If so, I >> would >> >> like to compile a list of possible fixes to help other >> contributors. >> >> >> >> >> >> Thanks, >> >> Max >> >> >> >> >> >> Tested with >> >> - IntelliJ 2018.1.6 and 2018.2.1. >> >> - MacOS >> >> - java version "1.8.0_112" >> >> >> >> [1] https://beam.apache.org/contribute/intellij/ >> >> >> >> >> >> > -- > Max >