小编lms*_*ant的帖子

从 Github Action 部署到 Github Package Registry

我想从公共存储库的 GitHub 操作部署到 GitHub 包注册表。

我有一个用于工作流程的 yml 文件:

name: My CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: Install dependencies
      run: lein deps
    - name: Run tests
      run: lein test
    - name: Generate pom
      run: lein pom
    - name: Deploy
      run: mvn deploy
Run Code Online (Sandbox Code Playgroud)

我使用 Leiningen 来构建项目并生成一个 POM 文件。然后我想使用 Maven 将工件部署到 GitHub 包注册表。

这在Deploy命令上失败(我已用 替换了个人信息...):

[WARNING] Could not transfer metadata ... from/to github (https://maven.pkg.github.com/.../...): Not authorized
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] …
Run Code Online (Sandbox Code Playgroud)

github maven github-actions github-package-registry

15
推荐指数
4
解决办法
6328
查看次数

如何编写SPARQL查询,有效地匹配字符串文字而忽略大小写

我正在使用Jena ARQ编写针对从Jena TDB读取的大型本体的SPARQL查询,以便找到与基于rdfs标签的概念相关联的类型:

SELECT DISTINCT ?type WHERE {
 ?x <http://www.w3.org/2000/01/rdf-schema#label> "aspirin" .
 ?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
}
Run Code Online (Sandbox Code Playgroud)

这很好用,实际上非常快(<1秒).不幸的是,对于某些术语,我需要以不区分大小写的方式执行此查询.例如,因为标签"Tylenol"位于本体中,而不是"tylenol",所以以下查询为空:

SELECT DISTINCT ?type WHERE {
 ?x <http://www.w3.org/2000/01/rdf-schema#label> "tylenol" .
 ?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
}
Run Code Online (Sandbox Code Playgroud)

我可以使用FILTER语法编写此查询的不区分大小写的版本,如下所示:

SELECT DISTINCT ?type WHERE {
 ?x <http://www.w3.org/2000/01/rdf-schema#label> ?term .
 ?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
 FILTER ( regex (str(?term), "tylenol", "i") )
}
Run Code Online (Sandbox Code Playgroud)

但现在查询需要一分钟才能完成!有没有办法以更有效的方式编写不区分大小写的查询?

rdf sparql jena arq tdb

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

如何在小胡子模板中处理字符串或字符串数​​组

我有一个简单/初学者的问题,在我的应用程序中使用小胡子模板(或更准确地说是Hogan).我使用的API有时会返回一个String,有时会返回一个字符串数组.

我知道可以将String包装在单个元素数组中,但是还有一种方法可以从胡子模板中处理这个选项吗?

使用普通部分
{{#stringOrArray}} <li>{{.}}</li> {{/stringOrArray}} 如果只是一个字符串,则不会打印该值.

mustache hogan.js

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

基于更新路径的条件作业和步骤

我们使用 GitHub Actions 进行项目的多模块 Maven CI 构建(位于https://github.com/ibm/fhir )

我们有:

  • 我们希望对每个拉取请求运行的最小测试集;和
  • 一组全面的测试,我们希望仅在更新给定模块(或其依赖项)时运行

我发现我可以通过定义多个工作流程并使用内置on.pull_request.paths属性来完成类似的事情,如下所示: https ://help.github.com/en/actions/automating-your-workflow-with-github-actions/ github-actions 的工作流程语法#onpushpull_requestpaths

我想知道我是否/如何能够在jobstep级别上完成类似的事情。我发现作业支持基于https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif的条件执行,但我可以'不知道是否有任何东西可以帮助获得与该on.pull_request.paths功能类似的行为。

假设没有,有人找到了可以帮助解决这个问题的行动吗?或者也许有人可以指出我该功能的实现on.pull_request.paths

maven github-actions

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

如何指定应从BPMN callActivity调用哪个启动事件

http://www.omg.org/spec/BPMN/2.0.2/PDF(第238页):

如果Process用作全局Process(可以从其他进程的Call Activities调用的可调用进程)并且有多个None Start Events,那么当flow从父进程转移到全局进程时,只有一个进程将触发全局流程的启动事件.可以扩展传递给Call Activity对象的Sequence Flow的targetRef属性,以识别适当的Start Event.

如何扩展targetRef属性?它不一定是有效的IDREF吗?也许他们的意思是应该使用自定义属性扩展sequenceFlow元素?

有这种延期的例子吗?现有的BPMN工具是否支持它?

这是我手工编辑的BPMN片段,用于说明问题:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL">
  <process id="p1" name="Process 1" isExecutable="false" processType="Private">
    <sequenceFlow id="startAflow" sourceRef="start" targetRef="A"/>
    <sequenceFlow id="callActivityFlow" sourceRef="A" targetRef=" !? WHAT_GOES_HERE ?! "/>
    <startEvent id="start" name="Start">
      <outgoing>startAflow</outgoing>
    </startEvent>
    <task id="A">
      <incoming>startAflow</incoming>
      <outgoing>callActivityFlow</outgoing>
    </task>
    <callActivity id="call" calledElement="p2">
      <incoming>callActivityFlow</incoming>
    </task>
  </process>
  <process id="p2" name="Process 2" isExecutable="false" processType="Private">
    <sequenceFlow id="start2Aflow" sourceRef="start1" targetRef="2A"/>
    <sequenceFlow id="start2Bflow" sourceRef="start2" targetRef="2B"/>
    <startEvent id="start1" name="Start">
      <outgoing>start2Aflow</outgoing>
    </startEvent>
    <task id="2A">
      <incoming>start2Aflow</incoming>
    </task>
    <startEvent id="start2" name="Start in middle …
Run Code Online (Sandbox Code Playgroud)

jbpm bpmn activiti camunda ibm-bpm

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

使用默认 Java 信任库 (cacerts) 打包自由应用程序的最佳方式

我正在打包一个适用于 Db2 的自由应用程序。当我们在本地运行时,我们配置证书来保护从应用程序到数据库的连接。

现在,我正在尝试打包与 Db2 on Cloud 服务一起使用的相同应用程序,但在 SSL 配置方面遇到了问题。

我想我可以创建一个信任库并向其中添加 digicert 根 CA 并将其与应用程序一起打包,但我倾向于只使用 JDK 的内置 cacerts(因为我们也有限制性防火墙规则来阻止与其他主机的出站连接)。

我在https://github.com/OpenLiberty/open-liberty/issues/4377找到了非常相关的讨论,但我似乎找不到一种以可移植方式指定 JDK cacert 存储路径的好方法。

我尝试将其设置如下: <keyStore id="defaultKeyStore" location="${env.JAVA_HOME}/jre/lib/security/cacerts"/>

但由于某种原因,它没有解析环境变量。为什么?

此外,这仅在 JAVA_HOME 设置为 JDK 时才有效(如在开发中)。在我们的容器中,我们没有那个,所以我们不想要jre路径中的部分。

告诉 Liberty 仅使用 JDK 的默认信任库(以可移植的方式)的最简单/最简单的方法是什么?

websphere-liberty open-liberty

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