package Ġorg . un bro k end ome . gradle . plugins . helm . command . tasks Ċ Ċ import Ġorg . gradle . api . file . Directory Property Ċ import Ġorg . gradle . api . file . Regular File Ċ import Ġorg . gradle . api . provider . Property Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġorg . gradle . api . tasks .* Ċ import Ġorg . un bro k end ome . gradle . plugins . helm . dsl . Helm Extension Ċ import Ġorg . un bro k end ome . gradle . plugins . helm . dsl . helm Ċ import Ġorg . un bro k end ome . gradle . plugins . helm . model . Chart Descriptor Ċ import Ġorg . un bro k end ome . gradle . plugins . helm . model . Chart Descriptor Yaml Ċ import Ġorg . un bro k end ome . gradle . plugins . helm . util . property ĊĊ Ċ /** Ċ Ġ* ĠPackages Ġa Ġchart Ġinto Ġa Ġversion ed Ġchart Ġarchive Ġfile . ĠCorre spon ds Ġto Ġthe Ġ` helm Ġpackage ` ĠCLI Ġcommand . Ċ Ġ* Ċ Ġ* ĠThe Ġchart Ġname Ġand Ġversion Ġneed Ġto Ġbe Ġknown Ġat Ġconfiguration Ġtime Ġto Ġdetermine Ġthe Ġtask Ġoutputs . ĠIf Ġthey Ġare Ġnot Ċ Ġ* Ġspecified Ġexplicitly Ġusing Ġthe Ġ[ chart Name ] Ġand Ġ[ chart Version ] Ġproperties , Ġthe Ġtask Ġwill Ġparse Ġthe Ġ` Chart . yaml ` Ċ Ġ* Ġfile Ġand Ġextract Ġthe Ġmissing Ġinformation Ġfrom Ġthere . Ċ Ġ*/ Ċ open Ġclass ĠHelm Package Ġ: ĠAbstract Helm Command Task () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġapp Version Ġon Ġthe Ġchart Ġto Ġthis Ġversion . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get :[ Input ĠOptional ] ĊĠĠĠ Ġval Ġapp Version : ĠProperty < String > Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . property () ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġdependencies Ġfrom Ġ" requirements . yaml " Ġto Ġdir Ġ" charts /" Ġbefore Ġpackaging . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Input ĊĠĠĠ Ġval Ġupdate Dependencies : ĠProperty < Boolean > Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . property () ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġthat Ġcontains Ġthe Ġsources Ġfor Ġthe ĠHelm Ġchart . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Input Directory ĊĠĠĠ Ġ@ Suppress (" Le aking This ") ĊĠĠĠ Ġval Ġsource Dir : ĠDirectory Property Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . directory Property () ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġparsed ĠChart . yaml Ġfile . ĠImplemented Ġas Ġa Ġlazy Ġ[ Provider ] Ġso Ġwe Ġonly Ġparse Ġthe Ġfile Ġwhen Ġnecessary . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġchart Descriptor : ĠProvider < Chart Descriptor > Ġ= ĊĠĠĠĠĠĠĠ Ġsource Dir . file (" Chart . yaml ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĠChart Descriptor Yaml . loading ( it ) Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġname Ġof Ġthe Ġchart . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġnot Ġset , Ġthe Ġchart Ġname Ġwill Ġbe Ġread Ġfrom Ġthe Ġ_ Chart . yaml _ Ġfile Ġin Ġthe Ġsource Ġdirectory . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Input ĊĠĠĠ Ġval Ġchart Name : ĠProperty < String > Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . property < String >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. convention ( chart Descriptor . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( it . name ) Ġ{ Ġ" Chart Ġname Ġmust Ġeither Ġbe Ġpresent Ġin ĠChart . yaml , Ġor Ġspecified Ġexplicitly " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġversion Ġof Ġthe Ġchart . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġnot Ġset , Ġthe Ġchart Ġversion Ġwill Ġbe Ġread Ġfrom Ġthe Ġ_ Chart . yaml _ Ġfile Ġin Ġthe Ġsource Ġdirectory . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Input ĊĠĠĠ Ġval Ġchart Version : ĠProperty < String > Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . property < String >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. convention ( chart Descriptor . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( it . version ) Ġ{ Ġ" Chart Ġversion Ġmust Ġeither Ġbe Ġpresent Ġin ĠChart . yaml , Ġor Ġspecified Ġexplicitly " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLocation Ġto Ġwrite Ġthe Ġchart Ġarchive . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠDefault Ġdestination Ġis Ġ` helm / charts /` Ġunder Ġthe Ġproject 's Ġbuild Ġdirectory . ĠThis Ġcan Ġalso Ġbe Ġconfigured ĊĠĠĠĠ Ġ* Ġglobally Ġusing Ġthe Ġ[ Helm Extension . output Dir ] Ġproperty Ġof Ġthe ĊĠĠĠĠ Ġ* Ġ` helm ` ĠDSL Ġblock . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Internal (" Represent ed Ġas Ġpart Ġof Ġchart Output Path ") ĊĠĠĠ Ġval Ġdestination Dir : ĠDirectory Property Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . directory Property () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. convention ( project . helm . output Dir ) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġname Ġof Ġthe Ġpackaged Ġchart Ġfile . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Internal (" Represent ed Ġas Ġpart Ġof Ġchart Output Path ") ĊĠĠĠ Ġval Ġchart FileName : ĠProvider < String > Ġ= ĊĠĠĠĠĠĠĠ Ġproject . provider Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ chart Name . get ()} -${ chart Version . get ()}. tgz " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġfull Ġpath Ġof Ġthe Ġpackaged Ġchart Ġfile Ġ( read - only Ġproperty ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : OutputFile ĊĠĠĠ Ġval Ġchart Output Path : ĠProvider < Regular File > Ġ= ĊĠĠĠĠĠĠĠ Ġdestination Dir . file ( chart FileName ) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġwhether Ġthe Ġchart Ġshould Ġalso Ġbe Ġsaved Ġto Ġthe Ġlocal Ġrepository Ġafter Ġpackaging . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠCorre spon ds Ġto Ġthe Ġ`-- save ` Ġcommand Ġline Ġparameter . ĠDefaults Ġto Ġ` false `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Input ĊĠĠĠ Ġval Ġsave ToLocal Repo : ĠProperty < Boolean > Ġ= ĊĠĠĠĠĠĠĠ Ġproject . objects . property < Boolean >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. convention ( false ) ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġregister Helm Home As Input Dir () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġhelm Package () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠMake Ġsure Ġthe Ġdestination Ġdirectory Ġexists , Ġotherwise Ġhelm Ġpackage Ġwill Ġfail . ĊĠĠĠĠĠĠĠ Ġthis . destination Dir . get (). as File . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġexec Helm (" package ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoption ("-- version ", Ġchart Version ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoption ("-- app - version ", Ġapp Version ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflag ("-- dependency - update ", Ġupdate Dependencies ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoption ("-- destination ", Ġdestination Dir ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflag ("-- save ", Ġsave ToLocal Repo , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs ( source Dir ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ