Plugin

abstract class Plugin(cliName: String) : NoOpCliktCommand(source)

Plugins perform a standalone analysis independent of the Codyze Executors. They usually use already developed libraries from open-source analysis tools. When developing a new Plugin, do not forget to add it to the respective KoinModules, otherwise it will not be selectable in the configuration. Also, remember to add a page to docs/plugins.

Constructors

Link copied to clipboard
constructor(cliName: String)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val currentContext: Context
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open fun aliases(): Map<String, List<String>>
Link copied to clipboard
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
Link copied to clipboard
open fun commandHelp(context: Context): String
Link copied to clipboard
open fun commandHelpEpilog(context: Context): String
Link copied to clipboard
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
Link copied to clipboard
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
Link copied to clipboard
fun echoFormattedHelp(error: CliktError?)
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Define two plugins as equal if they are of the same type and therefore have the same CLI name. This is necessary to filter out duplicate Plugins when parsing the cli arguments

Link copied to clipboard
abstract fun execute(target: List<Path>, context: List<Path>, output: File)

Executes the respective analysis tool.

Link copied to clipboard
fun getFormattedHelp(error: CliktError?): String?
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun issueMessage(message: String)
Link copied to clipboard
fun main(argv: Array<out String>)
fun main(argv: List<String>)
Link copied to clipboard
abstract fun module(): Module
Link copied to clipboard
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
Link copied to clipboard
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
Link copied to clipboard
fun registerArgument(argument: Argument)
Link copied to clipboard
fun registeredArguments(): List<Argument>
Link copied to clipboard
fun registeredOptions(): List<Option>
Link copied to clipboard
fun registeredParameterGroups(): List<ParameterGroup>
Link copied to clipboard
fun registeredSubcommands(): List<CliktCommand>
Link copied to clipboard
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
Link copied to clipboard
fun registerOptionGroup(group: ParameterGroup)
Link copied to clipboard
open override fun run()
Link copied to clipboard
open override fun toString(): String