Ivy 不发布签名 (.asc) 文件
Ivy does not publish signature (.asc) files
我已经准备好与这些文件一起发布的目录:
myapp-1.0-bin.jar
myapp-1.0-bin.jar.asc
myapp-1.0-javadoc.jar
myapp-1.0-javadoc.jar.asc
myapp-1.0-pom.pom
myapp-1.0-pom.pom.asc
myapp-1.0-sources.jar
myapp-1.0-sources.jar.asc
对应的ivy.xmlpublications
段为:
<publications>
<artifact name="myapp" type="pom" ext="pom" conf="default" />
<artifact name="myapp" type="bin" ext="jar" conf="default" />
<artifact name="myapp" type="sources" ext="jar" conf="sources" m:classifier="sources" />
<artifact name="myapp" type="javadoc" ext="jar" conf="javadoc" m:classifier="javadoc" />
<!-- The following lines have to be removed to publish correctly WITHOUT .asc files -->
<artifact name="myapp" type="pom.asc" ext="pom.asc" conf="default"/>
<artifact name="myapp" type="bin.asc" ext="jar.asc" conf="default"/>
<artifact name="myapp" type="sources.asc" ext="jar.asc" conf="default" m:classifier="sources" />
<artifact name="myapp" type="javadoc.asc" ext="jar.asc" conf="default" m:classifier="javadoc"/>
</publications>
蚂蚁发布任务为:
<target name="ivyPublish-local-m2">
<ivy:resolve />
<ivy:publish resolver="local-m2-publish" pubrevision="${ivy.revision}" overwrite="true" publishivy="false">
<artifacts pattern="${dist.dir}/[artifact]-[revision]-[type].[ext]" />
</ivy:publish>
</target>
此任务应该发布到本地目录,仅供测试。
问题是以下错误消息:
impossible to publish artifacts for com.myorg#myapp;1.0: java.io.IOException: missing artifact com.myorg#myapp;1.0!myapp.pom.asc
如果我删除 ivy.xml 中评论后的行,发布会继续进行,但目标文件夹的内容是:
myapp-1.0.pom
myapp-1.0.pom.md5
myapp-1.0.pom.sha1
myapp-1.0.jar
myapp-1.0.jar.md5
myapp-1.0.jar.sha1
myapp-1.0-javadoc.jar
myapp-1.0-javadoc.jar.md5
myapp-1.0-javadoc.jar.sha1
myapp-1.0-sources.jar
myapp-1.0-sources.jar.md5
myapp-1.0-sources.jar.sha1
似乎从名称中删除了 -bin 和 -pom 类型(还不错),但是 none 发布了相应的 .asc 文件。
我还尝试将工件模式更改为:
<artifacts pattern="${dist.dir}/[artifact]-[revision]-[type].[ext](.asc)" />
但没有成功。
问题是:
- 如何发布 .asc 文件?
- 我可以像使用 -pom 和 -bin 那样在不更改名称的情况下发布文件吗?
我按照 CAustin 的建议标准化了我的工件(没有“-bin”和“-pom”)。现在他们是:
myapp-1.0.jar
myapp-1.0.jar.asc
myapp-1.0-javadoc.jar
myapp-1.0-javadoc.jar.asc
myapp-1.0.pom
myapp-1.0.pom.asc
myapp-1.0-sources.jar
myapp-1.0-sources.jar.asc
具有以下 ivy.xml 出版物部分:
<publications>
<artifact type="pom" ext="pom" conf="default" />
<artifact type="jar" ext="jar" conf="default" />
<artifact type="sources" ext="jar" conf="sources" m:classifier="sources" />
<artifact type="javadoc" ext="jar" conf="javadoc" m:classifier="javadoc" />
<artifact type="pom.asc" ext="pom.asc" conf="default" />
<artifact type="jar.asc" ext="jar.asc" conf="default" />
<artifact type="jar.asc" ext="jar.asc" conf="sources" m:classifier="sources" />
<artifact type="jar.asc" ext="jar.asc" conf="javadoc" m:classifier="javadoc" />
</publications>
并使用 build.xml 调用:
<ivy:publish resolver="local-m2-publish" pubrevision="${ivy.revision}" overwrite="true" publishivy="false">
<artifacts pattern="${dist.dir}/[artifact]-[revision](-[classifier]).[ext]" />
</ivy:publish>
一切正常!
我已经准备好与这些文件一起发布的目录:
myapp-1.0-bin.jar
myapp-1.0-bin.jar.asc
myapp-1.0-javadoc.jar
myapp-1.0-javadoc.jar.asc
myapp-1.0-pom.pom
myapp-1.0-pom.pom.asc
myapp-1.0-sources.jar
myapp-1.0-sources.jar.asc
对应的ivy.xmlpublications
段为:
<publications>
<artifact name="myapp" type="pom" ext="pom" conf="default" />
<artifact name="myapp" type="bin" ext="jar" conf="default" />
<artifact name="myapp" type="sources" ext="jar" conf="sources" m:classifier="sources" />
<artifact name="myapp" type="javadoc" ext="jar" conf="javadoc" m:classifier="javadoc" />
<!-- The following lines have to be removed to publish correctly WITHOUT .asc files -->
<artifact name="myapp" type="pom.asc" ext="pom.asc" conf="default"/>
<artifact name="myapp" type="bin.asc" ext="jar.asc" conf="default"/>
<artifact name="myapp" type="sources.asc" ext="jar.asc" conf="default" m:classifier="sources" />
<artifact name="myapp" type="javadoc.asc" ext="jar.asc" conf="default" m:classifier="javadoc"/>
</publications>
蚂蚁发布任务为:
<target name="ivyPublish-local-m2">
<ivy:resolve />
<ivy:publish resolver="local-m2-publish" pubrevision="${ivy.revision}" overwrite="true" publishivy="false">
<artifacts pattern="${dist.dir}/[artifact]-[revision]-[type].[ext]" />
</ivy:publish>
</target>
此任务应该发布到本地目录,仅供测试。 问题是以下错误消息:
impossible to publish artifacts for com.myorg#myapp;1.0: java.io.IOException: missing artifact com.myorg#myapp;1.0!myapp.pom.asc
如果我删除 ivy.xml 中评论后的行,发布会继续进行,但目标文件夹的内容是:
myapp-1.0.pom
myapp-1.0.pom.md5
myapp-1.0.pom.sha1
myapp-1.0.jar
myapp-1.0.jar.md5
myapp-1.0.jar.sha1
myapp-1.0-javadoc.jar
myapp-1.0-javadoc.jar.md5
myapp-1.0-javadoc.jar.sha1
myapp-1.0-sources.jar
myapp-1.0-sources.jar.md5
myapp-1.0-sources.jar.sha1
似乎从名称中删除了 -bin 和 -pom 类型(还不错),但是 none 发布了相应的 .asc 文件。 我还尝试将工件模式更改为:
<artifacts pattern="${dist.dir}/[artifact]-[revision]-[type].[ext](.asc)" />
但没有成功。 问题是:
- 如何发布 .asc 文件?
- 我可以像使用 -pom 和 -bin 那样在不更改名称的情况下发布文件吗?
我按照 CAustin 的建议标准化了我的工件(没有“-bin”和“-pom”)。现在他们是:
myapp-1.0.jar
myapp-1.0.jar.asc
myapp-1.0-javadoc.jar
myapp-1.0-javadoc.jar.asc
myapp-1.0.pom
myapp-1.0.pom.asc
myapp-1.0-sources.jar
myapp-1.0-sources.jar.asc
具有以下 ivy.xml 出版物部分:
<publications>
<artifact type="pom" ext="pom" conf="default" />
<artifact type="jar" ext="jar" conf="default" />
<artifact type="sources" ext="jar" conf="sources" m:classifier="sources" />
<artifact type="javadoc" ext="jar" conf="javadoc" m:classifier="javadoc" />
<artifact type="pom.asc" ext="pom.asc" conf="default" />
<artifact type="jar.asc" ext="jar.asc" conf="default" />
<artifact type="jar.asc" ext="jar.asc" conf="sources" m:classifier="sources" />
<artifact type="jar.asc" ext="jar.asc" conf="javadoc" m:classifier="javadoc" />
</publications>
并使用 build.xml 调用:
<ivy:publish resolver="local-m2-publish" pubrevision="${ivy.revision}" overwrite="true" publishivy="false">
<artifacts pattern="${dist.dir}/[artifact]-[revision](-[classifier]).[ext]" />
</ivy:publish>
一切正常!