import Ġorg . jetbrains . kotlin . gradle . utils . load Property From Resources Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") Ġversion Ġ" 1 . 4 . 2 1 " ĊĠĠĠ Ġid (" maven - publish ") ĊĠĠĠ Ġid (" signing ") ĊĠĠĠ Ġ// Ġid (" org . jetbrains . dok ka ") Ġversion Ġ" 1 . 4 . 2 0 " Ċ } ĊĊ Ċ val Ġcat Code Group Ġ= Ġ" love . fort e . cat code " Ċ val Ġcat Code Version Ġ= Ġ" 1 . 0 . 0 - DEV . 1 " Ċ val Ġcat Code Id Ġ= Ġroot Project . name Ċ Ċ val Ġcredentials Properties Name Ġ= Ġ" credentials . properties " Ċ val Ġcredentials Username Key Ġ= Ġ" son atype . credentials . username " Ċ val Ġcredentials Password Key Ġ= Ġ" son atype . credentials . password " Ċ Ċ println (" credentials Properties Name : Ġ$ credentials Properties Name ") Ċ val Ġfiles Ġ= Ġproject Dir . list Files Ġ{ Ġf : ĠFile Ġ-> Ġf . name . endsWith ( credentials Properties Name ) Ġ} Ċ Ċ val Ġcredentials Properties File : ĠFile Ġ= Ġif ( files ?. size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠ Ġfiles [ 0 ] Ċ } Ġelse Ġ{ ĊĠĠĠ Ġthrow ĠRuntimeException (" Cannot Ġfound Ġfile : Ġ$ credentials Properties Name .") Ċ } Ċ Ċ val Ġcredentials Map Ġ= Ġcredentials Properties File ĊĠĠĠ Ġ. read Lines () ĊĠĠĠ Ġ. associate Ġ{ ĊĠĠĠ Ġval Ġsp Ġ= Ġit . split ( Regex (" =" ), Ġ 2 ) ĊĠĠĠ Ġsp [ 0 ] Ġto Ġsp [ 1 ] Ċ } Ċ Ċ println ( credentials Map ) ĊĊ Ċ group Ġ= Ġcat Code Group Ċ version Ġ= Ġcat Code Version Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } ĊĊĊ Ċ tasks Ġ{ ĊĠĠĠ Ġ// Ġartifacts ( sources Jar ) ĊĠĠĠ Ġval Ġsource Jar Ġ= Ġwith Type < Jar >(). configure Each Ġ{ ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" resource ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġjavadoc Jar Ġ= Ġwith Type < Jar >(). configure Each Ġ{ ĊĠĠĠĠĠĠĠ Ġfrom (" javadoc ") ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" maven ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= Ġcat Code Group ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġcat Code Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġcat Code Version ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / F orte Sc ar let / Cat Code ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( this @ pom . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set (" çĮ « çĮ « çłģ ï¼Į ä¸Ģä¸ª åı¯ çĪ± çļĦ éĢļ çĶ¨ çī¹æ®Ĭ çłģ ãĢĤ / ĠCat Ġcode , Ġthe Ġspirit Ġof ĠC Q Ġcode Ġcontinues , Ġa Ġc ute Ġuniversal Ġspecial Ġcode .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( cat Code Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" MIT ĠLicense ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// opensource . org / licenses / MIT ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" fort e ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroles . set ( listOf (" Single Ġprogrammer ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" F orte Sc ar let ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" F orte Sc ar let @ 1 6 3 . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimezone . set ("+ 8 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" kotlin "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġartifact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġartifact ( source Jar ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsnapshot Ġ= Ġ" https :// oss . son atype . org / content / repositories / snapshots /" ĊĠĠĠĠĠĠĠ Ġval Ġrelease Ġ= Ġ" https :// oss . son atype . org / service / local / staging / deploy / maven 2 /" ĊĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" son atype " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . username Ġ= Ġcredentials Map [ credentials Username Key ]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . password Ġ= Ġcredentials Map [ credentials Password Key ]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( Ġif ( version . toString (). contains (" snapshot ", Ġtrue )) Ġsnapshot Ġelse Ġrelease Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ signing Ġ{ ĊĠĠĠ Ġsign ( publishing . publications [" maven "]) Ċ } Ċ Ċ // Ġdependencies Ġ{ Ċ // ĠĠĠĠ Ġdok ka Html Plugin (" org . jetbrains . dok ka : kotlin - as - java - plugin : 1 . 4 . 2 0 ") Ċ // Ġ} Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . java Parameters Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtest Runs [" test "]. execution Task . configure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse JUnit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġjs ( LEG ACY ) Ġ{ Ġ// Ġxxx . jar ĊĠĠĠ Ġ// Ġjs ( IR ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbrowser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlinux X 6 4 (" linux ") Ġ{ ĊĠĠĠĠĠĠĠ Ġbinaries . shared Lib () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġm ing w X 6 4 (" mingw ") Ġ{ ĊĠĠĠĠĠĠ Ġbinaries . shared Lib () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġmac os X 6 4 (" macos ") Ġ{ ĊĠĠĠĠĠĠĠ Ġbinaries Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġframework () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Lib () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// Ġval Ġhost Os Ġ= ĠSystem . getProperty (" os . name ") ĊĠĠĠ Ġ// Ġval Ġis M ing w X 6 4 Ġ= Ġhost Os . startsWith (" Windows ") ĊĠĠĠ Ġ// Ġval Ġnative Target Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠ Ġhost Os Ġ== Ġ" Mac ĠOS ĠX " Ġ-> Ġmac os X 6 4 (" native ") ĊĠĠĠ Ġ// ĠĠĠĠ Ġhost Os Ġ== Ġ" Linux " Ġ-> Ġlinux X 6 4 (" native ") ĊĠĠĠ Ġ// ĠĠĠĠ Ġis M ing w X 6 4 Ġ-> Ġm ing w X 6 4 (" native ") ĊĠĠĠ Ġ// ĠĠĠĠ Ġelse Ġ-> Ġthrow ĠGradle Exception (" Host ĠOS Ġis Ġnot Ġsupported Ġin ĠKotlin / Native .") ĊĠĠĠ Ġ// Ġ} ĊĊĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - common ")) ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ} ĊĠĠĠĠĠĠĠ Ġcommon Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - annotations - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġcommon Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - common ")) ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - annotations - common ")) ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġj vm Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġj vm Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - junit ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġjs Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - js ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġjs Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - js ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - js ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġnative Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġnative Test Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġlinux Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġlinux Test Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġm ing w Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġm ing w Test Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġmac os Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġmac os Test Ġby Ġgetting ĊĊĊĠĠĠ Ġ} ĊĊĊĊĊĠĠĠ Ġ// Ġtasks . with Type < org . jetbrains . dok ka . gradle . D ok ka Task >(). configure Each Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠ Ġdok ka Source Sets Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ} ĊĊĊĊĠĠĠ Ġ// Ġtargets . all Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Warnings As Errors Ġ= Ġtrue ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĠĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ} Ċ } ĊĊĊ