来源:cubacn
浏览 898
扫码
分享
2019-03-24 09:59:41
4.3.2. 配置仓库连接
- 主仓库
当创建项目的时候,需要选择包含 CUBA 工件的主仓库。默认情况下有两种选择(如果配置了私仓的话就有更多选择):
-
https://repo.cuba-platform.com/content/groups/work
- Haulmont 服务器提供的仓库。需要在构建脚本中指定通用的密钥:(cuba
/ cuba123
)。
-
https://dl.bintray.com/cuba-platform/main
- JFrog Bintray提供的仓库,支持匿名访问。
这两个仓库有相同的最新平台版本的工件内容,但是 Bintray 不包含版本快照(snapshots)。对于全球访问来说,Bintray 应当更加可靠。
使用 Bintray 的情况下,新项目的构建脚本会配置成分别使用 Maven Central,JCenter 和 Vaadin 插件仓库。
- 使用 CUBA Premium 插件
|
从 7.0 开始,BPM,Charts,全文检索(Full-Text Search)和 Reports 扩展插件将会免费和开源。这些扩展插件目前在上面提到的主仓库,所以只需要为使用其他 premium 插件配置 premium 仓库,比如,WebDAV。
|
如果项目使用了 CUBA Premium 插件,在 build.gradle 添加一个仓库:
-
如果主仓库是 repo.cuba-platform.com
,则需要添加 https://repo.cuba-platform.com/content/groups/premium
-
如果主仓库是 Bintray,则需要添加 https://cuba-platform.bintray.com/premium
添加 https://repo.cuba-platform.com/content/groups/premium
仓库的示例:
buildscript {
repositories {
maven {
url 'https://repo.cuba-platform.com/content/groups/premium'
credentials {
username(rootProject.hasProperty('premiumRepoUser') ?
rootProject['premiumRepoUser'] : System.getenv('CUBA_PREMIUM_USER'))
password(rootProject.hasProperty('premiumRepoPass') ?
rootProject['premiumRepoPass'] : System.getenv('CUBA_PREMIUM_PASSWORD'))
}
}
}
添加 https://cuba-platform.bintray.com/premium
仓库的示例:
buildscript {
repositories {
maven {
url 'https://cuba-platform.bintray.com/premium'
credentials {
username(rootProject.hasProperty('premiumRepoUser') ?
rootProject['premiumRepoUser'] : System.getenv('CUBA_PREMIUM_USER'))
password(rootProject.hasProperty('premiumRepoPass') ?
rootProject['premiumRepoPass'] : System.getenv('CUBA_PREMIUM_PASSWORD'))
}
}
}
上面提到的两个 Premium 插件仓库都需要使用提供给每个开发者的用户名和密码。授权码短横前的前半部分是仓库用户名,后半部分是密码。比如,如果授权码是 111111222222-abcdefabcdef
,那么用户名是 111111222222
,密码是 abcdefabcdef
。如果是使用 Bintray 仓库,用户名需要添加 @cuba-platform
。
可以按照以下方法之一来提供用户凭证。
-
推荐的方法是创建 ~/.gradle/gradle.properties
文件,然后在文件内设置属性:
-
为 https://repo.cuba-platform.com/content/groups/premium
仓库设置凭证的示例:
~/.gradle/gradle.properties
premiumRepoUser=111111222222
premiumRepoPass=abcdefabcdef
-
为 https://cuba-platform.bintray.com/premium
仓库设置凭证的示例:
~/.gradle/gradle.properties
premiumRepoUser=111111222222@cuba-platform
premiumRepoPass=abcdefabcdef
-
另外一个方法是在操作系统中设置以下环境变量:
-
CUBA_PREMIUM_USER
- 如果 premiumRepoUser
没有设置,则会使用这个环境变量。
-
CUBA_PREMIUM_PASSWORD
- 如果 premiumRepoPass
没有设置,则会使用这个环境变量。
当从命令行执行 Gradle 任务的时候,也可以通过 -P
开头的命令行参数传递这些属性,示例:
gradlew assemble -PpremiumRepoUser=111111222222 -PpremiumRepoPass=abcdefabcdef
- 自定义仓库
项目可以包含任意数量的自定义仓库,这些仓库可以包含应用程序组件。需要在 build.gradle
里手动将这些仓库添加到主仓库 之后 的位置,示例:
repositories {
maven {
url 'https://repo.cuba-platform.com/content/groups/work'
credentials {
}
}
maven {
url 'http://localhost:8081/repository/maven-snapshots'
}
}