@@ -25,6 +25,7 @@ public void configureRun(Project project, String moduleName) {
2525 project .getPluginManager ().withPlugin (ApplicationPlugin .APPLICATION_PLUGIN_NAME , plugin -> {
2626 if (project .getPlugins ().hasPlugin ("application" )) {
2727 JavaExec execTask = (JavaExec ) project .getTasks ().findByName (ApplicationPlugin .TASK_RUN_NAME );
28+ execTask .getExtensions ().create ("moduleOptions" , ModuleOptions .class , project );
2829 updateJavaExecTask (execTask , moduleName );
2930 updateStartScriptsTask (project , execTask , moduleName );
3031 }
@@ -42,6 +43,14 @@ private void updateStartScriptsTask(Project project, JavaExec execTask, String m
4243 );
4344
4445 var jvmArgs = new ArrayList <String >();
46+
47+ ModuleOptions moduleOptions = execTask .getExtensions ().getByType (ModuleOptions .class );
48+ System .out .println ("ModuleOptions: " + moduleOptions );
49+ if (!moduleOptions .getAddModules ().isEmpty ()) {
50+ String addModules = String .join ("," , moduleOptions .getAddModules ());
51+ jvmArgs .add ("--add-modules" );
52+ jvmArgs .add (addModules );
53+ }
4554 startScriptsTask .getDefaultJvmOpts ().forEach (jvmArgs ::add );
4655 jvmArgs .addAll (moduleJvmArgs );
4756
@@ -65,9 +74,19 @@ private void updateJavaExecTask(JavaExec execTask, String moduleName) {
6574 );
6675
6776 var jvmArgs = new ArrayList <String >();
77+
78+ ModuleOptions moduleOptions = execTask .getExtensions ().getByType (ModuleOptions .class );
79+ if (!moduleOptions .getAddModules ().isEmpty ()) {
80+ String addModules = String .join ("," , moduleOptions .getAddModules ());
81+ jvmArgs .add ("--add-modules" );
82+ jvmArgs .add (addModules );
83+ }
84+
6885 jvmArgs .addAll (execTask .getJvmArgs ());
6986 jvmArgs .addAll (moduleJvmArgs );
7087
88+
89+
7190 execTask .setJvmArgs (jvmArgs );
7291
7392 });
0 commit comments