运行groovy脚本的最简单的gradle项目

时间:2018-10-02 18:31:14

标签: gradle groovy

我有一堆能正常工作的普通脚本。但是,它们始终存在加载整个JVM的“冷启动”问题。我想将gradle作为任务运行(无需将它们定义为任务,这样它们就可以不通过gradle运行),这样我就可以将gradle保持在守护程序模式下,从而保持“热”状态

我当前的项目并没有真正起作用,因为我需要的常规文件不在类路径中。我可以手动加载它,但我怀疑有更简单的方法(约定?)

这是我的仓库的树状视图

$ tree
.
├── build.gradle
├── settings.gradle
└── src
    ├── BBScm.groovy
    ├── Scm.groovy
    ├── StashScm.groovy
    ├── mixins.groovy
    └── stash.groovy

这是我的build.gradle:

plugins {
    id 'groovy'
}

group 'org.bongiorno'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}
configurations {
    groovyScript
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.5.2'
}

task analyze {

    doLast{
        apply from: 'src/stash.groovy'
    }
}

我得到的错误非常清楚:

  script '/Users/cbongiorno/dev/mystuff/stash/src/stash.groovy': 22: unable to resolve class StashScm 
   @ line 22, column 13.
     Scm stash = new StashScm(u: srcUser, p: srcPass, baseUrl: 'https://xxxxx')
             ^

要明确:我问的最简单的方法是什么? “因为我绝对可以克服这个问题

1 个答案:

答案 0 :(得分:0)

src是您放置代码进行编译的地方,也是上一期用来构建工件的地方,但是如果要添加代码(以源代码形式),则必须使用buildSrc目录

您可以在https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#sec:build_sources

中找到更多文档。

使用depedencies部分的方式可以找到项目的依赖关系,但是如果您在build逻辑中具有依赖关系,则可以使用build部分,在其中使用classpath字词代替compile