robfletcher/gradle-compass

UP-TO-DATE check not working properly on Linux

Opened this issue · 0 comments

The up-to-date check of this plugin is not working correctly (at all??) on Linux.

As already mentioned in issue #58 (however this is not related to the --force option) the plugin outputs up-to-date even if there are no generated files in the cssDir at all.

I have the following compass config:

compass {
  gemDir rootProject.file('.rubyGems')

  sassDir project.file('src/main/webapp/resources/css/sass')
  fontsDir project.file('src/main/webapp/resources/fonts')
  imagesDir project.file('src/main/webapp/resources/images')
  javascriptsDir project.file('src/main/webapp/rcat esources/js')

  cssDir project.file('src/main/webapp/resources/styles')

  httpPath "/Default"

  outputStyle 'compressed'
  relativeAssets true
  noLineComments true

  time true
  trace true
}

If I generate the css files once, remove the generated css file src/main/webapp/resources/styles/main.css and run gradlew compassCompile again it will output UP-TO-DATE:

...
12:08:49.510 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks' from state SelfClosed to SelfClosed
12:08:49.510 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' from state Known to ProjectionsDefined
12:08:49.510 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Running model element 'tasks.compassCompile' rule action Project.<init>.tasks.compassCompile()
12:08:49.510 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Mutating tasks.compassCompile using Project.<init>.tasks.compassCompile()
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state ProjectionsDefined.
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Running model element 'tasks.compassCompile' rule action Project.<init>.tasks.compassCompile()
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Mutating tasks.compassCompile using Project.<init>.tasks.compassCompile()
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state Created.
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state RulesDefined.
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state DefaultsApplied.
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state Initialized.
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Running model element 'tasks.compassCompile' rule action copyToTaskContainer
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Mutating tasks.compassCompile using copyToTaskContainer
12:08:49.511 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state Mutated.
12:08:49.512 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state Finalized.
12:08:49.512 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state SelfClosed.
12:08:49.512 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Transitioning model element 'tasks.compassCompile' to state GraphClosed.
12:08:49.512 [INFO] [org.gradle.execution.TaskNameResolvingBuildConfigurationAction] Selected primary task 'compassCompile'
12:08:49.513 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskGraphExecuter] Timing: Creating the DAG took 0.001 secs
12:08:49.513 [INFO] [org.gradle.BuildLogger] All projects evaluated.
12:08:49.596 [INFO] [org.gradle.BuildLogger] Tasks to be executed: [task 'compassCompile']
...
12:08:49.633 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Creating In-memory cache of /root/project/.gradle/2.9/taskArtifacts/fileHashes.bin: MaxSize{429400}
12:08:49.633 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Creating In-memory cache of /root/project/.gradle/2.9/taskArtifacts/outputFileStates.bin: MaxSize{3200}
12:08:49.634 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Creating In-memory cache of /root/project/.gradle/2.9/taskArtifacts/fileSnapshots.bin: MaxSize{10700}
12:08:49.634 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Creating In-memory cache of /root/project/.gradle/2.9/taskArtifacts/taskArtifacts.bin: MaxSize{2100}
12:08:49.634 [INFO] [org.gradle.execution.taskgraph.ParallelTaskPlanExecutor] Using 1 parallel executor threads
12:08:49.635 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] compassCompile (Thread[Daemon worker,5,main]) started.
12:08:49.635 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] compassCompile
12:08:49.636 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task 'compassCompile'
12:08:49.636 [DEBUG] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Determining if task 'compassCompile' is up-to-date
12:08:49.636 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on task history cache (/root/project/.gradle/2.9/taskArtifacts).
12:08:49.637 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
12:08:49.637 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Invalidating in-memory cache of /root/project/.gradle/2.9/taskArtifacts/outputFileStates.bin
12:08:49.637 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Invalidating in-memory cache of /root/project/.gradle/2.9/taskArtifacts/taskArtifacts.bin
12:08:49.637 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Invalidating in-memory cache of /root/project/.gradle/2.9/taskArtifacts/fileSnapshots.bin
12:08:49.637 [INFO] [org.gradle.api.internal.changedetection.state.InMemoryTaskArtifactCache] Invalidating in-memory cache of /root/project/.gradle/2.9/taskArtifacts/fileHashes.bin
12:08:49.637 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Opening cache taskArtifacts.bin (/root/project/.gradle/2.9/taskArtifacts/taskArtifacts.bin)
12:08:49.640 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Opening cache outputFileStates.bin (/root/project/.gradle/2.9/taskArtifacts/outputFileStates.bin)
12:08:49.789 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Opening cache fileHashes.bin (/root/project/.gradle/2.9/taskArtifacts/fileHashes.bin)
12:08:49.882 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Opening cache fileSnapshots.bin (/root/project/.gradle/2.9/taskArtifacts/fileSnapshots.bin)
12:08:49.890 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Skipping task 'compassCompile' as it is up-to-date (took 0.254 secs).
12:08:49.891 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task 'compassCompile'
12:08:49.891 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] compassCompile UP-TO-DATE
12:08:49.891 [WARN] [org.gradle.api.Project] compassCompile took 255ms
12:08:49.892 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] compassCompile (Thread[Daemon worker,5,main]) completed. Took 0.257 secs.
12:08:49.899 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[Daemon worker,5,main]] finished, busy: 0.257 secs, idle: 0.007 secs
12:08:49.899 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskGraphExecuter] Timing: Executing the DAG took 0.303 secs
12:08:49.899 [LIFECYCLE] [org.gradle.BuildResultLogger]
12:08:49.901 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD SUCCESSFUL
12:08:49.901 [LIFECYCLE] [org.gradle.BuildResultLogger]
12:08:49.901 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 32.515 secs

But there is no output file in cssDir:

root@ef44dad2248a:~/project# ls -la /root/project/src/main/webapp/resources/styles/
total 8
drwxr-xr-x 2 root root 4096 Jun  8 11:59 .
drwxr-xr-x 8 root root 4096 Jun  8 11:56 ..

I worked around this issue by disabling the up-to-date check:

compassCompile {
  outputs.upToDateWhen{ false }
}