Uploaded image for project: 'Gradle'
  1. Gradle
  2. GRADLE-1268

Can't execute groovydoc if it includes links

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Fixed
    • Affects Version/s: 0.9
    • Fix Version/s: 0.9.1

      Description

      The following code works with 0.9-rc-2 but fails in 0.9

      task buildDocs(type: Groovydoc) {
          dependsOn { copyDocs }
      
          source = files("$buildDir/javadoc-src")
          destinationDir = "$buildDir/manual/api" as File
          docTitle = "Griffon $version"
          header = "Griffon $version"
          windowTitle = "Griffon $version"
          groovyClassPath = sourceSets.rt.classes + sourceSets.cli.classes + configurations.compile
          includePrivate = true
          use = true
      
          link('http://java.sun.com/j2se/1.5.0/docs/api', 'java.,org.xml.,javax.,org.xml.')
          link('http://www.dpml.net/api/ant/1.7.0', 'org.apache.ant.,org.apache.tools.ant.')
          link('http://junit.sourceforge.net/junit3.8.1/javadoc/', 'org.junit.,junit.framework.')
          link('http://groovy.codehaus.org/api/', 'groovy.,org.codehaus.groovy.')
      }
      

      The generated exception is

      org.gradle.api.UncheckedIOException: Could not read entry ':buildDocs' from cache '/Users/aalmiray/dev/griffon/core/.gradle/0.9/taskArtifacts/cache.bin'.
          at org.gradle.cache.btree.BTreePersistentIndexedCache.get(BTreePersistentIndexedCache.java:125)
          at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.getHistory(DefaultTaskArtifactStateRepository.java:314)
          at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.<init>(DefaultTaskArtifactStateRepository.java:284)
          at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository.getStateFor(DefaultTaskArtifactStateRepository.java:55)
          at org.gradle.api.internal.changedetection.ShortCircuitTaskArtifactStateRepository.getStateFor(ShortCircuitTaskArtifactStateRepository.java:32)
          at org.gradle.api.internal.project.taskfactory.ExecutionShortCircuitTaskExecuter.execute(ExecutionShortCircuitTaskExecuter.java:39)
          at org.gradle.api.internal.tasks.SkipTaskExecuter.doExecute(SkipTaskExecuter.java:57)
          at org.gradle.api.internal.tasks.SkipTaskExecuter.execute(SkipTaskExecuter.java:35)
          at org.gradle.api.internal.tasks.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:32)
          at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:231)
          at org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:167)
          at org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:160)
          at org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:78)
          at org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:113)
          at org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
          at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:153)
          at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
          at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
          at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:41)
          at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:27)
          at org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:209)
          at org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:193)
          at org.gradle.launcher.Main.execute(Main.java:55)
          at org.gradle.launcher.Main.main(Main.java:40)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:46)
          at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:28)
          at org.gradle.launcher.GradleMain.main(GradleMain.java:24)
      Caused by: java.lang.ClassNotFoundException: org.gradle.api.tasks.javadoc.Groovydoc$Link
          at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:247)
          <snip>
          at org.gradle.cache.DefaultSerializer.read(DefaultSerializer.java:23)
          at org.gradle.cache.btree.BTreePersistentIndexedCache$DataBlock.getValue(BTreePersistentIndexedCache.java:647)
          at org.gradle.cache.btree.BTreePersistentIndexedCache.get(BTreePersistentIndexedCache.java:117)
          ... 30 more
      

      Adam replied on the mailing list with

      The Groovydoc task changed to include links (and a few other properties) when considering if the output is up-to-date. Looks like using links is breaking the checks.
      A workaround is to exclude the links from the up-to-date checking:

      groovydoc.inputs.property('links', null)
      

        Attachments

          Activity

            People

            Assignee:
            hans_d Hans Dockter
            Reporter:
            aalmiray Andres Almiray
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: