我有一个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')
提前谢谢。