ArchGuard Scanner for scan Git change history, scan source code by Chapi for Java, TypeScript, Kotlin, Go..、Java bytecode use for JVM languages, scan Jacoco test coverage.

Related tags

App scanner
Overview

Arch Scanner

CI codecov GitHub release (latest by date)

Requirements: JDK 12

Scanner:

  • scan_git - Git commit history scan
  • scan_jacoco - Jacoco scan
  • scan_bytecode - for JVM languages
    • known issues: Bytecode not support for API analysis.
  • scan_sourcecode - Code analysis
    • SQL Analyser
    • Http Api Analyser
    • Database Analyser
  • scan_test_badsmell - Test code badsmell
  • code_repository - share repository code for scan_bytecode and scan_sourcecode, can be for such as scan_llvm
    • ContainerRepository
    • CodeRepository
  • diff_change - diff change between commits
  • collector_ci [TBD] - collector CI/CD information

License

scan_bytecode inspired by https://github.com/fesh0r/fernflower

languages.json based on https://github.com/boyter/scc with MIT LICENSE.

@2020~2022 Thoughtworks. This code is distributed under the MPL license. See LICENSE in this directory.

Comments
  • Design a structured scanner:auto attach language,dynamic load libs,nested scanner

    Design a structured scanner:auto attach language,dynamic load libs,nested scanner

    Is your feature request related to a problem? Please describe. No

    Describe the solution you'd like 探针+扫描器

    Describe alternatives you've considered 探针扫描语言和项目结构,判断是否适用该扫描器 扫描器执行扫描(基于接口) 扫描器可以嵌套,例如kotlin嵌套spring嵌套jpa

    Additional context 插件化 pipeline filter模式

    enhancement 
    opened by Anddd7 13
  • Multiple dataformat support for output

    Multiple dataformat support for output

    Describe the solution you'd like

    • [ ] output API in csv for analysis in Excel

    Describe alternatives you've considered

    • [ ] create a Data convert in other module

    Additional context Add any other context or screenshots about the feature request here.

    opened by phodal 1
  • Look me:ArchGuard 部署搭建 —— help !!!

    Look me:ArchGuard 部署搭建 —— help !!!

    本人小白一枚,最近刚刚接触ArchGuard,在部署搭建过程中遇到一些问题,麻烦大佬们各显神通,救救小菜鸡。 以下操作按照READ.ME进行,如有理解不当,还请大家多多指教。 ArchGuard scanner - scan source code, binary data and othes, and feed to database. ArchGuard frontend - visualization results & dashboard ArchGuard backend - connect scanner and show data.

    ArchGuard scanner

    scan_git

    执行./gradlew :scan_git:run --args="--path=xxx(自己代码仓地址)",出现以下错误

    Starting a Gradle Daemon (subsequent builds will be faster)
    
    FAILURE: Build failed with an exception.
    
    * Where:
    Build file '/5g_build/5g_Main/scanner/diff_changes/build.gradle.kts' line: 1
    
    * What went wrong:
    Plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.6.10'] was not found in any of the following sources:
    
    - Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
    - Plugin Repositories (could not resolve plugin artifact 'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.6.10')
      Searched in the following repositories:
        Gradle Central Plugin Repository
    
    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 3m 8s
    

    scan_sourcecode

    执行java "-Ddburl=jdbc:mysql://localhost:3306/archguard?user=root&password=&useSSL=false" -jar scan_sourcecode-1.1.7-all.jar --system-id=8 --path=scan_git --language=kotlin,出现以下错误

    ssword=&useSSL=false" -jar scan_sourcecode-1.1.7-all.jar --system-id=8 --path=scan_git --language=kotlin
    Error: Unable to access jarfile scan_sourcecode-1.1.7-all.jar
    
    opened by xuexiansen123 1
  • Data  too long for column 'key' at row 。。。。

    Data too long for column 'key' at row 。。。。

    1、Download scan_sourcecode-1.4.3-all.jar 2、create database archguard 3、start archguard-1.5.1.jar by use java -jar to create tables 4、use java "-Ddburl=jdbc:mysql://localhost:3306/archguard?user=root&password=&useSSL=false" -jar scan _sourcecode-1.4.3-all.jar --system-id=6 --language=java --path=. to scan soucecode

    appear exception info at last org.jdbi.v3.core.statement.UnableToExecuteStatementException: java.sql.BatchUpdateException: Data truncation: Data too long for column 'key' at row 115 [statement:"null", rewritten:"null", parsed:"null", arguments:{positional:{}, name d:{}, finder:[]}]

    opened by yixiuzhemu 1
  • refactor Rule with visitor patterns

    refactor Rule with visitor patterns

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by phodal 0
  • Arch as Code

    Arch as Code

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by phodal 0
  • Count code complexity

    Count code complexity

    Is your feature request related to a problem? Please describe. Count code complexity by CLOC tools

    Describe the solution you'd like like https://github.com/boyter/scc

    good first issue 
    opened by phodal 0
  • Code Structure Style Identify

    Code Structure Style Identify

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by phodal 0
Releases(v2.0.0-alpha.7)
Owner
ArchGuard
Evolution you architectrue in programming way. 守护架构,放权代码
ArchGuard
Android port of Simon Tatham's Puzzles. *git replace in use* - you might want to {{ git fetch origin 'refs/replace/*:refs/replace/*' }}

This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.

Chris Boyle 470 Dec 22, 2022
Git history is an android application that simply tracks GitHub repository's issues.

Git History About Git history is an android application that simply tracks GitHub repository's issues. You can search for user and get all public repo

Aditya Sutar 0 Oct 17, 2021
ArchGuard is a architecture governance tool which can analysis architecture in container, component, code level, create architecure fitness functions, and anaysis system dependencies..

ArchGuard backend ArchGuard is a architecture governance tool which can analysis architecture in container, component, code level, database, create ar

ArchGuard 446 Dec 20, 2022
This application uses Google Play Services Vision library to scan barcodes. It uses Google's on device ML kit to scan for barcodes.

Barcode-Scanner This application showcases use of Google Play Services Vision library It uses Google's on device machine learning kit to scan for barc

Soumik 2 Apr 28, 2022
JBytedit - Java bytecode editor

JBytedit - Java bytecode editor JBytedit was a free, fully featured graphical Java Bytecode editor made by (Matthew Dupraz). This is an archival copy

null 1 Jan 22, 2022
android + Kotlin + Semantic releases + SpotBugs + Jacoco + maven + Gradle + groovy + GitHub actions + SonarQube + commitlint

Contents Installation Package Root project build.gradle App project build.gradle Contributing Citation Copyright Installation Package The latest versi

AbdElraouf Sabri 9 Oct 25, 2022
Clean Architecture Kotlin Multiplatform Mobile (KMM) with Android Instrument Test and Unit Test

The-Movies: Clean Architecture Kotlin Multiplatform Mobile What're inside? - Jetpack Compose - Hilt - Ktor - Android Instrument Test - Unit Test - SQL

null 17 Dec 5, 2022
Android app that shows what happened today in the history.

Today History Android app Master: Develop: Code Coverage: App that shows what happened today in history. Details Written in Kotlin. Android Studio 2.1

MakinGIANTS 29 Oct 3, 2022
Android Bitcoin market app base on Jetpack Compose and MVI. The app displays current bitcoin market price and history price k-line charts.

compose-bitcoin Android Bitcoin market app base on Jetpack Compose and MVVM & MVI. Features Current bitcoin market price. K-line charts of history pri

Chen Pan 3 May 20, 2022
Changelog - a android library, it helps developers display the history of changes in their applications

Changelog is a android library, it helps developers display the history of changes in their applications. Supports Locales, Layout direction

Amirhosein Barati 2 Aug 1, 2022
A tiny Android app that can receive WhatsApp group message export files and parse message history stats.

A tiny Android app that can receive WhatsApp group message export files and parse message history stats.

Zac Sweers 2 May 3, 2022
A sample app that uses CameraX and Milkit to scan multiple barcodes and QR code

MLKit-QR-and-Barcode-Scanner This sample app uses Firebase MLKit to scan bar codes and QR Codes There are a number of types of barcodes, MLKKIt is abl

Kashif Mehmood 9 Sep 16, 2022
A Good Scanner Built With Kotlin

GoodScanner TODO OpenCV Android 프로젝트에 설치 https://webnautes.tistory.com/923 Gaussian Blurring 과 같은 기술을 이용하여 Image의 noise 제거 OpenCV를 이용한 Document Edge D

JoonBeom Park 3 Dec 21, 2021
Library to change Android launcher App Icon and App Name programmatically !

AppIconNameChanger Change Android App launcher Icon and App Name programmatically ! Download Demo APK from HERE Kindly use the following links to use

Prabhakar Thota 587 Dec 29, 2022
React-native-user-interface - Change React Native userinterface at runtime

react-native-user-interface change RN userinterface at runtime. Installation npm

Ahmed Eid 0 Jan 11, 2022
An Android app that lets you download free children's books in different languages from non-profit publisher Book Dash

Bookdash Android Check out the blog post here: http://riggaroo.co.za/book-dash-android-app/ Download the app: https://play.google.com/store/apps/detai

Book Dash 684 Jan 8, 2023
App to randomly translate word through different languages

App to randomly translate word through different languages

Grzybek 0 Jun 24, 2022
Project allowing to query products (languages, libraries, databases, etc) by their properties.

Products app This project allow to search products (mostly software products for now such as languages, libraries etc) based on their properties. For

null 1 May 1, 2022
Yet another barcode scanner for Android

Binary Eye Yet another barcode scanner for Android. As if there weren't enough. This one is free, without any ads and open source. Works in portrait a

Markus Fisch 802 Dec 31, 2022