package Ġorg . jetbrains . intellij Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠIntelliJ Plugin Manual Config Spec Ġ: ĠIntelliJ Plugin Spec Base () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġsdk Ġmanually Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ' 1 4 . 1 . 4 ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Only ĠĠĠĠĠĠĠ ĠDependencies Utils . intellij ( project ) Ġ{ Ġinclude (' openapi . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ĠĠĠĠ ĠDependencies Utils . intellij ( project ) Ġ{ Ġinclude (' asm - all . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġruntime Only ĠĠĠĠĠĠĠ ĠDependencies Utils . intellij ( project ) Ġ{ Ġexclude (' idea . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Implementation ĠDependencies Utils . intellij ( project ) Ġ{ Ġinclude (' boot . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Runtime Only ĠĠĠ ĠDependencies Utils . intellij ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Main Compile Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' implementation : Ġ' Ġ+ Ġsource Sets . main . compile Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Main Runtime Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' runtime Only : Ġ' Ġ+ Ġsource Sets . main . runtime Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Test Compile Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' test Implementation : Ġ' Ġ+ Ġsource Sets . test . compile Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Test Runtime Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' test Runtime Only : Ġ' Ġ+ Ġsource Sets . test . runtime Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġbuild ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Main Compile Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Test Compile Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Test Runtime Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Main Runtime Class Path ", ĊĠĠĠĠĠĠĠ Ġ). output . lines (). let Ġ{ Ġlines Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" implementation :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Runtime Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" runtime Only :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" test Implementation :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Runtime Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" test Runtime Only :") Ġ} Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Classpath . contains (" openapi . jar ")) ĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly Ġin Ġcompile Only ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Runtime Classpath . contains (" openapi . jar ")) ĠĠĠ Ġ// Ġincludes Ġall Ġbut Ġidea . jar ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" openapi . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" openapi . jar ")) ĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Classpath . contains (" asm - all . jar ")) ĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Classpath . contains (" asm - all . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" asm - all . jar ")) ĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" boot . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Classpath . contains (" boot . jar ")) ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" boot . jar ")) ĠĠĠĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" idea . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Runtime Classpath . contains (" idea . jar ")) ĠĠĠĠĠ Ġ// Ġexcluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" idea . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" idea . jar ")) ĠĠĠĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Runtime Classpath . contains (" idea _ rt . jar ")) ĠĠĠ Ġ// Ġincludes Ġall Ġbut Ġidea . jar ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġplugins Ġmanually Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ' 1 4 . 1 . 4 ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ= Ġ[' junit ', Ġ' testng ', Ġ' copyright '] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Only ĠĠĠĠĠĠĠ ĠDependencies Utils . intellij Plugin ( project , Ġ' junit ') Ġ{ Ġinclude (' junit - rt . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ĠĠĠĠ ĠDependencies Utils . intellij Plugin ( project , Ġ' junit ') Ġ Ġ{ Ġinclude (' idea - junit . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġruntime Only ĠĠĠĠĠĠĠ ĠDependencies Utils . intellij Plugin ( project , Ġ' testng ') Ġ{ Ġexclude (' testng - plugin . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Implementation ĠDependencies Utils . intellij Plugin ( project , Ġ' testng ') Ġ{ Ġinclude (" testng . jar ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Runtime Only ĠĠĠ ĠDependencies Utils . intellij Plugins ( project , Ġ' junit ', Ġ' testng ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Main Compile Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' implementation : Ġ' Ġ+ Ġsource Sets . main . compile Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Main Runtime Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' runtime Only : Ġ' Ġ+ Ġsource Sets . main . runtime Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Test Compile Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' test Implementation : Ġ' Ġ+ Ġsource Sets . test . compile Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Test Runtime Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' test Runtime Only : Ġ' Ġ+ Ġsource Sets . test . runtime Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġbuild ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Main Compile Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Test Compile Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Test Runtime Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Main Runtime Class Path ", ĊĠĠĠĠĠĠĠ Ġ). output . lines (). let Ġ{ Ġlines Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" implementation :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Runtime Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" runtime Only :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" test Implementation :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Runtime Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" test Runtime Only :") Ġ} Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Classpath . contains (" junit - rt . jar ")) ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly Ġin Ġcompile Only ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Runtime Classpath . contains (" junit - rt . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" junit - rt . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" junit - rt . jar ")) ĠĠĠĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Classpath . contains (" idea - junit . jar ")) ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly Ġin Ġcompile ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Classpath . contains (" idea - junit . jar ")) ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinherited Ġfrom Ġcompile ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" idea - junit . jar ")) ĠĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" testng - plugin . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Runtime Classpath . contains (" testng - plugin . jar ")) Ġ// Ġexcluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" testng - plugin . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" testng - plugin . jar ")) Ġ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" testng . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Runtime Classpath . contains (" testng . jar ")) ĠĠĠĠĠĠĠĠ Ġ// Ġincludes Ġtest ng ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Classpath . contains (" testng . jar ")) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" testng . jar ")) ĠĠĠĠĠĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" copyright . jar ")) ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġnot Ġincluded Ġ( same Ġfor Ġall Ġbelow ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Runtime Classpath . contains (" copyright . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" copyright . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Runtime Classpath . contains (" copyright . jar ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġextra Ġdependencies Ġmanually Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Dependencies Ġ= Ġ[' intellij - core ', Ġ' j ps - build - test '] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ĠĠĠĠ ĠDependencies Utils . intellij Extra ( project , Ġ' j ps - build - test ') Ġ{ Ġinclude (' j ps - build - test *. jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġruntime Only ĠĠĠĠĠĠĠ ĠDependencies Utils . intellij Extra ( project , Ġ' intellij - core ') Ġ Ġ{ Ġexclude (' intellij - core . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Implementation ĠDependencies Utils . intellij Extra ( project , Ġ' intellij - core ') Ġ Ġ{ Ġinclude (" annotations . jar ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Runtime Only ĠĠĠ ĠDependencies Utils . intellij Extra ( project , Ġ' j ps - build - test ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Runtime Only ĠĠĠ ĠDependencies Utils . intellij Extra ( project , Ġ' intellij - core ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Main Compile Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' implementation : Ġ' Ġ+ Ġsource Sets . main . compile Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Main Runtime Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' runtime Only : Ġ' Ġ+ Ġsource Sets . main . runtime Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Test Compile Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' test Implementation : Ġ' Ġ+ Ġsource Sets . test . compile Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġprint Test Runtime Class Path Ġ{ Ġdo Last Ġ{ Ġprintln Ġ' test Runtime Only : Ġ' Ġ+ Ġsource Sets . test . runtime Classpath . as Path Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĊĠĠĠĠĠĠĠ Ġbuild ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Main Compile Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Test Compile Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Test Runtime Class Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" print Main Runtime Class Path ", ĊĠĠĠĠĠĠĠ Ġ). output . lines (). let Ġ{ Ġlines Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" implementation :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Runtime Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" runtime Only :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" test Implementation :") Ġ} Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Runtime Classpath Ġ= Ġlines . find Ġ{ Ġit . startsWith (" test Runtime Only :") Ġ} Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Classpath . contains (" j ps - build - test ")) ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly Ġin Ġcompile Only Ġ( note Ġ- Ġversion ed Ġjar , Ġchecking Ġby Ġname Ġonly ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Runtime Classpath . contains (" j ps - build - test ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Classpath . contains (" j ps - build - test ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" j ps - build - test ")) ĠĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" intellij - core . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Runtime Classpath . contains (" intellij - core . jar ")) Ġ// Ġexcluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" intellij - core . jar ")) ĠĠĠĠĠĠĠ Ġ// Ġnot Ġincluded ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" intellij - core . jar ")) Ġ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" annotations . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Classpath . contains (" annotations . jar ")) ĠĠĠĠĠĠĠĠĠĠ Ġ// Ġincluded Ġexplicitly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" annotations . jar ")) ĠĠĠ Ġ// Ġincludes Ġall ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( main Classpath . contains (" intellij - core - analysis - deprecated . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( main Runtime Classpath . contains (" intellij - core - analysis - deprecated . jar ")) Ġ// Ġincludes Ġint ellij - core ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( test Classpath . contains (" intellij - core - analysis - deprecated . jar ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( test Runtime Classpath . contains (" intellij - core - analysis - deprecated . jar ")) Ġ// Ġincludes Ġall ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġsdk Ġmanually Ġfail Ġwithout Ġafter Evaluate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ĠDependencies Utils . intellij ( project ) Ġ{ Ġinclude (' asm - all . jar ') Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild And Fail (" tasks ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . output . contains (" intellij Ġis Ġnot Ġ( yet ) Ġconfigured . ĠPlease Ġnote Ġthat Ġyou Ġshould Ġconfigure Ġint ellij Ġdependencies Ġin Ġthe Ġafter Evaluate Ġblock ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġplugins Ġmanually Ġfail Ġwithout Ġafter Evaluate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij . configure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ĠDependencies Utils . intellij Plugin ( project , Ġ' junit ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild And Fail (" tasks ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . output . contains (" intellij Ġplugin Ġ' junit ' Ġis Ġnot Ġ( yet ) Ġconfigured . ĠPlease Ġnote Ġthat Ġyou Ġshould Ġspecify Ġplugins Ġin Ġthe Ġint ellij . plugins Ġproperty Ġand Ġconfigure Ġdependencies Ġon Ġthem Ġin Ġthe Ġafter Evaluate Ġblock ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġplugins Ġmanually Ġfail Ġon Ġun configured Ġplugin `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ= Ġ[] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ĠDependencies Utils . intellij Plugin ( project , Ġ' junit ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild And Fail (" tasks ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . output . contains (" intellij Ġplugin Ġ' junit ' Ġis Ġnot Ġfound . ĠPlease Ġnote Ġthat Ġyou Ġshould Ġspecify Ġplugins Ġin Ġthe Ġint ellij . plugins Ġproperty Ġand Ġconfigure Ġdependencies Ġon Ġthem Ġin Ġthe Ġafter Evaluate Ġblock ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġplugins Ġmanually Ġfail Ġon Ġsome Ġun configured Ġplugins `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ= Ġ[' junit '] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ĠDependencies Utils . intellij Plugins ( project , Ġ' testng ', Ġ' junit ', Ġ' copyright ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĠĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild And Fail (" tasks ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . output . contains (" intellij Ġplugins Ġ[ testng , Ġcopyright ] Ġare Ġnot Ġ( yet ) Ġconfigured Ġor Ġnot Ġfound . ĠPlease Ġnote Ġthat Ġyou Ġshould Ġspecify Ġplugins Ġin Ġthe Ġint ellij . plugins Ġproperty Ġand Ġconfigure Ġdependencies Ġon Ġthem Ġin Ġthe Ġafter Evaluate Ġblock ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġextra Ġmanually Ġfail Ġwithout Ġafter Evaluate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Dependencies Ġ= Ġ[' intellij - core '] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ĠDependencies Utils . intellij Extra ( project , Ġ' intellij - core ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild And Fail (" tasks ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . output . contains (" intellij Ġis Ġnot Ġ( yet ) Ġconfigured . ĠPlease Ġnote Ġthat Ġyou Ġshould Ġconfigure Ġint ellij Ġdependencies Ġin Ġthe Ġafter Evaluate Ġblock ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` configure Ġextra Ġmanually Ġfail Ġon Ġun configured Ġextra Ġdependency `() Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Test File () ĊĠĠĠĠĠĠĠ Ġbuild File . groovy (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . jetbrains . intellij . Dependencies Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġint ellij Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Default Dependencies Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Dependencies Ġ= Ġ[' j ps - build - test '] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile ĠDependencies Utils . intellij Extra ( project , Ġ' intellij - core ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild And Fail (" tasks ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . output . contains (" intellij Ġextra Ġartifact Ġ' intellij - core ' Ġis Ġnot Ġfound . ĠPlease Ġnote Ġthat Ġyou Ġshould Ġspecify Ġextra Ġdependencies Ġin Ġthe Ġint ellij . extra Dependencies Ġproperty Ġand Ġconfigure Ġdependencies Ġon Ġthem Ġin Ġthe Ġafter Evaluate Ġblock ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ