Giter Site home page Giter Site logo

Comments (14)

phodal avatar phodal commented on July 19, 2024 1

哈哈,@ariesfly 可以参考上面的提交修复 877eaf8

看了一下应该是 : 导致的问题,需要 encode 一下,目测会自动 decode

from archguard.

phodal avatar phodal commented on July 19, 2024

看看这个 jar 是不是正常的?诸如于:检查从 GitHub 的下载情况?

from archguard.

quincik avatar quincik commented on July 19, 2024

断点了下,可以下载 ,isInstalled(fileName) 返回时 true

另外下载的 版本是:https://github.com/archguard/archguard/releases/download/v2.0.0-beta.2/scanner_cli-2.0.0-beta.2-all.jar

from archguard.

phodal avatar phodal commented on July 19, 2024

isInstalled 是 spec 里的,是需要其它 jar 的,比如 lang_csharp-2.0.0-beta.2-all.jar 之类的

from archguard.

quincik avatar quincik commented on July 19, 2024

有什么日志会有打印出来,看下具体信息么?

from archguard.

phodal avatar phodal commented on July 19, 2024
[SCANNER] org.archguard.scanner.ctl.Runner <cli parameters> 
|type: SOURCE_CODE 
|systemId: 0 
|serverUrl: http://localhost:8080 
|workspace: . 
|path: . 
|output: [json] 
<customized analysers> 
|analyzerSpec: [] 
|slotSpec: [] 
<additional parameters> 
|language: kotlin 
|features: [datamap] 
|repoId: null 
|branch: master 
|startedAt: 0 
|since: null 
|until: null 
|depth: 7 
[SCANNER] o.a.s.ctl.loader.AnalyserLoader workspace path: /home/parallels/Desktop/demo
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser install path: /home/parallels/Desktop/demo/dependencies/analysers
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser: rule-webapi - [2.0.0-beta.5] is installed
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl register slot: rule-webapi
[SCANNER] o.a.s.ctl.loader.AnalyserLoader workspace path: /home/parallels/Desktop/demo
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser install path: /home/parallels/Desktop/demo/dependencies/analysers
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser: rule-test - [2.0.0-beta.5] is installed
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl register slot: rule-test
[SCANNER] o.a.s.ctl.loader.AnalyserLoader workspace path: /home/parallels/Desktop/demo
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser install path: /home/parallels/Desktop/demo/dependencies/analysers
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser: rule-sql - [2.0.0-beta.5] is installed
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl register slot: rule-sql
[SCANNER] o.a.s.ctl.loader.AnalyserLoader workspace path: /home/parallels/Desktop/demo
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser install path: /home/parallels/Desktop/demo/dependencies/analysers
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser: kotlin - [2.0.0-beta.5] is installed
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl found output type: chapi.domain.core.CodeDataStruct
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl try plug slot for: org.archguard.linter.rule.testcode.TestSmellRuleSlot@1f1d416f
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl done plug slot for: org.archguard.linter.rule.testcode.TestSmellRuleSlot@1f1d416f
[SCANNER] o.a.scanner.ctl.loader.SlotHubImpl found output type: org.archguard.rule.core.Issue
[SCANNER] o.a.s.ctl.loader.AnalyserLoader workspace path: /home/parallels/Desktop/demo
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser install path: /home/parallels/Desktop/demo/dependencies/analysers
[SCANNER] o.a.s.ctl.loader.AnalyserLoader analyser: datamap - [2.0.0-beta.5] is installed 

from archguard.

quincik avatar quincik commented on July 19, 2024

2023-02-15 16:10:56.899 [DefaultDispatcher-worker-2 @coroutine#1] INFO c.t.a.s.infra.ScannerCliClient - [SCANNER] o.a.s.ctl.client.ArchGuardHttpClient process topic: sca-dependencies
2023-02-15 16:10:56.900 [DefaultDispatcher-worker-2 @coroutine#1] INFO c.t.a.s.infra.ScannerCliClient - Exception in thread "main" java.net.URISyntaxException: Illegal character in query at index 86: http://localhost:8080/api/scanner/3/reporting/sca-dependencies?language=kotlin&path=C:\Users\zhenlin\AppData\Local\Temp\archguard15652771582882474328
2023-02-15 16:10:56.900 [DefaultDispatcher-worker-2 @coroutine#1] INFO c.t.a.s.infra.ScannerCliClient - at java.base/java.net.URI$Parser.fail(URI.java:2913)

找到了些详细的 Exception in thread "main" java.net.URISyntaxException 这个是什么问题?

from archguard.

phodal avatar phodal commented on July 19, 2024

应该是 Windows 下生成的 path 有问题,导致 new URI 出错了:

private inline fun <reified T> process(topic: String, body: T) {
logger.info("process topic: $topic")
process(URI(buildUrl(topic)), body)
}

from archguard.

quincik avatar quincik commented on July 19, 2024

确实 是windows 环境,这个该如何改下?

from archguard.

phodal avatar phodal commented on July 19, 2024

理论上应该对 path 进行 encode:

private fun buildUrl(topic: String) =
"$serverUrl/api/scanner/$systemId/reporting/$topic?language=$language&path=$path"

在对应分析 path 的地方进行 decode。

不过,现在运行的方式有点奇怪,理论上 ArchGuard Server 应该是部署在类 Unix 环境下的。如果在 Windows 下运行的话,path 一般是等于 . 的。

from archguard.

quincik avatar quincik commented on July 19, 2024

目前调研下产品就 本地了,window是麻烦 不过 手上没Mac。 哎

from archguard.

phodal avatar phodal commented on July 19, 2024

这个路径是用来 debug 用的,并不是很重要。你可以

  1. 修改本地的 scanner_cli 然后本地构建一下就可以了
  2. 或者先不用 sca 这种类型的 scanner(注释掉 42 行):

private fun Scanner.scanWith(context: ScanContext) {
// TODO just delete and remove the disabled scanner
if (!canScan(context)) return
val command = when (this) {
is SourceCodeScanner -> this@StranglerScannerExecutor.buildCommand(context, AnalyserType.SOURCE_CODE)
is ScaScanner -> this@StranglerScannerExecutor.buildCommand(context, AnalyserType.SCA)
is DiffChangesScanner -> this@StranglerScannerExecutor.buildCommand(context, AnalyserType.DIFF_CHANGES)
is GitSourceScanner -> this@StranglerScannerExecutor.buildCommand(context, AnalyserType.GIT)
else -> null
}
// TODO call multiple analyser in one call with DAG config
if (command == null) scan(context)
else {
log.debug("found new implementation of ${this.javaClass}, execute command: $command")
scannerClient.send(command)
}
}

from archguard.

quincik avatar quincik commented on July 19, 2024

重新构建 注释后 扫描报

2023-02-15 16:47:59.279 [pool-1-thread-1] INFO c.t.a.s.i.command.Processor - Already up to date.
Exception in thread "DefaultDispatcher-worker-1 @coroutine#1" kotlin.NotImplementedError: An operation is not implemented: deprecated, replace with StranglerScannerExecutor.run(context, SCA)
at com.thoughtworks.archguard.scanner.domain.scanner.codescan.sca.ScaScanner.scan(ScaScanner.kt:12)
at com.thoughtworks.archguard.scanner.domain.scanner.codescan.sca.ScaScanner.scan(ScaScanner.kt:7)

另外,同样还是出现了

Exception in thread "main" java.net.URISyntaxException: Illegal character in query at index 78:

from archguard.

quincik avatar quincik commented on July 19, 2024

已经解决了 tks

from archguard.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.