小编int*_*ris的帖子

如何修复 Docker gradle 中尝试克隆 gitlab 存储库时的“RPC 管道未配置”问题

我有一个用于 gitlab 存储库的 Docker 容器,需要构建另一个 gitlab 存储库。我们使用 Gradle 脚本来执行 CD/CI。我正在尝试在 Gradle 脚本中编写一个步骤,以将所需的依赖项存储库克隆到我构建和测试依赖项存储库的容器中。我还尝试将依赖项设为 git 子模块,但这也不起作用。

好的,我们有一个用 Rust 编写的应用程序,调用它foo.rs,它依赖于 Apache 许可的开源项目的一个分支bar.rs(我们正在其中添加功能bar,并希望将它们上游回官方 bar 存储库),但我们需要集成功能并确保它们首先与我们的应用程序配合使用。

因此,我们在 gitlab 上有两个存储库://gitlab.com/ourcode/foo.git//gitlab.com/ourcode/bar.git。我有 docker 容器,我在其中构建和测试foo。其中我们有一个.gitlab-ci.yml文件和一个build.gradle用于执行 CD/CI 的文件。最终,我需要让它工作起来,但首先我需要使用 Docker 镜像foo在我的机器上工作。

构建管道中的第一步称为install_deps(安装依赖项)。build.gradle存储库中的代码foo如下所示:

tasks.register(`install_deps`) {
  doLast {
    exec {
      workingDir '.'
      commandLine '/bin/bash' '--login' '-c' 'git clone https:BAR_USER:BAR_PW@gitlab.com/ourcode/bar.git'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我使用用户 BAR_USER 在 Bar 存储库中的 gitlab 上创建了一个 …

git gradle rust gitlab docker

9
推荐指数
0
解决办法
3836
查看次数

如何“刷新”我的 docker 桌面以使其显示我创建的新容器?

我有一个正在运行的 docker 桌面(如果重要的话,在 MacOS 上)。我使用命令行(在终端中)创建了一些容器。我在运行 docker Desktop 之前创建的那些显示在“容器/应用程序”列表中,但最近的那些没有。如何“刷新”容器列表以显示这些新容器。我不想停止/启动实际运行的容器。我只想要桌面应用程序中的当前列表。

docker

8
推荐指数
0
解决办法
2209
查看次数

调用 python Mock 时如何运行函数(以获得副作用)?

我正在模拟(使用 python Mock)一个函数,我想在其中返回一个值列表,但是在列表中的某些项目中,我希望也发生副作用(在调用模拟函数的地方)。这怎么做最容易?我正在尝试这样的事情:

import mock
import socket

def oddConnect():
  result = mock.MagicMock()  # this is where the return value would go
  raise socket.error  # I want it assigned but also this raised

socket.create_connection = mock(spec=socket.create_connection,
  side_effect=[oddConnect, oddConnect, mock.MagicMock(),])
# what I want: call my function twice, and on the third time return normally
# what I get: two function objects returned and then the normal return

for _ in xrange(3):
  result = None
  try:
    # this is the context in …
Run Code Online (Sandbox Code Playgroud)

python unit-testing mocking

6
推荐指数
1
解决办法
2万
查看次数

我可以将CRTP与虚拟函数或函子一起用于允许对类进行更改的访问者算法

我正在重写IR类和算法都在不断变化的编译器的IR。当前的编译器至少有2个当前IR,这些IR用于我要合并的不同阶段。

首先,我们有一个AST层次结构,它基于Node抽象基类和与其关联的访问者模式。接下来,我们有一个单独的语义层次结构,该层次结构使用了各种类(我可能可以全部重新设置基础,以便Node也是所有这些类的最低级别的类)。随着我们认识到更多的专业化,语义层次结构可能会增长。这些类有一个单独的Visitor模式。创建了2个“可执行” IR,用于执行生成的程序。

我的目标是合并AST和语义层次结构,并合并它们生成的可执行形式。这将减少由于两种形式的不一致导致的错误数量。

但是,正如我指出的那样,语义层次结构很可能会添加新的类。此外,我们也可能会添加新的访问者算法。

所以,我想做的是这样的:

class VisitorBase;
class Node;

template Visitable<T> {
   virtual preVisitAccept(VisitorBase *v) { 
      v->preVisit(static_cast<T *>this); }
   virtual inVisitAccept(VisitorBase *v) { 
      v->inVisit(static_cast<T *>this); }
   virtual postVisitAccept(VisitorBase *v) { 
      v->postVisit(static_cast<T *>this); }
   };

template Visitor<T> {
   virtual preVisit(Node *n) { /* do nothing by default */ }
   virtual inVisit(Node *n) { /* do nothing by default */ }
   virtual postVisit(Node *n) { /* do nothing by default */ }
   };

class VisitorBase : Visitor<VistorBase> {
   };

class Node …
Run Code Online (Sandbox Code Playgroud)

c++ templates functor crtp visitor-pattern

6
推荐指数
1
解决办法
91
查看次数

powershell 赋值中的双嵌套类型限定符是什么意思?

我有以下我试图理解的 powershell 语句,特别是它的变量类型。

[double] [boolean] $x = 12.5
$x
$x.GetType()
$x += .5
Run Code Online (Sandbox Code Playgroud)

$x 3 次使用的结果是:

1
Double
1
Run Code Online (Sandbox Code Playgroud)

那么,这是否意味着 $x 总是将其值转换为布尔值,然后将其作为 Double 返回?

是否有一个页面记录了这应该做什么?

powershell

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

如何使用C ++ lambda将成员函数指针转换为普通函数指针以用作回调

我有一些需要C函数的代码,但是我想实例化一堆类实例并将该类的成员函数作为C函数传递。我需要同时捕获N个实例。我希望我可以作为lambda来做。

这是结果函数的外观(大致):

// This is the code I want to interface with:

typedef void func(ParamClass param); // ParamClass is NOT my class

extern void notMyCode1(func funcArg); // Code I want to call, saves funcArg
extern void notMyCode2()  // uses saved funcArgs


// Here is the type of class I want to instantiate:

class MyClass {
   public:
       MyClass(int arg) : saveArg(arg) {}

       int saveArg;

   void myFunc(ParamClass param) {
       // uses saveArg and param to do the right action
   }

};

void …
Run Code Online (Sandbox Code Playgroud)

c++ lambda member-function-pointers function-pointers

0
推荐指数
1
解决办法
138
查看次数