sequenceDiagram
participant Bridge Tool
participant MyScannerPlugin extends CompilerPlugin
activate Bridge Tool
Bridge Tool ->> Bridge Tool: Perform core scans
Bridge Tool ->> MyScannerPlugin extends CompilerPlugin: Engage through package compilation
activate MyScannerPlugin extends CompilerPlugin
MyScannerPlugin extends CompilerPlugin ->> MyScannerPlugin extends CompilerPlugin: Report issues as diagnostics
MyScannerPlugin extends CompilerPlugin ->> Bridge Tool: Get diagnostics
deactivate MyScannerPlugin extends CompilerPlugin
Bridge Tool ->> Bridge Tool: Filter Issue diagnostics
Bridge Tool ->> Bridge Tool: Add Filtered issues to all issues array
deactivate Bridge Tool
Ballerina language has two main extension points:
- Ballerina Tools
- Ballerina Compiler Plugins
This project aims to extend the functionalities of a Ballerina tool via compiler plugins and simulate a simplified version of the Ballerina scan tool
Allow developers to create custom Ballerina commands like:
bal bridge
Allow developers to extend features of the Ballerina compiler
import org/custom_compiler_plugin as _;
public function main(){
}
The following software should be installed locally
-
Create the custom compiler plugin by following the instructions here
-
Create the bal bridge tool by following the instructions here
-
Navigate to the test-bridge-command directory
-
Run "bal bridge" command
Scans-Test-Attempt-1 Scans-Test-Attempt-2 Scans-Test-Attempt-3 (Automatic analysis on SonarCloud enabled)