package Ġorg . co ff ey . commands Ċ Ċ import Ġcom . be ust . kl ax on . Kl ax on Ċ import Ġorg . co ff ey . Command Ċ import Ġorg . co ff ey . Properties Ċ import Ġorg . co ff ey . json . C off ey Package Ċ import Ġjava . io . File Ċ Ċ class ĠInfo Ġ: ĠCommand Ġ{ ĊĠĠĠ Ġvar Ġpackages Directory Ġ= ĠFile ( System . getenv ( Properties . installation Env Var )) ĊĊĠĠĠ Ġoverride Ġfun Ġrun ( args : ĠArray < String >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġargs . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackages Directory . list Files (). forEach Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc off ey Package File Ġ= ĠFile ("${ it . absolute Path }\\ ${ Properties . json Package }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( co ff ey Package File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpack Ġ= ĠK l ax on (). parse < C off ey Package >( co ff ey Package File ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (""" Ċ Package : Ġ${ pack ?. name } ĊĠ ĠVersion : Ġ${ pack ?. version } ĊĠ ĠDescription : Ġ${ pack ?. description } """) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= Ġ" Get Ġinfo Ġof Ġa Ġspecific Ġpackage ." Ċ }