[
http://jira.codehaus.org/browse/MGROOVY-187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Smith closed MGROOVY-187.
-------------------------------
Resolution: Fixed
Fix Version/s: 1.0-rc-5
Setting lastModified() to 1970 on stub files prevents javac from overwriting
class files previously compiled by groovyc. Treatment in revision 15412.
> Stubs are being compiled into artifacts.
> ----------------------------------------
>
> Key: MGROOVY-187
> URL: http://jira.codehaus.org/browse/MGROOVY-187
> Project: GMaven
> Issue Type: Bug
> Components: stub generation
> Affects Versions: 1.0-rc-4
> Environment: -
> Reporter: Jason Smith
> Assignee: Jason Dillon
> Fix For: 1.0-rc-5
>
>
> Here is the error (the stack trace is unimportant):
> java.lang.InternalError: Stubbed method
> What's happening is that if you use the maven-source-plugin, or I believe,
> the maven-javadoc-plugin, Maven forks the lifecycle, and stubs are
> regenerated, but compile is not run again. I believe this is making the
> stubs have a later date than the .class files. So the next time you go
> through a non-clean compile, Java will compile the stubs, but the GMaven
> plugin, being very smart and knowing that it does not need to recompile,
> leaves the stub-compiled .class files in place.
> This only happens if the lifecycle forks.
> I don't have a fix, but I do have a workaround. Here is my POM markup with a
> Groovy script execution to fix this issue temporarily.
> {code}
> <plugin>
> <groupId>org.codehaus.groovy.maven</groupId>
> <artifactId>gmaven-plugin</artifactId>
> <version>1.0-rc-4</version>
> <dependencies>
> <dependency>
> <groupId>org.codehaus.groovy.maven.runtime</groupId>
> <artifactId>gmaven-runtime-1.5</artifactId>
> <version>1.0-rc-4</version>
> <exclusions>
> <exclusion>
> <groupId>org.codehaus.groovy</groupId>
> <artifactId>groovy-all-minimal</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
> <dependency>
> <groupId>org.codehaus.groovy</groupId>
> <artifactId>groovy-all-minimal</artifactId>
> <version>1.5.7</version>
> </dependency>
> </dependencies>
> <configuration>
> <providerSelection>1.5</providerSelection>
> </configuration>
> <executions>
> <execution>
> <goals>
> <goal>generateStubs</goal>
> <goal>compile</goal>
> <goal>generateTestStubs</goal>
> <goal>testCompile</goal>
> </goals>
> </execution>
> <execution>
> <id>Prevent Stub Compilation</id>
> <phase>generate-sources</phase>
> <goals><goal>execute</goal></goals>
> <configuration>
> <source>
> <![CDATA[
> /*
> * This code marks the date of the
> groovy-stubs to sometime in 1969, which
> * prevents them from being compiled over the
> Groovy-copiled classes.
> * JIRA is filed.
> */
> project.compileSourceRoots.each
> {String root ->
> File folder = new
> File(root).canonicalFile;
> if(folder.isDirectory() &&
> folder.canonicalPath =~ /groovy-stubs/)
> {
> folder.eachFileRecurse
> {File file ->
> if(file.name.endsWith(".java"))
> {
> file.lastModified = 0;
> }
> }
> }
> }
> ]]>
> </source>
> </configuration>
> </execution>
> </executions>
> </plugin>
> {code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email