package Ġcom . smart mobile factory . meta json Ċ Ċ import Ġcom . android . build . gradle . App Extension Ċ import Ġcom . android . build . gradle . App Plugin Ċ import Ġcom . android . build . gradle . Base Extension Ċ import Ġcom . android . build . gradle . Library Plugin Ċ import Ġcom . android . build . gradle . api . Application Variant Ċ import Ġcom . smart mobile factory . meta json . c loc . C loc Json Task Ċ import Ġcom . smart mobile factory . meta json . dependencies . Dependencies Json Task Ċ import Ġcom . smart mobile factory . meta json . project . Project Json Task Ċ import Ġorg . gradle . api . Domain Object Set Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ Ċ internal Ġconst Ġval ĠMETA _ JSON _ GROUP Ġ= Ġ" Meta JSON " Ċ internal Ġconst Ġval ĠCREATE _ META _ JSON _ TASK Ġ= Ġ" create Meta Json " Ċ internal Ġconst Ġval ĠC LOC _ TASK Ġ= Ġ" create C loc Json " Ċ internal Ġconst Ġval ĠDE PEND ENCI ES _ TASK Ġ= Ġ" create Dependencies Json " Ċ internal Ġconst Ġval ĠPROJECT _ TASK Ġ= Ġ" create Project Json " Ċ Ċ open Ġclass ĠMeta Json Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . after Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . plugins . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApp Plugin Ġ-> Ġconfigure Android ( project , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . extensions . getBy Type ( App Extension :: class . java ). application Variants ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLibrary Plugin Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠLibrary Ġprojects Ġnot Ġsupported Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure Android ( project : ĠProject , Ġvariant : ĠDomain Object Set < Application Variant >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġandroid : ĠBase Extension Ġ= Ġproject . extensions . get ByName (" android ") Ġas ĠBase Extension ĊĊĠĠĠĠĠĠĠ Ġval Ġconfigure Base Task : Ġ( Base Meta Json Task ) Ġ-> ĠUnit Ġ= Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . android Ġ= Ġandroid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . app Variants Ġ= Ġvariant ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġc loc Json Task Ġ= Ġproject . tasks . create ( C LOC _ TASK , ĠC loc Json Task :: class . java ). also ( configure Base Task ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdependency Json Task Ġ= Ġproject . tasks . create ( DEPEND ENCI ES _ TASK , ĠDependencies Json Task :: class . java ). also ( configure Base Task ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproject Json Task Ġ= Ġproject . tasks . create ( PROJECT _ TASK , ĠProject Json Task :: class . java ). also ( configure Base Task ) ĊĊĠĠĠĠĠĠĠ Ġproject . tasks . create ( CREATE _ META _ JSON _ TASK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= ĠMETA _ JSON _ GROUP ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( project Json Task ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( dependency Json Task ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( c loc Json Task ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġval ĠVERSION Ġ= Ġ" 0 . 2 " ĊĠĠĠ Ġ} Ċ } ĊĊ