It's checking the remote target directory to see if the copy task can be
skipped or not. If you copy that file from the remote directory to your
local machine how long does it take? I don't know the internals but I would
guess that it would take twice as long as that for the first copy task.
On Aug 25, 2011 3:51 AM, "Steven Dick" <[email protected]> wrote:
> I have a Gradle (milestone 3) script to copy some already-built
> artefacts to a staging network directory. I've been playing around
> with the Copy and Zip-based task stereotypes and finally solved my 'no
> source files' and 'UP-TO-DATE' problems. Now whenever I execute my
> copy task, Gradle hangs. Here's the copy task and it's upstream task
> (it copies the dependencies to a staging directory):
>
> task copyDeps {
>
> doLast {
> configurations.publish.files.each { file ->
> copy {
> into "${buildDirName}/deps"
> from file
> }
> }
>
> configurations.publishWar.files.each { file ->
> copy {
> into "${buildDirName}/deps"
> from file
> }
> }
> }
> }
>
> task copyWar(type: Copy, dependsOn: copyDeps) {
> from "${buildDirName}/deps/${configurations.publishWar.singleFile.name}"
> into { "//infonicnas/hsdeploy/hslibs/" }
> }
>
> And here's a thread dump of the Gradle process:
>
> "main" prio=6 tid=0x002b6c00 nid=0x637c runnable [0x0090f000]
> java.lang.Thread.State: RUNNABLE
> at java.io.FileInputStream.readBytes(Native Method)
> at java.io.FileInputStream.read(FileInputStream.java:198)
> at org.gradle.util.HashUtil.createHash(HashUtil.java:59)
> at
org.gradle.api.internal.changedetection.DefaultHasher.hash(DefaultHasher.java:24)
> at
org.gradle.api.internal.changedetection.CachingHasher.hash(CachingHasher.java:43)
> at
org.gradle.api.internal.changedetection.DefaultFileSnapshotter.snapshot(DefaultFileSnapshotter.java:44)
> at
org.gradle.api.internal.changedetection.OutputFilesSnapshotter.snapshot(OutputFilesSnapshotter.java:74)
> at
org.gradle.api.internal.changedetection.OutputFilesChangedUpToDateRule.create(OutputFilesChangedUpToDateRule.java:35)
> at
org.gradle.api.internal.changedetection.CompositeUpToDateRule.create(CompositeUpToDateRule.java:35)
> at
org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$HistoricExecution.calcCurrentState(DefaultTaskArtifactStateRepository.java:106)
> at
org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$HistoricExecution.isUpToDate(DefaultTaskArtifactStateRepository.java:114)
> at
org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.isUpToDate(DefaultTaskArtifactStateRepository.java:154)
> at
org.gradle.api.internal.changedetection.ShortCircuitTaskArtifactStateRepository$1.isUpToDate(ShortCircuitTaskArtifactStateRepository.java:35)
> at
org.gradle.api.internal.changedetection.FileCacheBroadcastTaskArtifactStateRepository$1.isUpToDate(FileCacheBroadcastTaskArtifactStateRepository.java:37)
> at
org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:44)
> at
org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
> at
org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
> at
org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
> at
org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
> at
org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
> at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:237)
> 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:158)
> at
org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:112)
> at
org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:80)
> at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:41)
> at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:27)
> at
org.gradle.launcher.ExceptionReportingAction.execute(ExceptionReportingAction.java:32)
> at
org.gradle.launcher.ExceptionReportingAction.execute(ExceptionReportingAction.java:21)
> at
org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:219)
> at
org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:203)
> 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)
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>