gradle--第八章 基本的管理依赖3


8.5 仓库
Gradle 是怎么用寻找外部依赖的呢?Gradle从仓库中去寻找他们。一个仓库就是一些文件的集合,通过组,名称和版本进行组织。Gradle可以似乎别集中不同的仓库类型,例如Maven和Ivy,它也支持集中不同的方式去访问仓库,如通过本地文件系统或者通过Http。
默认的Gradle不定义任何仓库。如过你需要使用外部依赖,在使用前你至少需要定义一个仓库。一个选择就是使用Maven中心仓库。
Example 8.4. Usage of Maven central repository


build.gradle
repositories {
    mavenCentral()
}
或者一个远程的Maven仓库
Example 8.5. Usage of a remote Maven repository


build.gradle
repositories {
    maven {
        url "http://repo.mycompany.com/maven2"
    }
}
或者一个远程的Ivy仓库
Example 8.6. Usage of a remote Ivy directory


build.gradle
repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}
你也可以在本地文件系统拥有仓库,这可以是Maven和Ivy仓库。
Example 8.7. Usage of a local Ivy directory


build.gradle
repositories {
    ivy {
        // URL can refer to a local directory
        url "../local-repo"
    }
}
一个工程可以有很多的仓库。Gradle将会根据他们的描述顺序在这些仓库中依次的查找这些依赖。一旦找到了需要的模块就停止,不会再继续寻找。
阅读Section 51.6, “Repositories”这节来了解更多关于定义和使用仓库方面的知识。
8.6 发布镜像文件
依赖配置一样可以用来发布文件,我们把这些文件叫做镜像文件,或者简单的称镜像
插件可以帮我们做很多关于定义一个镜像方面的工作,所以一般情况下,你不需要做很多事情来告诉Gradle你需要发布什么。但是,你需要告诉Gradle镜像要发布到哪里去。你可以通过把仓库地址链接到uploadArchives任务来告诉Gradle发布到哪。下面是一个发布到远程Ivy仓库的一个例子
Example 8.8. Publishing to an Ivy repository


build.gradle
uploadArchives {
    repositories {
        ivy {
            credentials {
                username "username"
                password "pw"
            }
            url "http://repo.mycompany.com"
        }
    }
}
现在,当你运行gradle uploadArchives,Gradle将会构建并上次你的jar包。同时Gradle也会生成并上传一个ivy.xml文件。
你也可以发布到Maven仓库。但是语法稍微有点不同。如果要发布到Maven仓库,注意你需要使用Maven插件。当这个准备好了,Gradle将会生成并上传一个pom.xml文件。
Example 8.9. Publishing to a Maven repository


build.gradle
apply plugin: 'maven'


uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://localhost/tmp/myRepo/")
        }
    }
}
 读Chapter 52, Publishing artifacts来了解更多这方面的信息
 8.7 接下来做什么。
 要了解关于解决依赖的方法,查看 Chapter 51, Dependency Management, 以及发布镜像查看Chapter 52, Publishing artifacts。
 如果你对这里提到的DSL成员感兴趣,看一下Project.configurations{}, Project.repositories{} 以及 Project.dependencies{}.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值