This is an automated email from the ASF dual-hosted git repository. lcwik pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push: new af7920d Adjust gradle build dirs and hints to help IntelliJ (#4583) af7920d is described below commit af7920dce12e1a3c018b90f7c305f7531b6df0d6 Author: Kenn Knowles <k...@kennknowles.com> AuthorDate: Mon Feb 5 08:34:12 2018 -0800 Adjust gradle build dirs and hints to help IntelliJ (#4583) --- build_rules.gradle | 48 +++++++++++++++++++++++++++++++++-- sdks/java/extensions/sql/build.gradle | 20 +++++++++++++-- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/build_rules.gradle b/build_rules.gradle index fa691af..c819776 100644 --- a/build_rules.gradle +++ b/build_rules.gradle @@ -67,6 +67,9 @@ repositories { maven { url "https://repository.apache.org/content/repositories/releases" } } +// Apply a plugin which enables configuring projects imported into Intellij. +apply plugin: "idea" + // Provide code coverage // TODO: Should this only apply to Java projects? apply plugin: "jacoco" @@ -363,6 +366,18 @@ ext.applyJavaNature = { force library.java.values() } } + + def aptGeneratedMain = "${project.buildDir}/generated/source/apt/main" + def aptGeneratedTest = "${project.buildDir}/generated/source/apt/test" + idea { + module { + sourceDirs += file(aptGeneratedMain) + generatedSourceDirs += file(aptGeneratedMain) + + testSourceDirs += file(aptGeneratedTest) + generatedSourceDirs += file(aptGeneratedTest) + } + } } /*************************************************************************************************/ @@ -400,6 +415,17 @@ ext.applyGoNature = { tasks.getByPath(project.path + ":resolveTestDependencies").mustRunAfter tasks.getByPath(previous + ":installDependencies") } } + + idea { + module { + // The gogradle plugin downloads all dependencies into the source tree here, + // which is a path baked into golang + excludeDirs += file("${project.path}/vendor") + + // gogradle's private working directory + excludeDirs += file("${project.path}/.gogradle") + } + } } /*************************************************************************************************/ @@ -443,6 +469,26 @@ ext.applyGrpcNature = { } } } + + def generatedProtoMainJavaDir = "${project.buildDir}/generated/source/proto/main/java" + def generatedProtoTestJavaDir = "${project.buildDir}/generated/source/proto/test/java" + def generatedGrpcMainJavaDir = "${project.buildDir}/generated/source/proto/main/grpc" + def generatedGrpcTestJavaDir = "${project.buildDir}/generated/source/proto/test/grpc" + idea { + module { + sourceDirs += file(generatedProtoMainJavaDir) + generatedSourceDirs += file(generatedProtoMainJavaDir) + + testSourceDirs += file(generatedProtoTestJavaDir) + generatedSourceDirs += file(generatedProtoTestJavaDir) + + sourceDirs += file(generatedProtoMainJavaDir) + generatedSourceDirs += file(generatedGrpcMainJavaDir) + + testSourceDirs += file(generatedGrpcTestJavaDir) + generatedSourceDirs += file(generatedGrpcTestJavaDir) + } + } } /*************************************************************************************************/ @@ -453,5 +499,3 @@ ext.applyAvroNature = { println "applyAvroNature with " + (it ? "$it" : "default configuration") + " for project $project.name" apply plugin: "com.commercehub.gradle.plugin.avro" } - - diff --git a/sdks/java/extensions/sql/build.gradle b/sdks/java/extensions/sql/build.gradle index bcca0cf..b7ba79a 100644 --- a/sdks/java/extensions/sql/build.gradle +++ b/sdks/java/extensions/sql/build.gradle @@ -80,7 +80,7 @@ task copyFmppTemplatesFromCalciteCore(type: Copy) { } // Generate the FMPP sources from the FMPP templates. -def generateFmppOutputDir = "${project.buildDir}/generated-fmpp" +def generateFmppOutputDir = "${project.buildDir}/generated/fmpp" task generateFmppSources { dependsOn configurations.fmppTask dependsOn copyFmppTemplatesFromSrc @@ -91,9 +91,14 @@ task generateFmppSources { } } +// Match the output directory for generated code with the package, to be more tool-friendly +def generateFmppJavaccRoot = "${generateFmppOutputDir}/javacc" +def generatedJavaccSourceDir = "${project.buildDir}/generated/javacc" +def generatedJavaccPackageDir = "${generatedJavaccSourceDir}/org/apache/beam/sdk/extensions/sql/impl/parser/impl" compileJavacc { dependsOn generateFmppSources - inputDirectory = file(generateFmppOutputDir) + inputDirectory = file(generateFmppJavaccRoot) + outputDirectory = file(generatedJavaccPackageDir) arguments = [grammar_encoding: "UTF-8", static: "false", lookahead: "2"] } @@ -116,3 +121,14 @@ shadowJar { // module. relocate "org.codehaus", "org.apache.beam.sdks.java.extensions.sql.repackaged.org.codehaus" } + +// Help IntelliJ find the fmpp bits +idea { + module { + sourceDirs += file(generateFmppOutputDir) + generatedSourceDirs += file(generateFmppOutputDir) + + sourceDirs += file(generatedJavaccSourceDir) + generatedSourceDirs += file(generatedJavaccSourceDir) + } +} -- To stop receiving notification emails like this one, please contact lc...@apache.org.