@@ -76,48 +76,7 @@ public void apply(final Project project) {
7676 var extension = project .getExtensions ()
7777 .create (BasePluginBuildPlugin .PLUGIN_EXTENSION_NAME , PluginPropertiesExtension .class , project );
7878
79- final var buildProperties = project .getTasks ().register ("pluginProperties" , GeneratePluginPropertiesTask .class , task -> {
80- task .getPluginName ().set (providerFactory .provider (extension ::getName ));
81- task .getPluginDescription ().set (providerFactory .provider (extension ::getDescription ));
82- task .getPluginVersion ().set (providerFactory .provider (extension ::getVersion ));
83- task .getElasticsearchVersion ().set (Version .fromString (VersionProperties .getElasticsearch ()).toString ());
84- var javaExtension = project .getExtensions ().getByType (JavaPluginExtension .class );
85- task .getJavaVersion ().set (providerFactory .provider (() -> javaExtension .getTargetCompatibility ().toString ()));
86- task .getExtendedPlugins ().set (providerFactory .provider (extension ::getExtendedPlugins ));
87- task .getHasNativeController ().set (providerFactory .provider (extension ::isHasNativeController ));
88- task .getRequiresKeystore ().set (providerFactory .provider (extension ::isRequiresKeystore ));
89- task .getIsLicensed ().set (providerFactory .provider (extension ::isLicensed ));
90-
91- var mainSourceSet = project .getExtensions ().getByType (SourceSetContainer .class ).getByName (SourceSet .MAIN_SOURCE_SET_NAME );
92- FileCollection moduleInfoFile = mainSourceSet .getOutput ().getAsFileTree ().matching (p -> p .include ("module-info.class" ));
93- task .getModuleInfoFile ().setFrom (moduleInfoFile );
94- });
95- final var testDependencies = project .getTasks ()
96- .register ("generatePluginTestDependencies" , GeneratePluginTestDependenciesTask .class , task -> {
97- task .getDescriptorFile ().set (buildProperties .get ().getOutputFile ().get ().getAsFile ());
98- var policy = project .getLayout ().getProjectDirectory ().file ("src/main/plugin-metadata/entitlement-policy.yaml" );
99- if (policy .getAsFile ().exists ()) {
100- task .getPolicyFile ().set (policy );
101- }
102- task .getJarFiles ()
103- .set (
104- project .getConfigurations ()
105- .getByName ("runtimeClasspath" )
106- .minus (
107- project .getConfigurations ().getByName (CompileOnlyResolvePlugin .RESOLVEABLE_COMPILE_ONLY_CONFIGURATION_NAME )
108- )
109- );
110- task .getClassDirectories ()
111- .set (
112- project .getExtensions ()
113- .getByType (SourceSetContainer .class )
114- .stream ()
115- .flatMap (ss -> ss .getOutput ().getClassesDirs ().getFiles ().stream ())
116- .map (File ::getAbsolutePath )
117- .toList ()
118- );
119- });
120- final var bundleTask = createBundleTasks (buildProperties , testDependencies , project , extension );
79+ final var bundleTask = createBundleTasks (project , extension );
12180 project .getConfigurations ().getByName ("default" ).extendsFrom (project .getConfigurations ().getByName ("runtimeClasspath" ));
12281
12382 // allow running ES with this plugin in the foreground of a build
@@ -146,14 +105,26 @@ private static NamedDomainObjectContainer<ElasticsearchCluster> testClusters(Pro
146105 * Adds bundle tasks which builds the dir and zip containing the plugin jars,
147106 * metadata, properties, and packaging files
148107 */
149- private TaskProvider <Zip > createBundleTasks (
150- final TaskProvider <GeneratePluginPropertiesTask > buildProperties ,
151- final TaskProvider <GeneratePluginTestDependenciesTask > testDependencies ,
152- final Project project ,
153- PluginPropertiesExtension extension
154- ) {
108+ private TaskProvider <Zip > createBundleTasks (final Project project , PluginPropertiesExtension extension ) {
155109 final var pluginMetadata = project .file ("src/main/plugin-metadata" );
156110
111+ final var buildProperties = project .getTasks ().register ("pluginProperties" , GeneratePluginPropertiesTask .class , task -> {
112+ task .getPluginName ().set (providerFactory .provider (extension ::getName ));
113+ task .getPluginDescription ().set (providerFactory .provider (extension ::getDescription ));
114+ task .getPluginVersion ().set (providerFactory .provider (extension ::getVersion ));
115+ task .getElasticsearchVersion ().set (Version .fromString (VersionProperties .getElasticsearch ()).toString ());
116+ var javaExtension = project .getExtensions ().getByType (JavaPluginExtension .class );
117+ task .getJavaVersion ().set (providerFactory .provider (() -> javaExtension .getTargetCompatibility ().toString ()));
118+ task .getExtendedPlugins ().set (providerFactory .provider (extension ::getExtendedPlugins ));
119+ task .getHasNativeController ().set (providerFactory .provider (extension ::isHasNativeController ));
120+ task .getRequiresKeystore ().set (providerFactory .provider (extension ::isRequiresKeystore ));
121+ task .getIsLicensed ().set (providerFactory .provider (extension ::isLicensed ));
122+
123+ var mainSourceSet = project .getExtensions ().getByType (SourceSetContainer .class ).getByName (SourceSet .MAIN_SOURCE_SET_NAME );
124+ FileCollection moduleInfoFile = mainSourceSet .getOutput ().getAsFileTree ().matching (p -> p .include ("module-info.class" ));
125+ task .getModuleInfoFile ().setFrom (moduleInfoFile );
126+
127+ });
157128 // add the plugin properties and metadata to test resources, so unit tests can
158129 // know about the plugin (used by test security code to statically initialize the plugin in unit tests)
159130 var testSourceSet = project .getExtensions ().getByType (SourceSetContainer .class ).getByName ("test" );
@@ -179,7 +150,7 @@ private TaskProvider<Zip> createBundleTasks(
179150 });
180151 project .getArtifacts ().add ("pluginMetadata" , pluginMetadata );
181152 // getAttributes().attribute(ArtifactTypeDefinition.ARTIFACT_TYPE_ATTRIBUTE, "plugin-metadata");
182- var bundleSpec = createBundleSpec (project , pluginMetadata , buildProperties , testDependencies );
153+ var bundleSpec = createBundleSpec (project , pluginMetadata , buildProperties );
183154 extension .setBundleSpec (bundleSpec );
184155 // create the actual bundle task, which zips up all the files for the plugin
185156 final var bundle = project .getTasks ().register ("bundlePlugin" , Zip .class , zip -> zip .with (bundleSpec ));
@@ -208,12 +179,10 @@ private TaskProvider<Zip> createBundleTasks(
208179 private static CopySpec createBundleSpec (
209180 Project project ,
210181 File pluginMetadata ,
211- TaskProvider <GeneratePluginPropertiesTask > buildProperties ,
212- TaskProvider <GeneratePluginTestDependenciesTask > testDependencies
182+ TaskProvider <GeneratePluginPropertiesTask > buildProperties
213183 ) {
214184 var bundleSpec = project .copySpec ();
215185 bundleSpec .from (buildProperties );
216- bundleSpec .from (testDependencies );
217186 bundleSpec .from (pluginMetadata , copySpec -> {
218187 // metadata (eg custom security policy)
219188 // the codebases properties file is only for tests and not needed in production
0 commit comments