Skip to content

Commit ab274ab

Browse files
committed
issue #206: Deprecation warning for Gradle 8.0 in startScripts action
1 parent 91fd0cf commit ab274ab

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

src/main/java/org/javamodularity/moduleplugin/tasks/AbstractExecutionMutator.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,28 @@ abstract class AbstractExecutionMutator {
2222
}
2323

2424
protected final String getMainClassName() {
25-
String mainClassName = Objects.requireNonNull(
26-
execTask.getMain(),
27-
"Main class name not found. Try setting 'application.mainClassName' in your Gradle build file."
28-
);
29-
if (!mainClassName.contains("/")) {
30-
if(GradleVersion.current().compareTo(GradleVersion.version("6.3")) <= 0) {
31-
LOGGER.warn("No module was provided for main class, assuming the current module. Prefer providing 'mainClassName' in the following format: '$moduleName/a.b.Main'");
25+
if(GradleVersion.current().compareTo(GradleVersion.version("6.4")) < 0) {
26+
String mainClassName = Objects.requireNonNull(
27+
execTask.getMain(),
28+
"Main class name not found. Try setting 'application.mainClassName' in your Gradle build file."
29+
);
30+
if (!mainClassName.contains("/")) {
31+
LOGGER.warn("No module was provided for main class, assuming the current module. Prefer providing 'mainClassName' in the following format: '$moduleName/a.b.Main'");
32+
return helper().moduleName() + "/" + mainClassName;
3233
}
33-
return helper().moduleName() + "/" + mainClassName;
34+
return mainClassName;
35+
} else {
36+
String mainClassName = Objects.requireNonNull(
37+
execTask.getMainClass().getOrNull(),
38+
"Main class name not found. Try setting 'application.mainClass' in your Gradle build file."
39+
);
40+
String mainModuleName = execTask.getMainModule().getOrNull();
41+
if(mainModuleName == null) {
42+
LOGGER.warn("Main module name not found. Try setting 'application.mainModule' in your Gradle build file.");
43+
mainModuleName = helper().moduleName();
44+
}
45+
return mainModuleName + "/" + mainClassName;
3446
}
35-
return mainClassName;
3647
}
3748

3849
protected final JavaProjectHelper helper() {

src/main/java/org/javamodularity/moduleplugin/tasks/StartScriptsMutator.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,14 @@ private void configureStartScriptsDoFirst(CreateStartScripts startScriptsTask) {
6868
startScriptsTask.setDefaultJvmOpts(jvmArgs);
6969
startScriptsTask.setClasspath(project.files());
7070

71-
if (ModularCreateStartScripts.UNDEFINED_MAIN_CLASS_NAME.equals(startScriptsTask.getMainClassName())) {
72-
startScriptsTask.setMainClassName(execTask.getMain());
71+
if(GradleVersion.current().compareTo(GradleVersion.version("6.4")) < 0) {
72+
if (ModularCreateStartScripts.UNDEFINED_MAIN_CLASS_NAME.equals(startScriptsTask.getMainClassName())) {
73+
startScriptsTask.setMainClassName(execTask.getMain());
74+
}
75+
} else {
76+
if (ModularCreateStartScripts.UNDEFINED_MAIN_CLASS_NAME.equals(startScriptsTask.getMainClass().getOrElse(ModularCreateStartScripts.UNDEFINED_MAIN_CLASS_NAME))) {
77+
startScriptsTask.getMainClass().set(execTask.getMainClass().getOrElse(ModularCreateStartScripts.UNDEFINED_MAIN_CLASS_NAME));
78+
}
7379
}
7480
}
7581

0 commit comments

Comments
 (0)