/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . common izer Ċ Ċ import Ġorg . jetbrains . kotlin . common izer . Common izer OutputFile Layout . resolve Common ized Directory Ċ import Ġorg . jetbrains . kotlin . common izer . utils . kon an Home Ċ import Ġorg . jetbrains . kotlin . kon an . target . Host Manager Ċ import Ġorg . jetbrains . kotlin . kon an . target . Kon an Target .* Ċ import Ġorg . junit . Ass ume . assume True Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . rules . Temporary Folder Ċ import Ġkotlin . test . assertTrue ĊĊ Ċ class ĠCommon ize Native Distribution Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġtemporary Output Directory Ġ= ĠTemporary Folder () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` common ize Ġ- Ġlinux Ġplatforms `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlinux Target 1 Ġ= ĠCommon izer Target ( LINUX _ X 6 4 , ĠLIN UX _ ARM 6 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġlinux Target 2 Ġ= ĠCommon izer Target ( LINUX _ X 6 4 , ĠLIN UX _ ARM 6 4 , ĠLIN UX _ ARM 3 2 _ H FP ) ĊĊĠĠĠĠĠĠĠ ĠCli Common izer ( this :: class . java . class Loader ). common ize Native Distribution ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkon an Home Ġ= Ġkon an Home , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Targets Ġ= Ġset Of ( linux Target 1 , Ġlinux Target 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġtemporary Output Directory . root , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Level Ġ= ĠCommon izer LogLevel . Info ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġlinux Target 1 ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ linux Target 1 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġlinux Target 2 ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ linux Target 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` common ize Ġ- Ġunix Ġplatforms `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġunix Target Ġ= ĠCommon izer Target ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLIN UX _ X 6 4 , ĠLIN UX _ ARM 6 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMAC OS _ X 6 4 , ĠMAC OS _ ARM 6 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIOS _ X 6 4 , ĠIOS _ ARM 6 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW ATCH OS _ ARM 6 4 , ĠW ATCH OS _ ARM 3 2 , ĠW ATCH OS _ X 8 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTV OS _ ARM 6 4 , ĠTV OS _ X 6 4 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠCli Common izer ( this :: class . java . class Loader ). common ize Native Distribution ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkon an Home Ġ= Ġkon an Home , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Targets Ġ= Ġset Of ( unix Target ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġtemporary Output Directory . root , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Level Ġ= ĠCommon izer LogLevel . Info ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġunix Target ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ unix Target " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` common ize Ġ- Ġapple Ġplatforms `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassume True (" Test Ġis Ġonly Ġsupported Ġon Ġmac os ", ĠHost Manager . host Is Mac ) ĊĠĠĠĠĠĠĠ Ġval Ġios Target Ġ= ĠCommon izer Target ( IOS _ ARM 6 4 , ĠIOS _ X 6 4 , ĠIOS _ SI MUL ATOR _ ARM 6 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġwatch os Target Ġ= ĠCommon izer Target ( WATCH OS _ ARM 6 4 , ĠW ATCH OS _ X 6 4 , ĠW ATCH OS _ SI MUL ATOR _ ARM 6 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġmac os Target Ġ= ĠCommon izer Target ( MAC OS _ X 6 4 , ĠMAC OS _ ARM 6 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġapple Target Ġ= ĠShared Common izer Target ( ios Target . kon an Targets Ġ+ Ġwatch os Target . kon an Targets Ġ+ Ġmac os Target . kon an Targets ) ĊĊĠĠĠĠĠĠĠ ĠCli Common izer ( this :: class . java . class Loader ). common ize Native Distribution ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkon an Home Ġ= Ġkon an Home , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Targets Ġ= Ġset Of ( ios Target , Ġwatch os Target , Ġmac os Target , Ġapple Target ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġtemporary Output Directory . root , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Level Ġ= ĠCommon izer LogLevel . Info ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġios Target ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ ios Target " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġwatch os Target ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ watch os Target " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġmac os Target ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ macos Target " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve Common ized Directory ( temporary Output Directory . root , Ġapple Target ). isDirectory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġdirectory Ġfor Ġ$ apple Target " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` common ize Ġ- Ġno Ġoutput Targets Ġspecified `() Ġ{ ĊĠĠĠĠĠĠĠ ĠCli Common izer ( this :: class . java . class Loader ). common ize Native Distribution ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkon an Home Ġ= Ġkon an Home , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Targets Ġ= Ġempty Set (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġtemporary Output Directory . root , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Level Ġ= ĠCommon izer LogLevel . Info ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ