发布 artifacts

依赖配置也可以用来发布文件[3]. 我们称这些文件publication artifacts, 或者就叫 artifacts.

插件可以很好的定义一个项目的 artifacts, 所以你并不需要做一些特别的工作来让 Gradle 需要发布什么. 你可以通过在 uploadArchives 任务里加入仓库来完成. 下面是一个发布远程 Ivy 库的例子:

例子 8.8. 发布一个 Ivy 库

build.gradle

  1. uploadArchives {
  2. repositories {
  3. ivy {
  4. credentials {
  5. username "username"
  6. password "pw"
  7. }
  8. url "http://repo.mycompany.com"
  9. }
  10. }
  11. }

现在, 当你运 gradle uploadArchives, Gradle 将构建和上传你的 Jar. Gradle 也会生成和上传 ivy.xml .

你也可以发布到 Maven 库.语法是稍有不同[4]. 请注意你需要加入 Maven 插件来发布一个 Maven 库. 在下面的例子里, Gradle 将生成和上传 pom.xml.

例子 8.9. 发布 Maven 库

build.gradle

  1. apply plugin: 'maven'
  2. uploadArchives {
  3. repositories {
  4. mavenDeployer {
  5. repository(url: "file://localhost/tmp/myRepo/")
  6. }
  7. }
  8. }

Chapter 53, Publishing artifacts, 发布 artifacts 里有更加具体的介绍.

[3] 我们认为这令人困惑,我们正在在Gradle DSL中逐步的区别这两个概念.

[4] 我们正在努力解决从Maven仓库发布,获取的语法一致性.