一个groovy独立脚本可以使用gradle库吗?

时间:2017-09-13 00:51:09

标签: gradle groovy

我有一个groovy项目,我最近转换为使用gradle而非groovyc构建的项目。这需要将依赖从Grapes移动到build.gradle。例如,我知道有:

dependencies {
  compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.192'
}

然而,原始的groovy项目使用了帮助脚本project.sh

#!/bin/bash
groovy -cp $DIR/lib/Project.jar $DIR/project.groovy $@

然后按照命令执行:

project.sh -a arg1 -b arg2 pos1 pos2

我可以轻松地将类路径更改为$DIR/build/classes/groovy/main,但是,如果没有@Grapes(@Grab(group='com.amazonaws', module='aws-java-sdk', version='1.11.192')) groovy,则不知道在哪里可以找到com.amazonaws库。

我在~/.gradle/caches/modules-2/files-2.1/com.amazonaws/aws-java-sdk/1.11.192/cddbcbe1324564482de639d55999329c02e61ecc/aws-java-sdk-1.11.192.jar中找到了库,但是将它添加到类路径感觉就像是错误的方法。如果我更改库版本怎么办?那个例子中我没有包括的所有库呢?

有没有办法让我的groovy脚本使用gradle库,或者有没有办法从gradle任务中运行我的groovy脚本,并且仍然可以传入我所有的命令行参数。类似的东西:

#!/bin/bash
gradle runProject -Pprops=$@

task runScript(dependsOn: 'classes', type: JavaExec) {
  main = "project"
  classpath = sourceSets.main.runtimeClasspath
  args project.getProperty('props')

提前谢谢。

0 个答案:

没有答案