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