package Ġorg . d ani lo pi an ini . kotlin qa Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . provider . Property Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġorg . gradle . kotlin . dsl . property Ċ import Ġjava . io . File Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* ĠGradle Ġextension Ġfor Ġthe ĠKotlin ĠQA ĠPlugin . Ċ Ġ*/ Ċ open Ġclass ĠKotlin QA Extension ( project : ĠProject ) Ġ: ĠSerializable Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġfolder Ġwhere Ġthe ĠDet ek t Ġconfiguration Ġwill Ġbe Ġgenerated . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġworking Directory : ĠProperty < File > Ġ= Ġproject . objects . property < File >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset ( project . file ("${ project . build Dir . absolute Path }${ slash } kotlin qa ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġname Ġof Ġthe Ġgenerated ĠDet ek t Ġconfiguration Ġfile . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġde te kt Configuration FileName : ĠProperty < String > Ġ= Ġproject . objects . property < String >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset (" de te kt . yml ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġgenerated ĠDet ek t Ġconfiguration Ġfile . ĠRead Ġonly , Ġuse Ġ[ working Directory ] Ġand Ġ[ de te kt Configuration FileName ] ĊĠĠĠĠ Ġ* Ġto Ġchange Ġthe Ġvalue Ġof Ġthis Ġproperty . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġde te kt Configuration File : ĠProvider < File > Ġ= Ġworking Directory . flatMap Ġ{ Ġwork Dir Ġ-> ĊĠĠĠĠĠĠĠ Ġde te kt Configuration FileName . map Ġ{ ĠfileName Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . file ("${ work Dir . absolute Path }${ slash }$ fileName ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠserialVersionUID Ġ= Ġ 1 L ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġslash : ĠString Ġ= ĠFile . separator ĊĠĠĠ Ġ} Ċ } Ċ