package Ġorg . tools . atlassian . plugin . transforms . pom čĊč Ċ import Ġorg . tools . atlassian . plugin . Plugin Data č Ċ import Ġorg . tools . atlassian . plugin . config . Application Property č Ċ import Ġorg . tools . atlassian . plugin . func . print Process č Ċ import Ġorg . tools . atlassian . plugin . func . readString With Question č Ċ import Ġjava . nio . file . Path čĊč Ċ object ĠMaven Compiler Version Ġ: ĠIP om Xml Transformation Ġ{ čĊĠĠĠ Ġprivate Ġval Ġmaven Def Compiler Version Ġ= ĠApplication Property . getString (" maven . version . compiler ", Ġ" 3 . 8 . 1 ") čĊčĊĠĠĠ Ġprivate Ġfun Ġadd Maven Compiler Properties ( pom String : ĠStringBuilder , Ġmaven Compiler Version : ĠString ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġtemplate Ġ= Ġ"< maven . compiler . version >$ maven Compiler Version </ maven . compiler . version >" čĊčĊĠĠĠĠĠĠĠ Ġpom String . insert ( Ġpom String . indexOf ("</ properties > "), Ġtemplate ) čĊčĊĠĠĠĠĠĠĠ Ġprint Process (" pom . xml : ĠSetting Ġ< maven . compiler . version > Ġin Ġ< properties > Ġhas Ġbeen Ġdone !") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġadd Maven Compiler Plugin ( pom String : ĠStringBuilder ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġtemplate Ġ= Ġ""" čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< plugin > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< groupId > org . apache . maven . plugins </ groupId > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< artifactId > maven - compiler - plugin </ artifactId > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< version >${ '$ ' }{ maven . compiler . version }</ version > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< executions > ĠĠĠĠĠĠĠ Ġ<!-- ĠRe pl acing Ġdefault - compile Ġas Ġit Ġis Ġtreated Ġspec ially Ġby Ġmaven Ġ--> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< id > default - compile </ id > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< phase > none </ phase > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ execution > ĠĠĠĠĠĠĠ Ġ<!-- ĠRe pl acing Ġdefault - test Compile Ġas Ġit Ġis Ġtreated Ġspec ially Ġby Ġmaven Ġ--> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< id > default - test Compile </ id > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< phase > none </ phase > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< id > java - compile </ id > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< phase > compile </ phase > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< goals > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< goal > compile </ goal > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ goals > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< id > java - test - compile </ id > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< phase > test - compile </ phase > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< goals > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< goal > test Compile </ goal > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ goals > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ execution > čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ executions > čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ plugin > čĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () čĊčĊĠĠĠĠĠĠĠ Ġpom String . insert ( Ġpom String . indexOf ("</ plugins > "), Ġtemplate ) čĊčĊĠĠĠĠĠĠĠ Ġprint Process (" pom . xml : ĠAdding Ġmaven - compiler - plugin Ġplugin Ġin Ġ< plugins > Ġhas Ġbeen Ġdone !") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġexecute ( plugin Path : ĠPath , Ġplugin Data : ĠPlugin Data , Ġpom Xml Builder : ĠStringBuilder ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġmaven Compiler Version Ġ= Ġread String With Question (" Maven Ġcompiler Ġversion Ġ( org . apache . maven . plugins : maven - compiler - plugin )? Ġ($ maven Def Compiler Version )", Ġmaven Def Compiler Version ) čĊčĊĠĠĠĠĠĠĠ Ġadd Maven Compiler Properties ( pom Xml Builder , Ġmaven Compiler Version ) čĊĠĠĠĠĠĠĠ Ġadd Maven Compiler Plugin ( pom Xml Builder ) čĊĠĠĠ Ġ} č Ċ }