/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand Ġother Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġcom . jetbrains . plugin verifier . options Ċ Ċ import Ġcom . samp ull ara . cli . Argument Ċ Ċ open Ġclass ĠCmd Opts ( ĊĠ Ġ@ set : Argument (" verification - reports - dir ", Ġalias Ġ= Ġ" v rd ", Ġdescription Ġ= Ġ" The Ġdirectory Ġwhere Ġthe Ġverification Ġreport Ġfiles Ġwill Ġres ide ") ĊĠ Ġvar Ġverification Reports Dir : ĠString ? Ġ= Ġnull , ĊĊĠ Ġ@ set : Argument (" ignored - problems ", Ġalias Ġ= Ġ" ip ", Ġdescription Ġ= Ġ" The Ġproblems Ġspecified Ġin Ġthis Ġfile Ġwill Ġbe Ġignored . ĠThe Ġfile Ġmust Ġcontain Ġlines Ġin Ġform Ġ< plugin _ xml _ id >:< plugin _ version >:< problem _ description _ regexp _ pattern >") ĊĠ Ġvar Ġignore Problems File : ĠString ? Ġ= Ġnull , ĊĊĠ Ġ@ set : Argument (" runtime - dir ", Ġalias Ġ= Ġ" r ", Ġdescription Ġ= Ġ" The Ġpath Ġto Ġdirectory Ġcontaining ĠJava Ġruntime Ġj ars Ġ( e . g . Ġ/ usr / lib / jvm / java - 8 - oracle ). ĠIf Ġnot Ġspecified , Ġthe ĠJDK Ġfrom Ġ' JAVA _ HOME ' Ġwill Ġbe Ġchosen .") ĊĠ Ġvar Ġruntime Dir : ĠString ? Ġ= Ġnull , ĊĊĠ Ġ@ set : Argument (" team - city ", Ġalias Ġ= Ġ" tc ", Ġdescription Ġ= Ġ" Specify Ġthis Ġflag Ġif Ġyou Ġwant Ġto Ġprint Ġthe ĠTeam City Ġcompatible Ġoutput Ġon Ġstdout .") ĊĠ Ġvar Ġneed Team City Log : ĠBoolean Ġ= Ġfalse , ĊĊĠ Ġ@ set : Argument (" offline ", Ġalias Ġ= Ġ" offline ", Ġdescription Ġ= Ġ" Specify Ġthis Ġflag Ġif Ġthe ĠPlugin ĠVer ifier Ġmust Ġuse Ġonly Ġlocally Ġdownloaded Ġdependencies Ġof Ġplugins ") ĊĠ Ġvar Ġoffline Mode : ĠBoolean Ġ= Ġfalse , ĊĊĠ Ġ@ set : Argument (" tc - grouping ", Ġalias Ġ= Ġ" g ", Ġdescription Ġ= Ġ" How Ġto Ġgroup Ġthe ĠTeam City Ġpresentation Ġof Ġthe Ġproblems : Ġeither Ġ' plugin ' Ġto Ġgroup Ġby Ġeach Ġplugin Ġor Ġ' problem _ type ' Ġto Ġgroup Ġby Ġproblem Ġtype ") ĊĠ Ġvar Ġteam City Group Type : ĠString ? Ġ= Ġnull , ĊĊĠ Ġ@ set : Argument (" previous - tc - tests - file ", Ġdescription Ġ= Ġ" File Ġcontaining ĠTeam City Ġtests Ġthat Ġwere Ġrun Ġin Ġthe Ġprevious Ġbuild . Ġ") ĊĠ Ġvar Ġprevious Tc Tests File : ĠString ? Ġ= Ġnull , ĊĊĠ Ġ@ set : Argument (" plugins - to - check - all - builds ", Ġalias Ġ= Ġ" p - all ", Ġdelimiter Ġ= Ġ" :", Ġdescription Ġ= Ġ" The Ġplugin ĠIDs Ġto Ġcheck Ġwith ĠIDE . ĠThe Ġplugin Ġverifier Ġwill Ġcheck ĠALL Ġcompatible Ġplugin Ġbuilds ") ĊĠ Ġvar Ġplugin ToCheck All Build s : ĠArray < String > Ġ= ĠarrayOf (), ĊĊĠ Ġ@ set : Argument (" plugins - to - check - last - builds ", Ġalias Ġ= Ġ" p - last ", Ġdelimiter Ġ= Ġ" :", Ġdescription Ġ= Ġ" The Ġplugin ĠIDs Ġto Ġcheck Ġwith ĠIDE . ĠThe Ġplugin Ġverifier Ġwill Ġcheck ĠLAST Ġplugin Ġbuild Ġonly ") ĊĠ Ġvar Ġplugin ToCheck Last Build : ĠArray < String > Ġ= ĠarrayOf (), ĊĊĠ Ġ@ set : Argument ( ĊĠĠĠ Ġ" plugins - to - check - file ", Ġalias Ġ= Ġ" pt cf ", Ġdescription Ġ= Ġ" File Ġthat Ġcontains Ġlist Ġof Ġplugins Ġto Ġcheck " Ġ+ ĊĠĠĠ Ġ" Each Ġline Ġof Ġthe Ġfile Ġis Ġeither Ġ'< plugin _ id >' Ġ( check ĠALL Ġbuilds Ġof Ġthe Ġplugin ) Ġor Ġ'@ < plugin _ id >' Ġ( check Ġonly ĠLAST Ġbuild Ġof Ġthe Ġplugin )." ĊĠ Ġ) ĊĠ Ġvar Ġplugins ToCheck File : ĠString ? Ġ= Ġnull , ĊĊĠ Ġ@ set : Argument (" external - prefixes ", Ġalias Ġ= Ġ" ex - prefixes ", Ġdelimiter Ġ= Ġ" :", Ġdescription Ġ= Ġ" The Ġprefixes Ġof Ġclasses Ġfrom Ġthe Ġexternal Ġlibraries . ĠThe ĠVer ifier Ġwill Ġnot Ġreport Ġ' No Ġsuch Ġclass ' Ġfor Ġsuch Ġclasses .") ĊĠ Ġvar Ġexternal Classes Prefixes : ĠArray < String > Ġ= ĠarrayOf (), ĊĊĠ Ġ@ set : Argument ( ĊĠĠĠ Ġ" sub systems - to - check ", ĊĠĠĠ Ġalias Ġ= Ġ" sub systems ", ĊĠĠĠ Ġdescription Ġ= Ġ" Specifies Ġwhich Ġsub systems Ġof ĠIDE Ġshould Ġbe Ġchecked . ĠAvailable Ġoptions : Ġall Ġ( default ), Ġandroid - only , Ġwithout - android .\ n " Ġ+ ĊĠĠĠĠĠ Ġ"\ t all Ġ- Ġverify Ġall Ġcode \ n " Ġ+ ĊĠĠĠĠĠ Ġ"\ t android - only Ġ- Ġverify Ġonly Ġcode Ġrelated Ġto ĠAndroid Ġsupport .\ n " Ġ+ ĊĠĠĠĠĠ Ġ"\ t without - android Ġ- Ġexclude Ġproblems Ġrelated Ġto ĠAndroid Ġsupport . Ġ" ĊĠ Ġ) ĊĠ Ġvar Ġsub systems ToCheck : ĠString Ġ= Ġ" all ", ĊĊĠ Ġ@ set : Argument ( ĊĠĠĠ Ġ" keep - only - problems ", ĊĠĠĠ Ġalias Ġ= Ġ" kop ", ĊĠĠĠ Ġdescription Ġ= Ġ" Only Ġthe Ġproblems Ġmatching Ġlines Ġin Ġthis Ġfile Ġwill Ġbe Ġreflected Ġin Ġreport . ĠThe Ġfile Ġmust Ġcontain Ġlines Ġin Ġform : Ġ< problem _ description _ regexp _ pattern >" ĊĠ Ġ) ĊĠ Ġvar Ġkeep Only Problems File : ĠString ? Ġ= Ġnull Ċ )