You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2004/05/20 19:03:56 UTC

cvs commit: maven-components/maven-plugins/maven-compiler-plugin/src/main/resources/META-INF/maven plugin.xml

jvanzyl     2004/05/20 10:03:56

  Modified:    maven-plugins/maven-compiler-plugin project.xml
               maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin
                        CompilerPlugin.java
               maven-plugins/maven-compiler-plugin/src/main/resources/META-INF/maven
                        plugin.xml
  Log:
  turn into a maven plugin and add @tags for descriptor generation.
  
  Revision  Changes    Path
  1.4       +0 -36     maven-components/maven-plugins/maven-compiler-plugin/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-plugins/maven-compiler-plugin/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml	12 Apr 2004 20:14:18 -0000	1.3
  +++ project.xml	20 May 2004 17:03:56 -0000	1.4
  @@ -12,47 +12,11 @@
     <currentVersion>1.0-SNAPSHOT</currentVersion>
     <inceptionYear>2001</inceptionYear>
     <package>org.apache.maven</package>
  -  <logo>/images/maven.gif</logo>
  -  <repository>
  -    <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven-components/maven-plugins/maven-compiler-plugin</connection>
  -    <developerConnection>scm:cvs:ext:${maven.username}@cvs.apache.org:/home/cvs:maven-components/maven-plugins/maven-compiler-plugin</developerConnection>
  -    <url>http://cvs.apache.org/viewcvs.cgi/maven/</url>
  -  </repository>
     <dependencies>
       <dependency>
  -      <groupId>xpp3</groupId>
  -      <artifactId>xpp3</artifactId>
  -      <version>1.1.3.3</version>
  -    </dependency>
  -    <dependency>
  -      <groupId>plexus</groupId>
  -      <artifactId>plexus</artifactId>
  -      <version>0.14-SNAPSHOT</version>
  -    </dependency>
  -    <dependency>
  -      <groupId>plexus</groupId>
  -      <artifactId>plexus-i18n</artifactId>
  -      <version>1.0-beta-2-SNAPSHOT</version>
  -    </dependency>
  -    <dependency>
  -      <groupId>classworlds</groupId>
  -      <artifactId>classworlds</artifactId>
  -      <version>1.1-SNAPSHOT</version>
  -    </dependency>
  -    <dependency>
  -      <groupId>xstream</groupId>
  -      <artifactId>xstream</artifactId>
  -      <version>1.0-SNAPSHOT</version>
  -    </dependency>
  -    <dependency>
         <groupId>plexus</groupId>
         <artifactId>plexus-compiler</artifactId>
         <version>1.0-SNAPSHOT</version>
  -    </dependency>
  -    <dependency>
  -      <groupId>maven</groupId>
  -      <artifactId>maven-core</artifactId>
  -      <version>2.0-SNAPSHOT</version>
       </dependency>
     </dependencies>
   </project>
  
  
  
  1.4       +18 -14    maven-components/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerPlugin.java
  
  Index: CompilerPlugin.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerPlugin.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CompilerPlugin.java	16 May 2004 14:25:17 -0000	1.3
  +++ CompilerPlugin.java	20 May 2004 17:03:56 -0000	1.4
  @@ -2,27 +2,33 @@
   
   import org.codehaus.plexus.compiler.Compiler;
   import org.codehaus.plexus.compiler.CompilerError;
  +import org.codehaus.plexus.compiler.javac.JavacCompiler;
   
   import java.io.File;
   import java.util.Iterator;
   import java.util.List;
  -import java.util.Map;
   
   /**
  - * @plugin.id compiler
  - * @plugin.description A maven2 plugin which integrates the use of Maven2 with IntelliJ's IDEA
  + * @maven.plugin.id compiler
  + * @maven.plugin.description A maven2 plugin compiles project sources.
    *
  - * @parameter <name> <type> <required> <validatator> <description>
  - * 
  - * This may be on a per method basis
  - * @parameter sourceDirectories String[] required validator
  + * @parameter sourceDirectory String required validator
    * @parameter outputDirectory String required validator
    * @parameter classpathElements String[] required validator
    * @parameter compiler String required validator
    * 
  - * The goal would map to a method if multiple methods were allowed
  - * @goal.name idea
  - * @goal.idea.parameter project #project
  + * @goal.name compile
  + * @goal.compile.description Compiles application sources
  + * @goal.compile.parameter sourceDirectory #project.build.sourceDirectory
  + * @goal.compile.parameter outputDirectory #maven.build.dest
  + * @goal.compile.parameter classpathElements #project.classpathElements
  + *
  + * @goal.name test:compile
  + * @goal.test:compile.prereq compile
  + * @goal.test:compile.description Compiles test sources
  + * @goal.test:compile.parameter sourceDirectory #project.build.unitTestSourceDirectory
  + * @goal.test:compile.parameter outputDirectory #maven.test.dest
  + * @goal.test:compile.parameter classpathElements #project.classpathElements
    *
    * There could be threadsafe and non threadsafe versions of a compiler
    * plugin. The case where you instantiate a compiler plugin that maintains
  @@ -40,7 +46,7 @@
   public class CompilerPlugin
       extends AbstractPlugin
   {
  -    private Map compilers;
  +    private Compiler compiler = new JavacCompiler();
   
       private boolean debug = false;
   
  @@ -67,8 +73,6 @@
           {
               return;
           }
  -
  -        Compiler compiler = (Compiler) compilers.get( compilerId );
   
           List messages = compiler.compile( classpathElements, new String[]{sourceDirectory}, outputDirectory );
   
  
  
  
  1.7       +16 -81    maven-components/maven-plugins/maven-compiler-plugin/src/main/resources/META-INF/maven/plugin.xml
  
  Index: plugin.xml
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-plugins/maven-compiler-plugin/src/main/resources/META-INF/maven/plugin.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- plugin.xml	7 May 2004 23:48:42 -0000	1.6
  +++ plugin.xml	20 May 2004 17:03:56 -0000	1.7
  @@ -1,51 +1,42 @@
   <plugin>
     <id>compiler</id>
     <implementation>org.apache.maven.plugin.CompilerPlugin</implementation>
  -  <instantiation-strategy>singleton</instantiation-strategy>
  +  <instantiationStrategy>singleton</instantiationStrategy>
     <mode>integrated</mode>
  -  <requirements>
  -    <requirement>
  -      <role>org.codehaus.plexus.compiler.Compiler</role>
  -      <field-name>compilers</field-name>
  -    </requirement>
  -  </requirements>
  -
  -  <!--
     <parameters>
       <parameter>
         <name>sourceDirectory</name>
  +      <type>String</type>
  +      <required>false</required>
  +      <validator>validator</validator>
         <description></description>
       </parameter>
       <parameter>
         <name>outputDirectory</name>
  +      <type>String</type>
  +      <required>false</required>
  +      <validator>validator</validator>
         <description></description>
       </parameter>
       <parameter>
         <name>classpathElements</name>
  +      <type>String[]</type>
  +      <required>false</required>
  +      <validator>validator</validator>
         <description></description>
       </parameter>
       <parameter>
         <name>compiler</name>
  +      <type>String</type>
  +      <required>false</required>
  +      <validator>validator</validator>
         <description></description>
       </parameter>
     </parameters>
  -
  -  <goals>
  -    <goal>
  -      <name>compile</name>
  -      <expressions>
  -        <expression>#project.build.sourceDirectory</expression>
  -        <expression>#maven.build.dest</expression>
  -        <expression>#project.classpathElements</expression>
  -        <expression>javac</expression>
  -      </expressions>
  -    </goal>
  -  </goals>
  -  -->
  -
     <goals>
       <goal>
         <name>compile</name>
  +      <description>Compiles application sources</description>
         <parameters>
           <parameter>
             <name>sourceDirectory</name>
  @@ -59,17 +50,11 @@
             <name>classpathElements</name>
             <expression>#project.classpathElements</expression>
           </parameter>
  -        <parameter>
  -          <name>compiler</name>
  -          <expression>javac</expression>
  -        </parameter>
         </parameters>
       </goal>
       <goal>
         <name>test:compile</name>
  -      <prereqs>
  -        <prereq>compile</prereq>
  -      </prereqs>
  +      <description>Compiles test sources</description>
         <parameters>
           <parameter>
             <name>sourceDirectory</name>
  @@ -83,60 +68,10 @@
             <name>classpathElements</name>
             <expression>#project.classpathElements</expression>
           </parameter>
  -        <parameter>
  -          <name>compiler</name>
  -          <expression>javac</expression>
  -        </parameter>
  -      </parameters>
  -    </goal>
  -  </goals>
  -
  -
  -  <goals>
  -    <goal>
  -      <name>compile</name>
  -      <parameters>
  -        <parameter>
  -          <name>sourceDirectory</name>
  -          <expression>#project.build.sourceDirectory</expression>
  -        </parameter>
  -        <parameter>
  -          <name>outputDirectory</name>
  -          <expression>#maven.build.dest</expression>
  -        </parameter>
  -        <parameter>
  -          <name>classpathElements</name>
  -          <expression>#project.classpathElements</expression>
  -        </parameter>
  -        <parameter>
  -          <name>compiler</name>
  -          <expression>javac</expression>
  -        </parameter>
         </parameters>
  -    </goal>
  -    <goal>
  -      <name>test:compile</name>
         <prereqs>
           <prereq>compile</prereq>
         </prereqs>
  -      <parameters>
  -        <parameter>
  -          <name>sourceDirectory</name>
  -          <expression>#project.build.unitTestSourceDirectory</expression>
  -        </parameter>
  -        <parameter>
  -          <name>outputDirectory</name>
  -          <expression>#maven.test.dest</expression>
  -        </parameter>
  -        <parameter>
  -          <name>classpathElements</name>
  -          <expression>#project.classpathElements</expression>
  -        </parameter>
  -        <parameter>
  -          <name>compiler</name>
  -          <expression>javac</expression>
  -        </parameter>
  -      </parameters>
       </goal>
     </goals>
  -</plugin>
  +</plugin>
  \ No newline at end of file
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: cvs commit: maven-components/maven-plugins/maven-compiler-plugin/src/main/resources/META-INF/maven plugin.xml

Posted by Jason van Zyl <jv...@maven.org>.
> 
> Now, a user can't choose another compiler. If you remove this possibility,
> why we use plexus-compiler component?

They will be able to, I'm going to make a separate plugin for each
available compiler. The two I am trying are javac and the eclipse
incremental comiler. There will be a full selection of compilers, rest
assured.

> Emmanuel
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org

-- 
jvz.

Jason van Zyl
jason@maven.org
http://maven.apache.org

happiness is like a butterfly: the more you chase it, the more it will
elude you, but if you turn your attention to other things, it will come
and sit softly on your shoulder ...

 -- Thoreau 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: cvs commit: maven-components/maven-plugins/maven-compiler-plugin/src/main/resources/META-INF/maven plugin.xml

Posted by Emmanuel Venisse <em...@venisse.net>.
>   Index: CompilerPlugin.java
>   ===================================================================
>   RCS file:
/home/cvs/maven-components/maven-plugins/maven-compiler-plugin/src/main/java
/org/apache/maven/plugin/CompilerPlugin.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- CompilerPlugin.java 16 May 2004 14:25:17 -0000 1.3
>   +++ CompilerPlugin.java 20 May 2004 17:03:56 -0000 1.4
>   @@ -2,27 +2,33 @@
>
>    import org.codehaus.plexus.compiler.Compiler;
>    import org.codehaus.plexus.compiler.CompilerError;
>   +import org.codehaus.plexus.compiler.javac.JavacCompiler;
>
>    import java.io.File;
>    import java.util.Iterator;
>    import java.util.List;
>   -import java.util.Map;
>
>    /**
>   - * @plugin.id compiler
>   - * @plugin.description A maven2 plugin which integrates the use of
Maven2 with IntelliJ's IDEA
>   + * @maven.plugin.id compiler
>   + * @maven.plugin.description A maven2 plugin compiles project sources.
>     *
>   - * @parameter <name> <type> <required> <validatator> <description>
>   - *
>   - * This may be on a per method basis
>   - * @parameter sourceDirectories String[] required validator
>   + * @parameter sourceDirectory String required validator
>     * @parameter outputDirectory String required validator
>     * @parameter classpathElements String[] required validator
>     * @parameter compiler String required validator
>     *
>   - * The goal would map to a method if multiple methods were allowed
>   - * @goal.name idea
>   - * @goal.idea.parameter project #project
>   + * @goal.name compile
>   + * @goal.compile.description Compiles application sources
>   + * @goal.compile.parameter sourceDirectory
#project.build.sourceDirectory
>   + * @goal.compile.parameter outputDirectory #maven.build.dest
>   + * @goal.compile.parameter classpathElements #project.classpathElements
>   + *
>   + * @goal.name test:compile
>   + * @goal.test:compile.prereq compile
>   + * @goal.test:compile.description Compiles test sources
>   + * @goal.test:compile.parameter sourceDirectory
#project.build.unitTestSourceDirectory
>   + * @goal.test:compile.parameter outputDirectory #maven.test.dest
>   + * @goal.test:compile.parameter classpathElements
#project.classpathElements
>     *
>     * There could be threadsafe and non threadsafe versions of a compiler
>     * plugin. The case where you instantiate a compiler plugin that
maintains
>   @@ -40,7 +46,7 @@
>    public class CompilerPlugin
>        extends AbstractPlugin
>    {
>   -    private Map compilers;
>   +    private Compiler compiler = new JavacCompiler();
>
>        private boolean debug = false;
>
>   @@ -67,8 +73,6 @@
>            {
>                return;
>            }
>   -
>   -        Compiler compiler = (Compiler) compilers.get( compilerId );
>
>            List messages = compiler.compile( classpathElements, new
String[]{sourceDirectory}, outputDirectory );
>

Now, a user can't choose another compiler. If you remove this possibility,
why we use plexus-compiler component?

Emmanuel


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org