osdir.com

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Status of IntelliJ with Gradle



On 2018/08/22 21:11:06, Xinyu Liu <xinyuliu.us@xxxxxxxxx> wrote: 
> 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 <mxm@xxxxxxxxxx> 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 <mxm@xxxxxxxxxx
> >> <mailto:mxm@xxxxxxxxxx>> 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
> >
> I encountered same error with Xinyu when I was launching unit tests in Intellij.
> - Kai