package Ġorg . roy l ance . y ac lib . core . services . java . server Ċ Ċ import Ġorg . roy l ance . common . service . I Builder Ċ import Ġorg . roy l ance . y ac lib . Y ac lib Model Ċ import Ġorg . roy l ance . y ac lib . core . enums . Common Tokens Ċ Ċ // Ġtodo : Ġbetter Ġhandle Ġdependencies Ġfor Ġthis Ċ class ĠG ulp File Builder ( ĊĠĠĠ Ġprivate Ġval Ġdependencies : ĠY ac lib Model . All Controller Dependencies ) Ġ: ĠI Builder < Y ac lib Model . File > Ġ{ ĊĠ Ġprivate Ġval Ġinitial Template Ġ= Ġ""" ${ Common Tokens . Auto Generated Alter ing Ok ay } Ċ var Ġgulp Ġ= Ġrequire (' gulp '); Ċ var Ġg ul ps ync Ġ= Ġrequire (' gulp - sync ')( gulp ); Ċ var Ġconcat Ġ= Ġrequire (' gulp - concat '); Ċ var Ġdel Ġ= Ġrequire (' del '); Ċ var Ġug lify Ġ= Ġrequire (' gulp - uglify '); Ċ var Ġrename Ġ= Ġrequire (' gulp - rename '); Ċ var Ġwebpack Ġ= Ġrequire (' webpack - stream '); Ċ var Ġts Ġ= Ġrequire (' gulp - tsc '); Ċ Ċ // ĠClean Ċ gulp . task (' clean ', Ġfunction () Ġ{ ĊĠĠĠ Ġconst Ġdel Config Ġ= Ġ[' dest ', Ġ'../ webapp / dist ']; ĊĠĠĠ Ġreturn Ġdel ( del Config , Ġ{ Ġforce : Ġtrue }); Ċ }); Ċ Ċ // ĠClean ĠDest Ċ gulp . task (' clean : dest ', Ġfunction () Ġ{ ĊĠĠĠ Ġconst Ġdel Config Ġ= Ġ[' dest ']; ĊĠĠĠ Ġreturn Ġdel ( del Config , Ġ{ Ġforce : Ġtrue }); Ċ }); Ċ Ċ // ĠCompile ĠCss Ċ gulp . task (' css ', Ġfunction () Ġ{ ĊĠĠĠ Ġreturn Ġgulp . src ([' ./ node _ modules / bootstrap / dist / css / bootstrap . css ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / bootstrap / dist / css / bootstrap - theme . css ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / font - awesome / css / font - awesome . css ', ĊĠĠĠĠĠĠĠ Ġ'./ css /* ']) ĊĠĠĠĠĠĠĠ Ġ. pipe ( concat (' all . css ')) ĊĠĠĠĠĠĠĠ Ġ. pipe ( gulp . dest ('../ webapp / dist ')); Ċ }); Ċ Ċ // ĠConcat enate Ġ& ĠMin ify ĠJS Ċ gulp . task (' scripts : vendor ', Ġfunction () Ġ{ ĊĠĠĠ Ġreturn Ġgulp . src ([ ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / long / dist / long . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / byte buffer / dist / byte buffer . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / protobuf js / dist / protobuf . js ', ĊĠĠĠĠĠĠĠ Ġ'./ js /*. js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / jquery / dist / jquery . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / bootstrap / dist / js / bootstrap . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / angular / angular . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / angular - route / angular - route . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / d 3 / d 3 . js ', ĊĠĠĠĠĠĠĠ Ġ'./ node _ modules / dag re - d 3 / dist / dag re - d 3 . js ']) ĊĠĠĠĠĠĠĠ Ġ. pipe ( concat (' vendor . js ')) ĊĠĠĠĠĠĠĠ Ġ. pipe ( rename (' vendor . min . js ')) ĊĠĠĠĠĠĠĠ Ġ. pipe ( gulp . dest ('../ webapp / dist ')); Ċ }); Ċ Ċ gulp . task (' scripts : typescript ', Ġfunction () Ġ{ ĊĠĠĠ Ġreturn Ġgulp . src ([' app /**/*. ts ', Ġ${ this . build TypeScript Dependencies ()} ]) ĊĠĠĠĠĠĠĠ Ġ. pipe ( ts ()) ĊĠĠĠĠĠĠĠ Ġ. pipe ( gulp . dest (" dest ")); Ċ }); Ċ Ċ gulp . task (' scripts ', Ġfunction () Ġ{ ĊĠĠĠ Ġreturn Ġgulp . src ([' dest /** /* ']) ĊĠĠĠĠĠĠĠ Ġ. pipe ( webpack ()) ĊĠĠĠĠĠĠĠ Ġ. pipe ( concat (' all . js ')) ĊĠĠĠĠĠĠĠ Ġ. pipe ( rename (' all . min . js ')) ĊĠĠĠĠĠĠĠ Ġ. pipe ( gulp . dest ('../ webapp / dist ')); Ċ }); Ċ Ċ // Ġdefault Ġ( no Ġmin ify ) Ċ gulp . task (' default ', Ġg ul ps ync . sync ([ ĊĠĠĠ Ġ' clean ', ĊĠĠĠ Ġ' css ', ĊĠĠĠ Ġ' scripts : vendor ', ĊĠĠĠ Ġ' scripts : typescript ', ĊĠĠĠ Ġ' scripts ', ĊĠĠĠ Ġ' clean : dest ' Ċ ])); Ċ """ ĊĊĠ Ġoverride Ġfun Ġbuild (): ĠY ac lib Model . File Ġ{ ĊĠĠĠ Ġval Ġreturn File Ġ= ĠY ac lib Model . File . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. set File To Write ( initial Template ) ĊĠĠĠĠĠĠĠ Ġ. set FileName (" gulp file ") ĊĠĠĠĠĠĠĠ Ġ. set File Update Type ( Y ac lib Model . File Update Type . WRITE _ IF _ NOT _ EXISTS ) ĊĠĠĠĠĠĠĠ Ġ. set File Extension ( Y ac lib Model . File Extension . JS _ EXT ) ĊĠĠĠĠĠĠĠ Ġ. set Full Directory Location (" src / main / javascript ") ĊĊĠĠĠ Ġreturn Ġreturn File . build () ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġbuild TypeScript Dependencies (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġthis . dependencies . controller Dependencies List . map Ġ{ ĊĠĠĠĠĠ Ġ"' ./ node _ modules /${ it . dependency . group }.${ it . dependency . name } /*. ts '" ĊĠĠĠ Ġ}. join ToString () ĊĠ Ġ} Ċ }