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