You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Bernard Lupin <be...@yahoo.fr> on 2008/04/02 10:39:04 UTC
Re: antrun plugin - GWT - add the source directory to the classpath
[resolved]
Please excuse me Nicolas, I was certainly speaking about another maven
plugin, I'll try your link asap.
Returning to my initial problem, I've found a solution to add a directory to
the maven dependencies, which could be useful for other purposes.
The key is to use the <systemPath> available inside the <dependency> tag. So
here is my antrun plugin configuration :
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<!-- ant task for GWT compilation -->
<dependency>
<groupId>
com.company.gwt.tools
</groupId>
<artifactId>ant-compile</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<!-- The java sources must be in the classpath -->
<!-- Group id and artifact id are not important -->
<!-- ${project.build.sourceDirectory} is unknown here -->
<dependency>
<groupId>com.company.project</groupId>
<artifactId>gwt-exemple</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>src/main/java</systemPath>
</dependency>
</dependencies>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<taskdef name="gwtcompile"
classname="dk.contix.ant.gwt.GWTCompileTask" />
<echo
message="Launching GWT compilation for ${project.name}" />
<gwtcompile
destdir="src/main/webapp"
optimize="true" verbose="false" style="obfuscated">
<fileset
dir="${project.build.sourceDirectory}">
<include name="**/*.gwt.xml" />
</fileset>
</gwtcompile>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
nicolas de loof-3 wrote:
>
> Such a suggestion should be made to GWT development team !
>
> As the GWT compilation process is complex (read modules XML, find client
> code and referenced objets...), there is no simple way to know some
> modified
> java source file requires a GWT recompilation...
>
> The javac compiler is also executed on every build but is fine enough not
> to
> recompile up-to-date classes.
>
>
> The issue I was talking about is that the initial GWT Mojo did not avoid
> the
> GWTCompiler to System.exit() during the build. Do you speak from
> http://mojo.codehaus.org/gwt-maven-plugin/ ? I didn't notice this
> classpath
> error, could you report an issue with a test project ?
>
> Nicolas.
>
>
> 2008/4/1, Bernard Lupin <be...@yahoo.fr>:
>>
>>
>> Hi Nicolas,
>> We're already using the gwt-maven-plugin (perhaps the issue your talking
>> about is a "classpath too long problem", comming from my colleague ;-)).
>>
>> But an important improvement for us would be a plugin launching the GWT
>> compilation only if there are changes in java source code. Is it planed ?
>> Do
>> I have to make this suggestion somewhere ?
>> Kind regards,
>> Bernard
>>
>>
>>
>>
>> nicolas de loof-3 wrote:
>> >
>> > Can I suggest you to test the Mojo-sandbox gwt-maven-plugin ?
>> >
>> > I just upgrade it to fix GWTCompiler issue, and it now comes with a DTO
>> > generator from JPA entities.
>> >
>> > Some dependencies are not yet available in central, but the MAVENUPLOAD
>> > request is created for them.
>> >
>> > Nicolas.
>> >
>> > 2008/3/31, Bernard Lupin <be...@yahoo.fr>:
>> >>
>> >>
>> >> Hi all,
>> >> Using the antrun plugin, I'm trying to call an ant task which is
>> >> launching
>> >> the GWT compiler. This ant task is based on the Joachim work at
>> >> http://braindump.dk/tech/gwt-task-for-ant/.
>> >>
>> >> Something specific with GWT is that you must include the java source
>> >> directory in your classpath before calling the compiler.
>> Unfortunatelly,
>> >> I
>> >> can add all the needed jars in my classpath (gwt-user.jar,
>> >> gwt-dev-windows.jar, my ant-compile.jar ) using dependencies, but I
>> don't
>> >> know how to add my source directory.
>> >>
>> >> I tried to build an ant reference classpath with the
>> >> maven.plugin.classpath
>> >> reference and the ${project.build.sourceDirectory} variable, but in
>> all
>> >> cases my java task tells me "Unable to find
>> >> 'com/company/gwt/MyModule.gwt.xml'.
>> >>
>> >> I also tried to put all my java source files inside a jar and add the
>> >> corresponding dependency, in that case the GWT compilation works !
>> (but
>> >> it
>> >> can't be a workarround, you agree ?).
>> >>
>> >> So my question is : Does Maven provide a solution to add a directory
>> to
>> >> the
>> >> maven.plugin.classpath ?
>> >>
>> >> Below is my pom.xml
>> >>
>> >> <?xml version="1.0" encoding="UTF-8"?>
>> >> <project>
>> >> <modelVersion>4.0.0</modelVersion>
>> >> <groupId>com.company.exemple</groupId>
>> >> <artifactId>gwt-maven</artifactId>
>> >> <packaging>war</packaging>
>> >> <name>GWT Maven example</name>
>> >> <version>1.0-SNAPSHOT</version>
>> >> <url>http://maven.apache.org</url>
>> >>
>> >> <build>
>> >> <plugins>
>> >> <plugin>
>> >> <groupId>org.apache.maven.plugins</groupId>
>> >> <artifactId>maven-compiler-plugin</artifactId>
>> >> <configuration>
>> >> <source>1.5</source>
>> >> <target>1.5</target>
>> >> </configuration>
>> >> </plugin>
>> >>
>> >> <plugin>
>> >> <groupId>org.apache.maven.plugins</groupId>
>> >> <artifactId>maven-antrun-plugin</artifactId>
>> >> <dependencies>
>> >> <dependency>
>> >> <groupId>com.google.gwt</groupId>
>> >> <artifactId>gwt-dev-windows</artifactId>
>> >> <version>1.4.61</version>
>> >> <scope>compile</scope>
>> >> </dependency>
>> >> <dependency>
>> >> <groupId>com.company.gwt</groupId>
>> >> <artifactId>ant-compile</artifactId>
>> >> <version>1.0-SNAPSHOT</version>
>> >> <scope>compile</scope>
>> >> </dependency>
>> >> </dependencies>
>> >> <executions>
>> >> <execution>
>> >> <phase>process-classes</phase>
>> >> <goals>
>> >> <goal>run</goal>
>> >> </goals>
>> >> <configuration>
>> >> <tasks>
>> >> <property name="maven_source_directory"
>> >> value="${project.build.sourceDirectory}" />
>> >> <echo message="source
>> >> directory: ${maven_source_directory}"
>> >> />
>> >> <property name="maven_plugin_classpath"
>> >> refid="maven.plugin.classpath" />
>> >> <echo message="maven_plugin_classpath:
>> >> ${maven_plugin_classpath}" />
>> >> <path id="my.classpath">
>> >> <pathelement path="${project.build.sourceDirectory}"
>> />
>> >> <path refid="maven.plugin.classpath" />
>> >> </path>
>> >>
>> >> <taskdef name="gwtcompile"
>> >>
>> >> classname="com.francetelecom.clara.tool.gwt.GWTCompileTask"
>> >> classpathref="my.classpath" />
>> >> <gwtcompile destdir="c:/tmp" optimize="true"
>> >> style="obfuscated">
>> >> <fileset dir="${maven_source_directory}">
>> >> <include name="**/*.gwt.xml" />
>> >> </fileset>
>> >> </gwtcompile>
>> >> </tasks>
>> >> </configuration>
>> >> </execution>
>> >> </executions>
>> >> </plugin>
>> >> </plugins>
>> >> </build>
>> >>
>> >> <dependencies>
>> >>
>> >> <!-- GWT Dependencies -->
>> >> <dependency>
>> >> <groupId>com.google.gwt</groupId>
>> >> <artifactId>gwt-user</artifactId>
>> >> <version>1.4.61</version>
>> >> <scope>compile</scope>
>> >> </dependency>
>> >>
>> >> <dependency>
>> >> <groupId>com.google.gwt</groupId>
>> >> <artifactId>gwt-servlet</artifactId>
>> >> <version>1.4.61</version>
>> >> <scope>runtime</scope>
>> >> </dependency>
>> >>
>> >> <!-- GUI Dependencies -->
>> >> <dependency>
>> >> <groupId>javax.servlet</groupId>
>> >> <artifactId>servlet-api</artifactId>
>> >> <version>2.4</version>
>> >> <scope>provided</scope>
>> >> </dependency>
>> >>
>> >> <dependency>
>> >> <groupId>javax.servlet.jsp</groupId>
>> >> <artifactId>jsp-api</artifactId>
>> >> <version>2.1</version>
>> >> <scope>provided</scope>
>> >> </dependency>
>> >>
>> >> </dependencies>
>> >>
>> >> </project>
>> >>
>> >
>>
>> --
>>
>> View this message in context:
>> http://www.nabble.com/antrun-plugin---GWT---add-the-source-directory-to-the-classpath-tp16396056s177p16418428.html
>>
>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>
>
--
View this message in context: http://www.nabble.com/antrun-plugin---GWT---add-the-source-directory-to-the-classpath-tp16396056s177p16445366.html
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org