这似乎是一个奇怪的问题.我想将LESS编译成CSS而不在我的本地gradle中安装插件.有几个gradle插件可以将LESS编译成CSS,这很棒,但我想在运行时编译和使用插件,而不是先安装它们.
这可能吗?如果有一个像CoffeeScript这样的标准插件,那就没什么大不了的了,但是LESS没有.我对Gradle很新,所以我不确定如何前进.显而易见的解决方案是血腥安装插件,但是给定一个我不能的约束,是否可以在运行时编译/使用它?
dav*_*c24 21
在大多数情况下,您不会将插件安装到Gradle安装中.相反,您声明插件的使用是您的一部分build.gradle.在构建运行时,它然后解析构建脚本所需的任何插件,加载它们,然后运行构建.您列出的特定插件有点不寻常(据我所知)它们尚未在可公开访问的Maven存储库(例如Maven Central或Bintray)中发布.经过快速搜索,我找到了一个似乎在Maven Central中:
https://github.com/obecker/gradle-lesscss-plugin
要使用它,您不需要提前安装任何东西.相反,你在build.gradle中声明它如下:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'de.obqo.gradle:gradle-lesscss-plugin:1.0-1.3.3'
}
}
apply plugin: 'lesscss'
Run Code Online (Sandbox Code Playgroud)
如果你不想使用插件,你可以很容易地在Gradle中编译LESS文件而不使用任何插件.这是因为Gradle插件体系结构建立在与构建脚本中使用的完全相同的DSL和深度API上.主要区别在于意图; 插件的打包方式可以在其他项目中重复使用.
最低要求是访问执行LESS编译的库,以及使用它的任务的声明.这是使用lesscss-java的快速示例.它只编译一个LESS文件,但无论您的要求是什么,它都应该很容易扩展.
的build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.lesscss:lesscss:1.3.0"
}
}
task lessCompile << {
def compiler = new org.lesscss.LessCompiler()
compiler.compile(file("some.less"), file("some.css"))
}
Run Code Online (Sandbox Code Playgroud)
some.less:
@mainColor: black;
body {
background-color: @mainColor;
}
Run Code Online (Sandbox Code Playgroud)
运行后gradle lessCompile,结果是some.css:
body {
background-color: #000000;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |