美文网首页
Gradle(5)-仓库类型

Gradle(5)-仓库类型

作者: 卡门001 | 来源:发表于2020-07-27 11:24 被阅读0次

仓库类型

Flat directory repository

将项目中的文件目录作为仓库。

  • flatDir { dirs 'libs'}
  • flatDir { dirs 'lib1', 'lib2' }

Maven Central repository

是一个流行的仓库,拥有大量的Java项目开源库。

  • mavenCentral()

JCenter Maven repository

是一个所有流行开源软件手工制品的最新集合的仓库。

  • jcenter()

Google Maven repository

谷歌仓库拥有安卓特定的手工制品,包括Android SDK

  • google()

Local Maven repository

有利于团队将一个项目发布到本地仓库,并在另一个项目中使用该手工制品。

  • mavenLocal()

Custom Maven repositories

很多机构将依赖放在一个机构内部的Maven仓库中,只有使用公司网络才能访问。
Gradle可以通过URL声明Maven仓库。

maven { url "http://repo.mycompany.com/maven2" }

有时一个仓库会把POMs发布到一个地方,把JARs和其它手工制品发布到另外一个地方。你可以这样定义此种仓库:

repositories {
    maven {
        // Look for POMs and artifacts, such as JARs, here
        url "http://repo2.mycompany.com/maven2"
        // Look for artifacts here if not found at the above location
        artifactUrls "http://repo.mycompany.com/jars"
        artifactUrls "http://repo.mycompany.com/jars2"
    }
}

Custom Ivy repositories

  • Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java软件开发。
  • Apache Ivy,是一个管理项目依赖的工具。机构可能将依赖放在一个机构内部的Ivy仓库中。Gradle可以通过URL声明Ivy仓库。
  • Defining an Ivy repository with a standard layout 声明一个使用标准布局的Ivy仓库
repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}
  • Defining a named layout for an Ivy repository 声明一个命名布局的Ivy仓库
repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
        layout "maven"
    }
}

有效的命名布局值:"gradle" (默认),"maven","ivy","patter"。

  • Defining custom pattern layout for an Ivy repository 为一个Ivy仓库声明自定义样式布局
repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
        patternLayout {
            artifact "[module]/[revision]/[type]/[artifact].[ext]"
        }
    }
}
  • Accessing password-protected Ivy repositories 访问有密码保护的Ivy仓库
repositories {
    ivy {
        url "http://repo.mycompany.com"
        credentials {
            username "user"
            password "password"
        }
    }
}

支持协议

Supported metadata sources 支持的元数据来源

当在一个仓库中查找一个模块的时候,Gradle默认会检查那个仓库中的元数据文件的格式。在Maven仓库中Gradle查找.pom文件,在Ivy仓库中查找ivy.xml文件,在flat目录仓库中(不需要任何元数据)直接查找.jar文件。从5.0版本的Gradle开始查找.module(Gradle模块元数据)文件。

repositories {
    maven {
        url "http://repo.mycompany.com/repo"
        metadataSources {
            mavenPom()
            artifact()
        }
    }
}

使用http协议的仓库

repositories {
    maven {
        url "http://repo.mycompany.com/maven2"
    }
 
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}

使用sftp协议的仓库

repositories {
    maven {
        url "sftp://repo.mycompany.com:22/maven2"
        credentials {
            username "user"
            password "password"
        }
    }
 
    ivy {
        url "sftp://repo.mycompany.com:22/repo"
        credentials {
            username "user"
            password "password"
        }
    }
}

使用s3协议的仓库

access key/secret key/session token or Environment variables

repositories {
    maven {
        url "s3://myCompanyBucket/maven2"
        credentials(AwsCredentials) {
            accessKey "someKey"
            secretKey "someSecret"
            // optional
            sessionToken "someSTSToken"
        }
    }
 
    ivy {
        url "s3://myCompanyBucket/ivyrepo"
        credentials(AwsCredentials) {
            accessKey "someKey"
            secretKey "someSecret"
            // optional
            sessionToken "someSTSToken"
        }
    }
}

使用gcs(Google cloud storage,谷歌云存储)协议的仓库

default application credentials sourced from well known files, Environment variables etc.

repositories {
    maven {
        url "gcs://myCompanyBucket/maven2"
    }
 
    ivy {
        url "gcs://myCompanyBucket/ivyrepo"
    }
}

相关文章

  • Gradle(5)-仓库类型

    仓库类型 Flat directory repository 将项目中的文件目录作为仓库。 flatDir { d...

  • maven仓库镜像

    阿里云仓库镜像 gradle 配置 阿里云 代理了很多公共的maven仓库 网易云仓库镜像gradle配置

  • gradle

    gradle 仓库加速

  • newKP——Gradle(二)

    1.Gradle添加仓库 仓库是一种存放依赖的容器,每一个项目都具备一个或多个仓库。Gradle支持 *Ivy仓库...

  • Gradle 依赖管理

    仓库 远程仓库:专门用来提供给开发者使用的依赖库gradle通过远程仓库帮助开发者管理依赖,gradle不会默认为...

  • gradle片段

    gradle 常用配置 多模块项目 setting.gradle gradle 发布jar包到本地仓库 gradl...

  • android比较有用的文章汇总,随时更新中ing

    Gradle: android使用Gradle统一配置依赖版本 Android studio Maven仓库使用 ...

  • gradle 仓库问题

    今天有空学习了下gradle 几个不太清楚的疑问点,在此记录备忘。 gradle 仓库与maven仓库的关系默认会...

  • 使用Gradle发布项目到JCenter仓库

    使用Gradle发布项目到JCenter仓库

  • 服务器问题

    服务器开发问题 2020-9-5 问题:gradle下载缓慢 解决:使用阿里云仓库,在C:\Users\***\....

网友评论

      本文标题:Gradle(5)-仓库类型

      本文链接:https://www.haomeiwen.com/subject/fsfzlktx.html