小编Knu*_*sen的帖子

在并行测试时,如何为每个jmv gradle生成不同的系统属性?

Gradle允许我启动多个jvms进行测试,如下所示:

test {
   maxParallelForks = 10
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序的一些测试需要一个需要端口的假ftp服务器.使用一个jvm很容易做到这一点:

test {
   systemProperty 'ftpPort', 10000
}
Run Code Online (Sandbox Code Playgroud)

但是,当并行运行时,我需要启动10个假的ftp服务器.如何为gradle生成的每个jvm添加自定义系统属性?

就像是:

test {
   maxParallelForks 10
   customizeForks { index ->
       systemProperty 'ftpPort', 10000 + index
   }
}
Run Code Online (Sandbox Code Playgroud)

testing gradle

10
推荐指数
1
解决办法
116
查看次数

为什么标签似乎与注册表的主机名紧密耦合?

我一直在阅读很多关于如何设置和使用我自己的私有docker注册表的教程.

让我感到困惑的一件事是我用标记图像的标签似乎与注册表的主机名紧密耦合.

docker tag <imageid> registry.mycompany.com:5000/myrepo:tag
docker push registry.mycompany.com:5000/myrepo:tag
Run Code Online (Sandbox Code Playgroud)

这看起来非常违反直觉.如果注册表必须移动到不同的主机名,会发生什么?或者,如果我使用不同的主机名,无论我是否在内部/外部访问服务器?

对我来说更直观的是在推/拉时指定注册表:

docker tag <imageid> myrepo:tag
docker push myrepo:tag --registry=registry.mycompany.com
docker pull myrepo:tag --registry=registry.mycompnay.com
Run Code Online (Sandbox Code Playgroud)

这是什么理由?我错过了哪些关键信息?

docker

7
推荐指数
1
解决办法
238
查看次数

具有相同名称的Gradle子子项目不适用于eclipse

我有以下结构

root
|- foo    
|  |- implementation
|  |   \- build.gradle
|  \- interface
|      \- build.gradle
|
|- bar
|  |- implementation
|  |   \- build.gradle
|  \- interface
|      \- build.gradle
|
|- build.gradle
\- settings.gradle
Run Code Online (Sandbox Code Playgroud)

在settings.gradle中,我有以下内容:

include ':foo:implementation', ':foo:interface'
include ':bar:implementation', ':bar:interface'
Run Code Online (Sandbox Code Playgroud)

在我的build.gradle根文件夹中,我将所有这些作为依赖项

dependencies { 
    compile project(':foo:implementation')
    compile project(':foo:interface')
    compile project(':bar:implementation')
    compile project(':bar:interface')
}
Run Code Online (Sandbox Code Playgroud)

Eclipse需要每个项目都有不同的名称.默认情况下,Gradle使用项目名称在eclipse中命名.因此,eclipse无法区分':foo:implementation'和':bar:implementation:',因为它们都将在Eclipse中命名为'implementation'.在我看来,这应该可以通过将eclipse项目名称设置为更具体的东西来解决,例如:

allprojects {
    eclipse.project {
        if (project == rootProject) {
            name = rootProject.name
        } else {
            name = rootProject.name + project.path.replace(":", "-")
        } …
Run Code Online (Sandbox Code Playgroud)

eclipse gradle

5
推荐指数
1
解决办法
1086
查看次数

标签 统计

gradle ×2

docker ×1

eclipse ×1

testing ×1