使用gradle 1.11,我在使用以下代码上传时生成存储库pom文件:
[
install.repositories.mavenInstaller,
uploadArchives.repositories.mavenDeployer
]*.pom*.whenConfigured { pom ->
pom.project {
name "${name}";
packaging "jar";
description "${description}";
url "${projectURL}";
scm {
// everything OK here
}
licenses {
// everything OK here
}
developers {
// everything OK here
}
}
}
"向上"在我定义的构建文件中:
project.ext {
description = "the description here";
}
并期望name
从项目名称派生。
然而,在生成的pom文件中(取自我的本地存储库),我得到:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>OK here</groupId>
<artifactId>OK here</artifactId>
<version>OK here</version>
<!-- Oops... -->
<name>null</name>
<description>null</description>
<url>OK here</url>
<licenses>
<!-- All the rest is OK -->
上面的代码是从外部项目复制/粘贴的,我没有触及它,因为我不太了解它的作用......但肯定存在一个错误。我希望名称和描述出现......
是否在gradle?它在代码本身吗?
编辑好的,以下有效:
description
声明移出project.ext
; ${project.name}
代替${name}
,${project.description}
代替${description}
。答案 0 :(得分:1)
只需设置现有的project.description
属性(不是额外的属性),也不要明确设置POM的name
和description
。它们将分别默认为project.name
和project.description
。
(至于当前代码中会发生什么,project.ext.description
将被project.description
(仍为null
)隐藏,name "${name}"
是自我分配pom.name
。)