Bintray:无法创建包 HTTP/1.1 400 错误请求 [消息:许可证 '[' 不存在]

Bintray: Could not create package HTTP/1.1 400 Bad Request [message:License '[' does not exist]

我正在尝试发布 Overpass library to Bintray/jCenter using the gradle-bintray-plugin v.1.5. I prepared the configuration on this temporary branch 的第一个版本:

除了我之前发布的一个帐户外,我没有在 Bintray 网站上准备任何东西。所以我还有 bintrayUserbintrayApiKey 用于 Gradle。请告诉我是否需要事先手动设置一些东西。 - 然后,我 运行 以下命令:

$ ./gradlew clean assemble bintrayUpload

失败并出现以下错误:

Execution failed for task ':bintrayUpload'.
> Could not create package 'tbsprs/maven/Overpass': HTTP/1.1 400 Bad Request [message:License '[' does not exist]

你能找出错误吗?

如果您分享 build.gradle 会更容易,但我猜想您在 pkg 块中没有必填的 license 字段。

我设法通过临时 替换以下库来发布库:

licenses = project.packageLicenses

licenses = ['Apache-2.0']

请注意,我使用 gradle.properties 将这些值保存在一个地方。
我已经报告了此行为,希望该错误能尽快修复。


这里是这个案例的后续问题:

gradle.properties 文件是一个常规的 Java 属性文件,因此它 cannot 包含具有多个值的键。
一个简单的解决方案是在属性文件中使用逗号分隔的字符串,例如:

licenses=Apache-2.0,BSD

并在 build.gradle 中拆分此值以创建一个数组

licenses = project.property('licenses').split(',')