package Ġlt . mark mer kk . export extra Ċ Ċ import Ġlt . mark mer kk . export . tasks . Os Type Ċ import Ġorg . gradle . api . Project Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . util .* Ċ Ċ object ĠJ Bundle Extra Props Factory Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠAPP _ NAME Ġ= Ġ" WT 4 " ĊĠĠĠ Ġconst Ġval ĠAPP _ FL AV OR _ BASIC Ġ= Ġ" basic " ĊĠĠĠ Ġconst Ġval ĠAPP _ FL AV OR _ IT O Ġ= Ġ" ito " ĊĊĠĠĠ Ġprivate Ġval Ġdefault Jvm Props Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ"- X ms 1 2 8 m ", ĊĠĠĠĠĠĠĠ Ġ"- X mx 3 0 0 m ", ĊĠĠĠĠĠĠĠ Ġ"- XX :+ Use G 1 GC ", ĊĠĠĠĠĠĠĠ Ġ"- splash :\ $ APP DIR ${ File . separator } resources ${ File . separator } splash . png " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġobject ĠDebug Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġas Basic ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Props Ġ= ĠVersion Props . from Props ( project , ĠAPP _ FL AV OR _ BASIC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs entry Props Ġ= ĠS entry Props . from Props ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJ Bundle Extra Props ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappName Ġ= Ġ"${ APP _ NAME }-${ app Type . raw Type }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type Ġ= Ġapp Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Flavor Ġ= Ġversion Props . flavor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġversion Props . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġversion Props . code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Props Ġ= Ġdefault Jvm Props . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ PATH = wt 4 _ debug ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ FL AV OR =${ version Props . flavor }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs entry D sn Ġ= Ġs entry Props . dsn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġga Key Ġ= Ġ" test ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Consumer Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Private Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Host Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGenerate Ġkeys : Ġhttps :// con fluence . atlassian . com / j ir ak b / how - to - generate - public - key - to - application - link - 3 rd - party - applications - 9 1 3 2 1 4 0 9 8 . html ĊĠĠĠĠĠĠĠ Ġfun Ġas Oauth IT O ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Props Ġ= ĠVersion Props . from Props ( project , Ġflavor Ġ= ĠAPP _ FL AV OR _ IT O ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs entry Props Ġ= ĠS entry Props . from Props ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkeys Properties Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkeys Property File Ġ= ĠFile ("${ project . rootDir }/ keys _ debug ", Ġ" private . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload ( FileInputStream ( keys Property File . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJ Bundle Extra Props ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappName Ġ= Ġ"${ APP _ NAME }-${ app Type . raw Type }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type Ġ= Ġapp Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Flavor Ġ= Ġversion Props . flavor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġversion Props . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġversion Props . code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Props Ġ= Ġdefault Jvm Props . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ PATH = wt 4 _ debug ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ FL AV OR =${ version Props . flavor }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs entry D sn Ġ= Ġs entry Props . dsn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġga Key Ġ= Ġ" test ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Consumer Ġ= Ġkeys Properties . getProperty (" key _ consumer "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Private Ġ= Ġkeys Properties . getProperty (" key _ private "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Host Ġ= Ġkeys Properties . getProperty (" host ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠRelease Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġas Basic ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide : ĠBoolean ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Props Ġ= ĠVersion Props . from Props ( project , Ġflavor Ġ= ĠAPP _ FL AV OR _ BASIC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs entry Props Ġ= ĠS entry Props . from Props ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdeploy Props Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdeploy Property File Ġ= ĠFile ("${ project . rootDir }", Ġ" deploy . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload ( FileInputStream ( deploy Property File . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJ Bundle Extra Props ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappName Ġ= Ġ"${ APP _ NAME }-${ app Type . raw Type }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type Ġ= Ġapp Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Flavor Ġ= Ġversion Props . flavor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġversion Props . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġversion Props . code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide Ġ= Ġsystem Wide , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Props Ġ= Ġdefault Jvm Props . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ PATH = wt 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ FL AV OR =${ version Props . flavor }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs entry D sn Ġ= Ġs entry Props . dsn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġga Key Ġ= Ġdeploy Props . getProperty (" ga "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Consumer Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Private Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Host Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġas Basic Mac ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . MAC ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠMAC OSX Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġas Basic ( app Type , Ġproject , Ġsystem Wide Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġas Basic Linux ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . LINUX ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠLIN UX Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġas Basic ( app Type , Ġproject , Ġsystem Wide Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġas Basic Win ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . WINDOWS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠWindows Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġas Basic ( app Type , Ġproject , Ġsystem Wide Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGenerate Ġkeys : Ġhttps :// con fluence . atlassian . com / j ir ak b / how - to - generate - public - key - to - application - link - 3 rd - party - applications - 9 1 3 2 1 4 0 9 8 . html ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġas Oauth IT O ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide : ĠBoolean ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Props Ġ= ĠVersion Props . from Props ( project , Ġflavor Ġ= ĠAPP _ FL AV OR _ IT O ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs entry Props Ġ= ĠS entry Props . from Props ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdeploy Props Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdeploy Property File Ġ= ĠFile ("${ project . rootDir }", Ġ" deploy . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload ( FileInputStream ( deploy Property File . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkeys Properties Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkeys Property File Ġ= ĠFile ("${ project . rootDir }/ keys ", Ġ" private . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload ( FileInputStream ( keys Property File . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJ Bundle Extra Props ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappName Ġ= Ġ"${ APP _ NAME }-${ app Type . raw Type }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type Ġ= Ġapp Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Flavor Ġ= Ġversion Props . flavor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġversion Props . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġversion Props . code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide Ġ= Ġsystem Wide , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Props Ġ= Ġdefault Jvm Props . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ PATH = wt 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ FL AV OR =${ version Props . flavor }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs entry D sn Ġ= Ġs entry Props . dsn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġga Key Ġ= Ġdeploy Props . getProperty (" ga "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Consumer Ġ= Ġkeys Properties . getProperty (" key _ consumer "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Private Ġ= Ġkeys Properties . getProperty (" key _ private "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Host Ġ= Ġkeys Properties . getProperty (" host ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġas Oauth IT OM ac ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . MAC ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠMAC OSX Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġas Oauth IT O ( app Type , Ġproject , Ġsystem Wide Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġas Oauth IT OL inux ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . LINUX ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠLIN UX Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġas Oauth IT O ( app Type , Ġproject , Ġsystem Wide Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġas Oauth IT O Win ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . WINDOWS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠWindows Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġas Oauth IT O ( app Type , Ġproject , Ġsystem Wide Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGenerate Ġkeys : Ġhttps :// con fluence . atlassian . com / j ir ak b / how - to - generate - public - key - to - application - link - 3 rd - party - applications - 9 1 3 2 1 4 0 9 8 . html ĊĠĠĠĠĠĠĠ Ġfun Ġas Oauth IT O Custom System Wide Windows ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type : ĠApp Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠĠĠĠĠ Ġ): ĠJ Bundle Extra Props Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Os Type . get () Ġ!= ĠOs Type . WINDOWS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bundle Ġdesigned Ġfor ĠWindows Ġ* ONLY * ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Props Ġ= ĠVersion Props . from Props ( project , Ġflavor Ġ= ĠAPP _ FL AV OR _ IT O ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs entry Props Ġ= ĠS entry Props . from Props ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdeploy Props Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdeploy Property File Ġ= ĠFile ("${ project . rootDir }", Ġ" deploy . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload ( FileInputStream ( deploy Property File . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkeys Properties Ġ= ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkeys Property File Ġ= ĠFile ("${ project . rootDir }/ keys ", Ġ" private . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload ( FileInputStream ( keys Property File . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot DirPath Ġ= Ġ" C :${ File . separator } WT 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp DirPath Ġ= Ġ"${ root DirPath }${ File . separator }. wt 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp DirPath Ġ= Ġ"${ app DirPath }${ File . separator } tmp " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJ Bundle Extra Props ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappName Ġ= Ġ"${ APP _ NAME }-${ app Type . raw Type }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Type Ġ= Ġapp Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Flavor Ġ= Ġversion Props . flavor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġversion Props . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġversion Props . code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Wide Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Props Ġ= Ġdefault Jvm Props . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ PATH = wt 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ ROOT =$ root DirPath ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D java . io . tmpdir =$ tmp DirPath ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- D WT _ APP _ FL AV OR =${ version Props . flavor }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs entry D sn Ġ= Ġs entry Props . dsn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġga Key Ġ= Ġdeploy Props . getProperty (" ga "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Consumer Ġ= Ġkeys Properties . getProperty (" key _ consumer "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Key Private Ġ= Ġkeys Properties . getProperty (" key _ private "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoauth Host Ġ= Ġkeys Properties . getProperty (" host ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }