Skip to content

Commit efca017

Browse files
committed
GH-536 recognizer for Maven Wrapper added
1 parent 2de679f commit efca017

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

visualvm/application/src/org/graalvm/visualvm/application/type/Bundle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ DESCR_JDeveloperApplicationType=Oracle JDeveloper is a free integrated developme
4646
DESCR_IntelliJPlatformApplicationType=The IntelliJ Platform is a platform for building smart, language-aware IDEs with a comprehensive set of components.
4747
DESCR_EclipseApplicationType=Eclipse is an open-source community that develops open platforms and products.
4848
DESCR_MavenApplicationType=Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
49+
DESCR_MavenWrapperApplicationType=The Maven Wrapper is an easy way to ensure a user of Maven build has everything necessary to run Maven build.
4950
DESCR_Ant=Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles.
5051
DESCR_GlassFish=GlassFish is an open source application server for the Java EE platform.
5152
DESCR_Tomcat=Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.

visualvm/application/src/org/graalvm/visualvm/application/type/MavenApplicationType.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@
3434
*/
3535
public class MavenApplicationType extends MainClassApplicationType {
3636

37-
MavenApplicationType(Application app) {
38-
super(app, "Apache Maven", NbBundle.getMessage( // NOI18N
39-
MainClassApplicationType.class, "DESCR_MavenApplicationType"), // NOI18N
40-
"org/graalvm/visualvm/application/type/resources/Maven2Icon.png"); // NOI18N
37+
MavenApplicationType(Application app, boolean wrapper) {
38+
super(app,
39+
wrapper ? "Apache Maven Wrapper" : "Apache Maven", // NOI18N
40+
NbBundle.getMessage(MavenApplicationType.class, wrapper ? "DESCR_MavenWrapperApplicationType" : "DESCR_MavenApplicationType"), // NOI18N
41+
"org/graalvm/visualvm/application/type/resources/Maven2Icon.png"); // NOI18N
4142
}
4243

4344
}

visualvm/application/src/org/graalvm/visualvm/application/type/MavenApplicationTypeFactory.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public class MavenApplicationTypeFactory extends MainClassApplicationTypeFactory
3838
private static final String MAIN_CLASS_1 = "org.codehaus.plexus.classworlds.launcher.Launcher"; // NOI18N
3939
private static final String PROP_1 = "-Dclassworlds.conf="; // NOI18N
4040
private static final String PROP_2 = "-Dmaven.home="; // NOI18N
41+
private static final String WRAPPER_MAIN_CLASS = "org.apache.maven.wrapper.MavenWrapperMain"; // NOI18N
4142

4243
/**
4344
* Detects Apache Maven. It returns
@@ -51,10 +52,13 @@ public ApplicationType createApplicationTypeFor(Application app, Jvm jvm, String
5152
String args = jvm.getJvmArgs();
5253
if (args != null) {
5354
if (args.contains(PROP_1) && args.contains(PROP_2)) {
54-
return new MavenApplicationType(app);
55+
return new MavenApplicationType(app, false);
5556
}
5657
}
5758
}
59+
if (WRAPPER_MAIN_CLASS.equals(mainClass)) {
60+
return new MavenApplicationType(app, true);
61+
}
5862
return null;
5963
}
6064

0 commit comments

Comments
 (0)