简体   繁体   English

如何正确使用 Gradle 任务上传文件?

[英]How to upload file using Gradle task properly?

I'm trying to upload a debug apk file to the server by Gradle.我正在尝试通过 Gradle 将调试 apk 文件上传到服务器。 I'm using a special name for it, smth like "demo-testing.apk" or "demo-first.apk".我为它使用了一个特殊的名称,比如“demo-testing.apk”或“demo-first.apk”。

class Apk extends DefaultTask {
    String apkName

    @TaskAction
    void uploadApk() {
        exec {
            commandLine(
                    "cmd",
                    "-c",
                    "curl -F \"demo${apkName}.apk=" +
                            "@${DEFAULT_BUILD_DIR_NAME}/outputs/apk/debug/app-debug.apk\" " +
                                    "https://URL"
            )
        }
    }
}

tasks.register("first", Apk) {
    group = 'apkUploads'
    description = 'Uploads first apk'
    apkName = '-first'
}

But it doesn't execute(with proper URL in the command line arguments) due to this exception:但由于此异常,它不会执行(在命令行参数中使用正确的 URL):

Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method exec() for arguments [Apk$_uploadApk_closure1@58ed1
b0a] on task ':first' of type Apk.

Can someone please tell me what I'm doing wrong?有人可以告诉我我做错了什么吗?

所以感谢上面的评论,我应该调用project.exec而不是exec并且它起作用了

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM