package Ġde . smart square . s quit . task Ċ Ċ import Ġde . smart square . s quit . io . Files Utils Ċ import Ġde . smart square . s quit . util . Constants . META Ċ import Ġde . smart square . s quit . util . Constants . PROC ES SED _ DIRECTORY Ċ import Ġde . smart square . s quit . util . Constants . RAW _ DIRECTORY Ċ import Ġde . smart square . s quit . util . Constants . RESPONSE S _ DIRECTORY Ċ import Ġde . smart square . s quit . util . Constants . SOURCES _ DIRECTORY Ċ import Ġde . smart square . s quit . util . Constants . S QU IT _ DIRECTORY Ċ import Ġde . smart square . s quit . util . as Path Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . file . Configurable File Tree Ċ import Ġorg . gradle . api . file . Directory Property Ċ import Ġorg . gradle . api . tasks . Cache able Task Ċ import Ġorg . gradle . api . tasks . Input Directory Ċ import Ġorg . gradle . api . tasks . Input Files Ċ import Ġorg . gradle . api . tasks . Internal Ċ import Ġorg . gradle . api . tasks . Output Directory Ċ import Ġorg . gradle . api . tasks . Path Sensitive Ċ import Ġorg . gradle . api . tasks . Path Sensitivity Ċ import Ġorg . gradle . api . tasks . Task Action Ċ import Ġorg . gradle . util . Gradle Version Ċ import Ġorg . gradle . workers . Work Action Ċ import Ġorg . gradle . workers . Work Parameters Ċ import Ġorg . gradle . workers . Worker Executor Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġjava . nio . file . Paths Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠTask Ġfor Ġpost - processing Ġthe Ġresponses . Ċ Ġ*/ Ċ @ Cache able Task Ċ open Ġclass ĠS quit Post Process Task Ġ@ Inject Ġconstructor ( private Ġval Ġworker Executor : ĠWorker Executor ) Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġof Ġthe Ġtest Ġsources . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Input Directory ĊĠĠĠ Ġ@ Path Sensitive ( Path Sensitivity . REL ATIVE ) ĊĠĠĠ Ġval Ġprocessed Sources Path : ĠPath Ġ= ĠPaths . get ( ĊĠĠĠĠĠĠĠ Ġproject . build Dir . path , ĊĠĠĠĠĠĠĠ ĠS QU IT _ DIRECTORY , ĊĠĠĠĠĠĠĠ ĠSO URCES _ DIRECTORY ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġof Ġthe Ġpreviously Ġrequested Ġresponses . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Internal ĊĠĠĠ Ġval Ġactual Responses Path : ĠPath Ġ= ĠPaths . get ( ĊĠĠĠĠĠĠĠ Ġproject . build Dir . path , ĊĠĠĠĠĠĠĠ ĠS QU IT _ DIRECTORY , ĊĠĠĠĠĠĠĠ ĠRESP ONSE S _ DIRECTORY , ĊĠĠĠĠĠĠĠ ĠRAW _ DIRECTORY ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCollection Ġof Ġactual Ġresponse Ġfiles Ġexcept Ġmeta . json Ġfiles Ġfor Ġup - to - date Ġchecking . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġ@ get : Path Sensitive ( Path Sensitivity . REL ATIVE ) ĊĠĠĠ Ġval Ġactual Responses Files : ĠConfigur able File Tree Ġ= Ġproject ĊĠĠĠĠĠĠĠ Ġ. file Tree ( actual Responses Path ) Ġ{ Ġit . exclude (" ** /$ META ") Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġto Ġsave Ġthe Ġresults Ġin . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Output Directory ĊĠĠĠ Ġval Ġprocessed Actual Responses Path : ĠPath Ġ= ĠPaths . get ( ĊĠĠĠĠĠĠĠ Ġproject . build Dir . path , ĊĠĠĠĠĠĠĠ ĠS QU IT _ DIRECTORY , ĊĠĠĠĠĠĠĠ ĠRESP ONSE S _ DIRECTORY , ĊĠĠĠĠĠĠĠ ĠPROC ES SED _ DIRECTORY ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" Build " ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Transforms Ġthe Ġactual Ġresponses Ġto Ġbe Ġreadable Ġand Ġusable Ġfor Ġthe Ġcomparing Ġtask ." ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRuns Ġthe Ġtask . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ ĠFiles Utils . delete Re cursively If Existing ( processed Actual Responses Path ) ĊĠĠĠĠĠĠĠ ĠFiles . create Directories ( processed Actual Responses Path ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Gradle Version . current () Ġ>= ĠGradle Version . version (" 5 . 6 ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworker Queue Ġ= Ġworker Executor . no Isolation () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles Utils . get Leaf Directories ( actual Responses Path , Ġsort Ġ= Ġfalse ). forEach Ġ{ Ġtest Path Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker Queue . submit ( Worker :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . processed Sources Path . set ( processed Sources Path . to File ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . actual Responses Path . set ( actual Responses Path . to File ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . processed Actual Responses Path . set ( processed Actual Responses Path . to File ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . test Path . set ( test Path . to File ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles Utils . get Leaf Directories ( actual Responses Path , Ġsort Ġ= Ġfalse ). forEach Ġ{ Ġtest Path Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS quit Post Process Runner . run ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessed Sources Path , Ġactual Responses Path , Ġprocessed Actual Responses Path , Ġtest Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġabstract Ġclass ĠWorker Ġ: ĠWork Action < Worker Parameters > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprocessed Sources Path Ġget () Ġ= Ġparameters . processed Sources Path . as Path ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġactual Responses Path Ġget () Ġ= Ġparameters . actual Responses Path . as Path ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprocessed Actual Responses Path Ġget () Ġ= Ġparameters . processed Actual Responses Path . as Path ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtest Path Ġget () Ġ= Ġparameters . test Path . as Path ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS quit Post Process Runner . run ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessed Sources Path , Ġactual Responses Path , Ġprocessed Actual Responses Path , Ġtest Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinterface ĠWorker Parameters Ġ: ĠWork Parameters Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprocessed Sources Path : ĠDirectory Property ĊĠĠĠĠĠĠĠ Ġval Ġactual Responses Path : ĠDirectory Property ĊĠĠĠĠĠĠĠ Ġval Ġprocessed Actual Responses Path : ĠDirectory Property ĊĠĠĠĠĠĠĠ Ġval Ġtest Path : ĠDirectory Property ĊĠĠĠ Ġ} Ċ } Ċ