Open your Gradle tool window and find the generateGrammarSources task under geode-core. Get its pop-up menu and check "Execute before Build". Bob's your uncle.

Le 1/5/2017 à 2:13 PM, John Blum a écrit :
@Dan- right. There are only 2 options in IntelliJ. 1 way is with Annotation Processors; IntelliJ can search for processors on the classpath (i.e. based on the project's dependencies). But as the name implies, it is a pre-processor for annotations in source code. Think of something like Project Lombok <https://projectlombok.org/> [1], a very useful tool in testing.

The other way is to define a (Antlr) module that the Geode modules depend on. The dependency could be explicitly added in IntelliJ to geode-core module. The Antlr module could be built using the Gradle task defined in the Geode Gradle build. However, this would get stomped every time someone re-imported the Gradle build files for Geode.

Probably the best option is as *Udo* described, or to first run a clean/build with Gradle, then build/test in IntelliJ (assuming IDEA does not blow away the build output on rebuilds).

Anyhow...


[1] https://projectlombok.org/


On Thu, Jan 5, 2017 at 1:46 PM, Udo Kohlmeyer <ukohlme...@pivotal.io <mailto:ukohlme...@pivotal.io>> wrote:

    Maybe you tell IntelliJ to use gradle rather than its internal
    delegates.


    On 1/5/17 13:35, Dan Smith wrote:
    John - yes, there's a new gradle task. The task that needs run is
    geode-core:generateGrammarSource. For eclipse, we made the eclipse task
    depend on that task. If we can figure out how to get intellij to
    automatically run that task that sounds like the way to go.

    -Dan

    On Thu, Jan 5, 2017 at 12:47 PM, Udo Kohlmeyer<ukohlme...@pivotal.io> 
<mailto:ukohlme...@pivotal.io>
    wrote:

    In the newer IntelliJ you can actually have IntelliJ invoke the gradle
    commands for build/run/build instead of its own internal implementation.

    --Udo



    On 1/5/17 12:45, John Blum wrote:

    @Kirk - Is it part of a new (Gradle) build step to generate the Antlr
    classes from source?  In which case, you can configure IntelliJ to perform
    this step during compiling I believe.

    On Thu, Jan 5, 2017 at 12:39 PM, Kirk Lund<kl...@pivotal.io> 
<mailto:kl...@pivotal.io>  wrote:

    Refreshing IntelliJ from Gradle does NOT fix this for me. Question: why
    should a "./gradlew clean build" from command-line be required to get
    IntelliJ to work?

    -Kirk


    On Tue, Dec 27, 2016 at 1:47 PM, Udo Kohlmeyer<ukohlme...@pivotal.io> 
<mailto:ukohlme...@pivotal.io>
    wrote:

    I had the same problem. gradle clean build did the trick for me
    On 12/27/16 13:45, Bruce Schuchardt wrote:

    Actually neither refreshing from gradle nor creating a new Intellij
    project worked.  I had to go to the "other" tasks under geode-core in

    the
    Gradle window and set "generateGrammarSource" to run before building.
    Le 12/27/2016 à 11:54 AM, Dan Smith a écrit :

    Refreshing your project from gradle ought to work to. Eclipse users
    will
    probably need to run ./gradlew eclipse and refresh their eclipse
    project.
    There is a new generated-src directory that needs to be on the source
    path.

    -Dan

    On Tue, Dec 27, 2016 at 11:28 AM, Bruce Schuchardt <
    bschucha...@pivotal.io <mailto:bschucha...@pivotal.io>>
    wrote:

    I did a pull today on my Windows 7 laptop and my IntelliJ build
    started

    failing with compilation errors looking for "OQLLexerTokenTypes".

    This
    comes from the fix for GEODE-165. Refreshing the IntelliJ build
    structure
    picked up the antlr tasks needed to generate this and other OQL
    source
    files but IntelliJ would not execute them.

    You either need to do a command-line build or close your IntelliJ
    project
    and import the gradle build into a new IntelliJ project.



--
-John
john.blum10101 (skype)

Reply via email to