Skip to content

Commit b7f8e5c

Browse files
committed
Build: Make idea/eclipse project generation build generated resources for plugins
This adds a generated-resources dir that the plugin properties are generated into. This must be outside of the build dir, since intellij has build as "excluded". closes elastic#14392
1 parent 5104365 commit b7f8e5c

File tree

4 files changed

+12
-5
lines changed

4 files changed

+12
-5
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ work/
88
logs/
99
.DS_Store
1010
build/
11+
generated-resources/
1112
**/.local*
1213
docs/html/
1314
docs/build.log

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ allprojects {
153153
apply plugin: 'idea'
154154
}
155155

156-
if (hasProperty('projectsPrefix') == false) {
156+
if (projectsPrefix.isEmpty()) {
157157
idea {
158158
project {
159159
languageLevel = sourceCompatibility

buildSrc/src/main/groovy/org/elasticsearch/gradle/plugin/PluginBuildPlugin.groovy

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@ class PluginBuildPlugin extends BuildPlugin {
8484
static Task configureBundleTask(Project project) {
8585
PluginPropertiesTask buildProperties = project.tasks.create(name: 'pluginProperties', type: PluginPropertiesTask)
8686
File pluginMetadata = project.file("src/main/plugin-metadata")
87-
project.processTestResources {
88-
from buildProperties
89-
from pluginMetadata
87+
project.sourceSets.test {
88+
output.dir(buildProperties.propertiesFile.parentFile, builtBy: 'pluginProperties')
89+
resources {
90+
srcDir pluginMetadata
91+
}
9092
}
9193
Task bundle = project.tasks.create(name: 'bundlePlugin', type: Zip, dependsOn: [project.jar, buildProperties])
9294
bundle.configure {

buildSrc/src/main/groovy/org/elasticsearch/gradle/plugin/PluginPropertiesTask.groovy

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,13 @@ class PluginPropertiesTask extends DefaultTask {
3333

3434
PluginPropertiesExtension extension
3535
Map<String, String> properties = new HashMap<>()
36+
File generatedResourcesDir = new File(project.projectDir, "generated-resources")
3637

3738
PluginPropertiesTask() {
3839
extension = project.extensions.create('esplugin', PluginPropertiesExtension, project)
40+
project.clean {
41+
delete generatedResourcesDir
42+
}
3943
project.afterEvaluate {
4044
if (extension.description == null) {
4145
throw new InvalidUserDataException('description is a required setting for esplugin')
@@ -54,7 +58,7 @@ class PluginPropertiesTask extends DefaultTask {
5458
}
5559

5660
@OutputFile
57-
File propertiesFile = new File(project.buildDir, "plugin" + File.separator + "plugin-descriptor.properties")
61+
File propertiesFile = new File(generatedResourcesDir, "plugin-descriptor.properties")
5862

5963
void fillProperties() {
6064
// TODO: need to copy the templated plugin-descriptor with a dependent task, since copy requires a file (not uri)

0 commit comments

Comments
 (0)