Skip to content

Commit 4160fa3

Browse files
committed
Merge generated-src and generated
1 parent 3cfb649 commit 4160fa3

File tree

8 files changed

+40
-9
lines changed

8 files changed

+40
-9
lines changed

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/StringTemplatePluginTest.groovy

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,40 @@ class StringTemplatePluginTest extends AbstractGradleFuncTest {
7575
""".stripIndent().stripTrailing()
7676
}
7777

78+
def "test custom generated directory"() {
79+
given:
80+
internalBuild()
81+
file('src/main/src/X-SomeFile.txt.st') << """
82+
Just some random data
83+
"""
84+
file('src/main/generated/leftover.txt') << """
85+
Just some random data
86+
"""
87+
88+
buildFile << """
89+
apply plugin: 'elasticsearch.build'
90+
apply plugin: 'elasticsearch.string-templates'
91+
92+
tasks.named("stringTemplates").configure {
93+
it.outputFolder = file("src/main/generated")
94+
template {
95+
it.properties = [:]
96+
it.inputFile = file("src/main/src/X-SomeFile.txt.st")
97+
it.outputFile = "SomeFile.txt"
98+
}
99+
}
100+
"""
101+
102+
when:
103+
def result = gradleRunner("stringTemplates", '-g', gradleUserHome).build()
104+
105+
then:
106+
result.task(":stringTemplates").outcome == TaskOutcome.SUCCESS
107+
file("src/main/generated/SomeFile.txt").exists()
108+
file("src/main/generated-src/SomeFile.txt").exists() == false
109+
file("src/main/generated/leftover.txt").exists() == false
110+
}
111+
78112
def "test basic conditional"() {
79113
given:
80114
internalBuild()

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/StringTemplateTask.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ public abstract class StringTemplateTask extends DefaultTask {
4242

4343
@Inject
4444
public StringTemplateTask(ObjectFactory objectFactory, FileSystemOperations fileSystemOperations) {
45-
templateSpecListProperty = objectFactory.listProperty(TemplateSpec.class);
46-
outputFolder = objectFactory.directoryProperty();
45+
this.templateSpecListProperty = objectFactory.listProperty(TemplateSpec.class);
46+
this.outputFolder = objectFactory.directoryProperty();
4747
this.fileSystemOperations = fileSystemOperations;
4848
}
4949

x-pack/plugin/esql/build.gradle

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@ def projectDirectory = project.layout.projectDirectory
6969
def generatedSourceDir = projectDirectory.dir(generatedPath)
7070
tasks.named("compileJava").configure {
7171
options.compilerArgumentProviders.add(new SourceDirectoryCommandLineArgumentProvider(generatedSourceDir))
72-
// IntelliJ sticks generated files here and we can't stop it....
73-
exclude { normalize(it.file.toString()).contains("src/main/generated-src/generated") }
7472
}
7573

7674
idea.module {
@@ -177,8 +175,7 @@ pluginManager.withPlugin('com.diffplug.spotless') {
177175
// for some reason "${outputPath}/EsqlBaseParser*.java" does not match the same files...
178176
targetExclude "src/main/java/org/elasticsearch/xpack/esql/parser/EsqlBaseLexer*.java",
179177
"src/main/java/org/elasticsearch/xpack/esql/parser/EsqlBaseParser*.java",
180-
"src/main/generated/**/*.java",
181-
"src/main/generated-src/generated/**/*.java"
178+
"src/main/generated/**/*.java"
182179
}
183180
}
184181
}
@@ -227,7 +224,7 @@ tasks.register("regenParser", JavaExec) {
227224
}
228225

229226
tasks.register("regen") {
230-
dependsOn "regenParser"
227+
dependsOn "regenParser", "stringTemplates"
231228
doLast {
232229
// moves token files to grammar directory for use with IDE's
233230
ant.move(file: "${outputPath}/EsqlBaseLexer.tokens", toDir: grammarPath)
@@ -276,10 +273,8 @@ tasks.register("regen") {
276273
}
277274
}
278275

279-
tasks.named("spotlessJava") { dependsOn stringTemplates }
280276
tasks.named('checkstyleMain').configure {
281277
excludes = [ "**/*.java.st" ]
282-
exclude { normalize(it.file.toString()).contains("src/main/generated-src/generated") }
283278
exclude { normalize(it.file.toString()).contains("src/main/generated") }
284279
}
285280

@@ -306,6 +301,8 @@ tasks.named('stringTemplates').configure {
306301
var bytesRefProperties = prop("BytesRef", "BytesRef", "BYTES_REF", "org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_OBJECT_REF", "")
307302
var booleanProperties = prop("Boolean", "boolean", "BOOLEAN", "Byte.BYTES", "BitArray")
308303

304+
it.outputFolder = file(generatedPath)
305+
309306
File inInputFile = file("src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/X-InEvaluator.java.st")
310307
template {
311308
it.properties = booleanProperties

0 commit comments

Comments
 (0)