import Ġjava . net .* Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") Ġversion Ġ" 1 . 3 . 6 1 " ĊĠĠĠ Ġid (" com . github . hi ery nom us . license ") ĊĠĠĠ Ġ` maven - publish ` Ċ } Ċ Ċ apply ( from Ġ= Ġ" gradle / git - version . gradle . k ts ") Ċ apply ( from Ġ= Ġ" gradle / maven - repo . gradle . k ts ") Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġj center () Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġsource Sets . common Main Ġ{ ĊĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - common ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġsource Sets . common Test Ġ{ ĊĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - annotations - common ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġjs Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Common Js () ĊĠĠĠĠĠĠĠ Ġnodejs () ĊĊĠĠĠĠĠĠĠ Ġval Ġmain Ġby Ġcompil ations ĊĠĠĠĠĠĠĠ Ġwith ( main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Json Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ-= ĠlistOf (" kotlin - test ", Ġ" kotlin - test - js - runner ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Source Set Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - js ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġby Ġcompil ations ĊĠĠĠĠĠĠĠ Ġtest . default Source Set Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - js ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjs Dist Ġby Ġregistering ( Copy :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( main . compile All Task Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmust Run After ( check ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ("$ build Dir / js / packages /${ project . name }") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude (" *. hash ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom (" README . md ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinto ("$ build Dir / distributions / npm ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Last Ġ{ destination Dir . resolve (" package . json "). transform Package Json () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( js Dist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmain Ġby Ġcompil ations ĊĠĠĠĠĠĠĠ Ġmain . default Source Set Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - junit ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . junit . jupiter : junit - jupiter : 5 . 5 . 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠFile . transform Package Json () Ġ{ ĊĠĠĠ Ġval Ġgson Ġ= Ġcom . google . gson . Gson Builder () ĊĠĠĠĠĠĠĠ Ġ. set Pretty Print ing () ĊĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġval ĠjsonObject Class Ġ= Ġcom . google . gson . JsonObject :: class . java ĊĠĠĠ Ġval Ġpackage Json Ġ= Ġgson . fromJson ( file (" package . json "). reader (), ĠjsonObject Class ) ĊĠĠĠ Ġval Ġtransformed Json : ĠString Ġ= Ġgson . fromJson ( reader (), ĠjsonObject Class ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġget (" name "). asString ĊĠĠĠĠĠĠĠ Ġadd Property (" name ", Ġ"@ drill 4 j /$ name ") ĊĠĠĠĠĠĠĠ Ġpackage Json . entrySet (). forEach Ġ{ Ġ( k , Ġv ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( k , Ġv ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. let ( gson :: toJson ) ĊĠĠĠ Ġwrite Text ( transformed Json ) Ċ } Ċ Ċ val Ġlicense Format Settings Ġby Ġtasks . register ing ( com . hi ery nom us . gradle . license . tasks . License Format :: class ) Ġ{ ĊĠĠĠ Ġsource Ġ= Ġfile Tree ( project . project Dir ). also Ġ{ ĊĠĠĠĠĠĠĠ Ġinclude (" ** /*. kt ", Ġ"** /*. java ", Ġ"** /*. groovy ") ĊĠĠĠĠĠĠĠ Ġexclude (" ** /. idea ") ĊĠĠĠ Ġ}. as File Tree ĊĠĠĠ Ġheader URI Ġ= ĠURI (" https :// raw . githubusercontent . com / Dr ill 4 J / drill 4 j / develop / COPY RIGHT ") Ċ } Ċ Ċ tasks [" license Format "]. depends On ( license Format Settings ) Ċ