Author: olamy
Date: Wed Feb 20 13:58:21 2008
New Revision: 629628

URL: http://svn.apache.org/viewvc?rev=629628&view=rev
Log:
[MCOMPILER-52] Need a way to specify the debug level
Submitted by Thomas Krammer

Modified:
    maven/plugins/trunk/maven-compiler-plugin/src/it/test1/pom.xml
    
maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java

Modified: maven/plugins/trunk/maven-compiler-plugin/src/it/test1/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-compiler-plugin/src/it/test1/pom.xml?rev=629628&r1=629627&r2=629628&view=diff
==============================================================================
--- maven/plugins/trunk/maven-compiler-plugin/src/it/test1/pom.xml (original)
+++ maven/plugins/trunk/maven-compiler-plugin/src/it/test1/pom.xml Wed Feb 20 
13:58:21 2008
@@ -39,6 +39,7 @@
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
           <fork>true</fork>
+          <debuglevel>source,lines,vars</debuglevel>
         </configuration>
       </plugin>
     </plugins>

Modified: 
maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java?rev=629628&r1=629627&r2=629628&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java
 Wed Feb 20 13:58:21 2008
@@ -216,6 +216,15 @@
      * @parameter expression="${project.build.finalName}"
      */
     private String outputFileName;
+    
+    /**
+     * Keyword list to be appended to the -g  command-line switch. Legal 
values are none or a comma-separated list of the following keywords: lines, 
vars, and source.
+     * If debuglevel is not specified, by default, nothing will be appended to 
-g. If debug is not turned on, this attribute will be ignored.
+     *
+     * @parameter expression="${maven.compiler.debuglevel}"
+     * @since 2.1
+     */
+    private String debuglevel;    
 
     // ----------------------------------------------------------------------
     // Read-only parameters
@@ -314,6 +323,21 @@
 
         compilerConfiguration.setDebug( debug );
 
+        if ( debug && StringUtils.isNotEmpty( debuglevel ) )
+        {
+            String[] split = StringUtils.split( debuglevel, "," );
+            for ( int i = 0; i < split.length; i++ )
+            {
+                if ( !( split[i].equalsIgnoreCase( "none" ) || 
split[i].equalsIgnoreCase( "lines" )
+                    || split[i].equalsIgnoreCase( "vars" ) || 
split[i].equalsIgnoreCase( "source" ) ) )
+                {
+                    throw new IllegalArgumentException( "The specified debug 
level: '" + split[i]
+                        + "' is unsupported. " + "Legal values are 'none', 
'lines', 'vars', and 'source'." );
+                }
+            }
+            compilerConfiguration.setDebugLevel( debuglevel );
+        }        
+        
         compilerConfiguration.setVerbose( verbose );
 
         compilerConfiguration.setShowWarnings( showWarnings );


Reply via email to