【问题标题】:Using Ivy to specify Web URL for javadoc使用 Ivy 为 javadoc 指定 Web URL
【发布时间】:2011-04-23 00:52:07
【问题描述】:

===更新=== 我将尝试重新措辞以引起更多回应。 Ivy 中的 javadoc 工件是否 必须 是 jar 或 zip 文件?或者我可以将工件定义为类似于http://download.oracle.com/javase/1.5.0/docs/api/ 的 URL?

我知道您可以将 Ivy 工件定义为从中下载文件的 url,但这不是我想要做的。

===原创===

我正在使用 Ivy 来处理由多个 Java 项目组成的大型项目的依赖关系管理。每个项目都由 Hudson 服务器编译并发布到 Ivy。每个项目都构建它的运行时 jar、源 jar 和 javadoc jar。此外,Hudson 将 Javadoc 发布到 Web 服务器上的 URL。

我想要做的是在我的 ivy.xml 中为 Javadoc 在某个 URL 上发布的每个项目指定。在我的依赖项目中,我想让 Ivy 解决该依赖关系并将其提供给 ant 中的 javadoc 命令作为子任务的参数。

最后,我想要以下内容:项目 A 在 http://someurl/A/javadoc 发布了 javadoc 项目 B 依赖于 A,它的 javadoc 发布在 http://someurl/B/javadoc 在项目 B 的 javadoc 中使用项目 A 中的类,我希望它链接到项目 A url。

想法?

【问题讨论】:

    标签: java ant hudson javadoc ivy


    【解决方案1】:

    我想要做的是在我的 每个项目的 ivy.xml Javadoc 在某个 URL 上发布。

    我猜你应该像任何其他工件一样发布 Javadoc,并在 ivysettings.xml 中指定搜索模式。示例:

    <resolvers>
      <url name="repository">
        <ivy pattern="${repository.url}/[module]/ivy-[revision].xml" />
        <artifact pattern="${repository.url}/[module]/[artifact]-[revision].[ext]" />
        <artifact pattern="${repository.url}/[module]/[artifact]-javadoc-[revision].[ext]" />
      </filesystem>
    </resolvers>
    

    最后,我想要以下内容: 项目 A 的 javadoc 发布在 http://someurl/A/javadoc 项目 B 是 依赖于 A 并且它的 javadoc 是 发表于http://someurl/B/javadoc 在项目 B 的 javadoc 中使用 来自项目 A 的课程,我想要它 链接到项目 A 的 url。

    只要您将 Javadoc 作为工件发布,它就有自己的 ivy.xml,您可以在此处声明依赖关系:

    <ivy-module version="2.0">
        <info organisation="yourorg" module="moduleB-javadoc" />
        <dependencies>
            <dependency org="yourorg" name="moduleA-javadoc" />
        </dependencies>
    </ivy-module>
    

    在我的依赖项目中,我想 让 Ivy 解决这种依赖关系并 将其提供给 ant 中的 javadoc 命令 作为子任务的参数。

    将 javadoc 工件描述为依赖项目的 ivy.xml 中的依赖项,然后在 build.xml 中指定 ant javadoc 任务依赖于根据需要执行和操作 javadoc jar 的目标(有关详细信息,请参阅 ant 文档)。

    【讨论】:

    • 实际上,Dmitry,这就是我现在所处的位置。我将 javadoc 编译到一个 jar 中,并将其作为依赖项拉下来。但是如果我对此运行 javac 命令,它只会将项目 A 中的 javadoc 包含在项目 B 的 javadoc 中......这不是我想要的。相反,我希望项目 B 的 javadoc 链接到项目 A 的 URL。这样,项目 B 的页面只有它的类/包,但允许您点击进入项目 A 的 java 文档。
    • 将其视为将 Java API javadoc 作为链接包含在应用程序的 javadoc 中的操作...您不想重新发布整个内容,只需链接到它...我也想做同样的事情,但使用 Ivy 自动链接...如果可能的话。
    • 恐怕Ivy没有这样的功能。但随时欢迎您向项目提交补丁 :)
    猜你喜欢
    • 2011-10-05
    • 2023-03-13
    • 2014-08-08
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多