gradle - (Robfletcher) compass Gradle -多次执行-无效的Null值

标签 gradle compass-sass compass

我正在尝试设置gradle,以便我两次运行罗盘任务以编译两组CSS文件。

我在gradle文件中具有以下位来实现此目的:

buildscript {
  dependencies {
    classpath "com.github.robfletcher:compass-gradle-plugin:2.0.5"
}

apply plugin: "com.github.robfletcher.compass"

compass {
  debugInfo = true
  time = true
  sourcemap = true
}

task compassWeb(type: com.github.robfletcher.compass.CompassTask) {
  cssDir = file("src/main/webapp/web/css")
  sassDir = file("src/main/sass/web")
}

task compassMobile(type: com.github.robfletcher.compass.CompassTask) {
  cssDir = file("src/main/webapp/mobile/css")
  sassDir = sassDir = file("src/main/sass/mobile")
}

processResources.dependsOn("compassMobile", "compassWeb")

每次我运行此命令时,都会收到相同的错误:
Execution failed for task ':compassMobile'.
> Illegal null value provided in this collection: [-S, compass, null, --    sourcemap, --time, --debug-info, --sass-dir, /Users/.../src/main/sass/mobile, --css-dir, /Users/.../src/main/webapp/mobile/css]

该错误似乎是'compass'脚本参数之后的null。

这似乎与CompassTask或JRubyExecTask有关。我尝试按照每个插件中的代码进行操作,但是无法弄清配置中缺少的内容。

或者,是否有更好的方法可以完成两次评分任务?

最佳答案

您必须指定要执行的任务类型。

如果您查看CompassTask内部,则有一个参数:String command
因此,将其添加到您的conf中:

task compassWeb(type: com.github.robfletcher.compass.CompassTask) {
  command = "compile"
  cssDir = file("src/main/webapp/web/css")
  sassDir = file("src/main/sass/web")
}

关于gradle - (Robfletcher) compass Gradle -多次执行-无效的Null值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625938/

相关文章:

java - Gradle 'APP' 项目刷新失败原因 :Java. Lang.NullPointerException

rubygems - 手动从 FSSM 转换到 Sass 的 Listen gems?

css - Rails/Compass/Sass 编译 super 慢

css - sass 中的 $experimental-support-for-svg 是什么,为什么需要它?

gradle - 如何通过 Gradle 而不是 Maven 3 使用 Afterburner.fx,同时保留 afterburner.fx 的原始项目结构

android-studio - 尝试通过Android Studio构建APK时出现此错误

安卓工作室 : Execution failed for task ':mobile:handleDebugMicroApk'

Django 和 compass 以及多个应用程序

css - "compass watch"编译一个文件而不是另一个

javascript - Grunt Compass 开发和生产