Gradle Maven插件为自定义配置生成不正确的POM依赖项

 汽车一族coolboy_518 发布于 2023-02-11 16:33

我有一个Gradle项目,它做了几个正交的事情:

    编译并运行一些Java.

    生成并发布工件.

这个工件与Java无关; 它是由自定义JavaExec任务生成的.但是,自动生成的POM(来自Maven插件)似乎包含错误的依赖项. 问题:我该如何防止这种情况?

我的build.gradle看起来像这样:

apply plugin: "java"
apply plugin: "maven"

configurations {
    foo  // Custom configuration for the artifact I want to build and publish
}

// Dependencies for Java configurations (nothing to do with foo)
dependencies {
    compile "foo:foo:1.1"
    testCompile "bar:bar:2.2"
}

// Custom task
task generateFoo(type: JavaExec) {
    ext.outputFile = new File(buildDir, "foo.bar")
    ...
}

artifacts {
    foo    file: generateFoo.outputFile, builtBy: generateFoo
}

uploadFoo {
    repositories {
        mavenDeployer { ... }
    }
}

我像这样调用Gradle:

./gradlew uploadFoo

AFAICS,foo配置与Java配置无关.所以我希望发布的POM列出没有依赖关系.但是,我观察到列出的所有不相关的依赖项.

Maven插件的Gradle文档提示依赖映射conf2ScopeMappings,但我完全不清楚我应该用它做什么(如果有的话).


注意:我正在使用Gradle wrapper 1.6; 我会尝试最新的,看看是否有所作为......

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有