Maven plugin should read the compiler plugin configuration
authorJan Lahoda <jlahoda@netbeans.org>
Mon, 10 Sep 2012 20:27:23 +0200
changeset 86726108b0e411b
parent 866 37576d11d203
child 868 b4b685d49861
Maven plugin should read the compiler plugin configuration
cmdline/maven/src/main/java/org/netbeans/modules/jackpot30/maven/RunJackpot30.java
cmdline/maven/tests/sl-15/golden
cmdline/maven/tests/sl-15/pom.xml
cmdline/maven/tests/sl-15/src/main/java/test/App.java
cmdline/maven/tests/sl-17/golden
cmdline/maven/tests/sl-17/pom.xml
cmdline/maven/tests/sl-17/src/main/java/test/App.java
     1.1 --- a/cmdline/maven/src/main/java/org/netbeans/modules/jackpot30/maven/RunJackpot30.java	Fri Sep 07 10:44:46 2012 +0200
     1.2 +++ b/cmdline/maven/src/main/java/org/netbeans/modules/jackpot30/maven/RunJackpot30.java	Mon Sep 10 20:27:23 2012 +0200
     1.3 @@ -39,14 +39,18 @@
     1.4  package org.netbeans.modules.jackpot30.maven;
     1.5  
     1.6  import java.io.File;
     1.7 +import java.io.FileOutputStream;
     1.8  import java.io.IOException;
     1.9 +import java.io.OutputStream;
    1.10  import java.util.ArrayList;
    1.11  import java.util.List;
    1.12  import org.apache.maven.artifact.DependencyResolutionRequiredException;
    1.13 +import org.apache.maven.model.Plugin;
    1.14  import org.apache.maven.plugin.AbstractMojo;
    1.15  import org.apache.maven.plugin.MojoExecutionException;
    1.16  import org.apache.maven.plugin.MojoFailureException;
    1.17  import org.apache.maven.project.MavenProject;
    1.18 +import org.codehaus.plexus.util.xml.Xpp3Dom;
    1.19  import org.netbeans.modules.jackpot30.cmdline.Main;
    1.20  
    1.21  /**
    1.22 @@ -64,13 +68,29 @@
    1.23  
    1.24      public void execute() throws MojoExecutionException, MojoFailureException {
    1.25          try {
    1.26 +            String sourceLevel = "1.5";
    1.27 +            for (Object o : project.getBuild().getPlugins()) {
    1.28 +                if (!(o instanceof Plugin)) continue;
    1.29 +                Plugin p = (Plugin) o;
    1.30 +                if (!"org.apache.maven.plugins".equals(p.getGroupId())) continue;
    1.31 +                if (!"maven-compiler-plugin".equals(p.getArtifactId())) continue;
    1.32 +                if (p.getConfiguration() instanceof Xpp3Dom) {
    1.33 +                    Xpp3Dom configuration = (Xpp3Dom) p.getConfiguration();
    1.34 +                    Xpp3Dom source = configuration.getChild("source");
    1.35 +
    1.36 +                    if (source != null) {
    1.37 +                        sourceLevel = source.getValue();
    1.38 +                    }
    1.39 +                }
    1.40 +            }
    1.41              List<String> cmdLine = new ArrayList<String>();
    1.42              cmdLine.add("-no-apply");
    1.43              cmdLine.add("-sourcepath");
    1.44              cmdLine.add(toClassPathString((List<String>) project.getCompileSourceRoots()));
    1.45              cmdLine.add("-classpath");
    1.46              cmdLine.add(toClassPathString((List<String>) project.getCompileClasspathElements()));
    1.47 -//            if (sourcelevel != null) cmdLine.addArguments(new String[] {"--source", sourcelevel});
    1.48 +            cmdLine.add("-source");
    1.49 +            cmdLine.add(sourceLevel);
    1.50  
    1.51              for (String sr : (List<String>) project.getCompileSourceRoots()) {
    1.52                  cmdLine.add(sr);
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/cmdline/maven/tests/sl-15/pom.xml	Mon Sep 10 20:27:23 2012 +0200
     2.3 @@ -0,0 +1,43 @@
     2.4 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     2.5 +  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     2.6 +  <modelVersion>4.0.0</modelVersion>
     2.7 +
     2.8 +  <groupId>org.netbeans.modules.jackpot30</groupId>
     2.9 +  <artifactId>maven-test</artifactId>
    2.10 +  <version>1.0-SNAPSHOT</version>
    2.11 +  <packaging>jar</packaging>
    2.12 +
    2.13 +  <name>jackpot30-maven-plugin-test1</name>
    2.14 +  <url>http://maven.apache.org</url>
    2.15 +
    2.16 +  <properties>
    2.17 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    2.18 +  </properties>
    2.19 +
    2.20 +  <dependencies>
    2.21 +    <dependency>
    2.22 +      <groupId>junit</groupId>
    2.23 +      <artifactId>junit</artifactId>
    2.24 +      <version>3.8.1</version>
    2.25 +      <scope>test</scope>
    2.26 +    </dependency>
    2.27 +  </dependencies>
    2.28 +  <build>
    2.29 +    <plugins>
    2.30 +      <plugin>
    2.31 +        <groupId>org.netbeans.modules.jackpot30</groupId>
    2.32 +        <artifactId>jackpot30-maven-plugin</artifactId>
    2.33 +        <version>1.0-SNAPSHOT</version>
    2.34 +      </plugin>
    2.35 +      <plugin>
    2.36 +        <groupId>org.apache.maven.plugins</groupId>
    2.37 +        <artifactId>maven-compiler-plugin</artifactId>
    2.38 +        <version>2.3.2</version>
    2.39 +        <configuration>
    2.40 +            <source>1.5</source>
    2.41 +            <target>1.5</target>
    2.42 +        </configuration>
    2.43 +      </plugin>
    2.44 +    </plugins>
    2.45 +  </build>
    2.46 +</project>
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/cmdline/maven/tests/sl-15/src/main/java/test/App.java	Mon Sep 10 20:27:23 2012 +0200
     3.3 @@ -0,0 +1,10 @@
     3.4 +package test;
     3.5 +
     3.6 +import java.util.*;
     3.7 +
     3.8 +public class App  {
     3.9 +
    3.10 +    public static void main( String[] args ) {
    3.11 +        List<String> l = new ArrayList<String>();
    3.12 +    }
    3.13 +}
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/cmdline/maven/tests/sl-17/golden	Mon Sep 10 20:27:23 2012 +0200
     4.3 @@ -0,0 +1,3 @@
     4.4 +${basedir}/src/main/java/test/App.java:8: warning: redundant type arguments in new expression (use diamond operator instead).
     4.5 +        List<String> l = new ArrayList<String>();
     4.6 +                             ^
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/cmdline/maven/tests/sl-17/pom.xml	Mon Sep 10 20:27:23 2012 +0200
     5.3 @@ -0,0 +1,43 @@
     5.4 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5.5 +  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     5.6 +  <modelVersion>4.0.0</modelVersion>
     5.7 +
     5.8 +  <groupId>org.netbeans.modules.jackpot30</groupId>
     5.9 +  <artifactId>maven-test</artifactId>
    5.10 +  <version>1.0-SNAPSHOT</version>
    5.11 +  <packaging>jar</packaging>
    5.12 +
    5.13 +  <name>jackpot30-maven-plugin-test1</name>
    5.14 +  <url>http://maven.apache.org</url>
    5.15 +
    5.16 +  <properties>
    5.17 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    5.18 +  </properties>
    5.19 +
    5.20 +  <dependencies>
    5.21 +    <dependency>
    5.22 +      <groupId>junit</groupId>
    5.23 +      <artifactId>junit</artifactId>
    5.24 +      <version>3.8.1</version>
    5.25 +      <scope>test</scope>
    5.26 +    </dependency>
    5.27 +  </dependencies>
    5.28 +  <build>
    5.29 +    <plugins>
    5.30 +      <plugin>
    5.31 +        <groupId>org.netbeans.modules.jackpot30</groupId>
    5.32 +        <artifactId>jackpot30-maven-plugin</artifactId>
    5.33 +        <version>1.0-SNAPSHOT</version>
    5.34 +      </plugin>
    5.35 +      <plugin>
    5.36 +        <groupId>org.apache.maven.plugins</groupId>
    5.37 +        <artifactId>maven-compiler-plugin</artifactId>
    5.38 +        <version>2.3.2</version>
    5.39 +        <configuration>
    5.40 +            <source>1.7</source>
    5.41 +            <target>1.7</target>
    5.42 +        </configuration>
    5.43 +      </plugin>
    5.44 +    </plugins>
    5.45 +  </build>
    5.46 +</project>
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/cmdline/maven/tests/sl-17/src/main/java/test/App.java	Mon Sep 10 20:27:23 2012 +0200
     6.3 @@ -0,0 +1,10 @@
     6.4 +package test;
     6.5 +
     6.6 +import java.util.*;
     6.7 +
     6.8 +public class App  {
     6.9 +
    6.10 +    public static void main( String[] args ) {
    6.11 +        List<String> l = new ArrayList<String>();
    6.12 +    }
    6.13 +}