import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" ru . ile as ile . kotlin . publisher ") ĊĠĠĠ Ġkotlin (" jvm ") ĊĠĠĠ Ġkotlin (" plugin . serialization ") Ċ } Ċ Ċ project . version Ġ= Ġroot Project . version Ċ Ċ val Ġkotlin Version : ĠString Ġby Ġroot Project Ċ val Ġs lf 4 j Version : ĠString Ġby Ġroot Project Ċ val Ġjunit Version : ĠString Ġby Ġroot Project Ċ Ċ tasks . with Type ( Kotlin Compile :: class . java ) Ġ{ ĊĠĠĠ Ġval Ġkotlin Language Level : ĠString Ġby Ġroot Project ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġlanguage Version Ġ= Ġkotlin Language Level ĊĠĠĠ Ġ} Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġfun Ġcompile Only Kotlin ( module : ĠString , Ġversion : ĠString ? Ġ= Ġkotlin Version ) Ġ= Ġcompile Only ( kotlin ( module , Ġversion )) ĊĊĠĠĠ Ġ// ĠInternal Ġdependencies ĊĠĠĠ Ġapi ( project (": api ")) ĊĠĠĠ Ġapi ( project (": lib ")) ĊĠĠĠ Ġapi ( project (": common - dependencies ")) ĊĊĠĠĠ Ġ// ĠStandard Ġdependencies ĊĠĠĠ Ġcompile Only ( kotlin (" stdlib ")) ĊĠĠĠ Ġcompile Only ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġcompile Only ( kotlin (" reflect ")) ĊĊĠĠĠ Ġ// ĠScript ing Ġand Ġcompilation - related Ġdependencies ĊĠĠĠ Ġcompile Only Kotlin (" script ing - common ") ĊĠĠĠ Ġcompile Only Kotlin (" script ing - jvm ") ĊĠĠĠ Ġcompile Only Kotlin (" script ing - compiler - impl ") ĊĠĠĠ Ġimplementation ( kotlin (" script ing - dependencies ", Ġkotlin Version ) Ġas ĠString ) Ġ{ Ġis Trans itive Ġ= Ġfalse Ġ} ĊĊĠĠĠ Ġ// ĠSerialization Ġcompiler Ġplugin Ġ( for Ġnotebooks , Ġnot Ġfor Ġkernel Ġcode ) ĊĠĠĠ Ġcompile Only Kotlin (" serialization - un sh aded ") ĊĊĠĠĠ Ġ// ĠLogging ĊĠĠĠ Ġcompile Only (" org . slf 4 j : slf 4 j - api :$ slf 4 j Version ") ĊĊĠĠĠ Ġ// ĠTesting Ġdependencies : Ġkotlin - test Ġand ĠJ Unit Ġ 5 ĊĠĠĠ Ġtest Implementation ( kotlin (" test ")) ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter - api :$ junit Version ") ĊĠĠĠ Ġtest Runtime Only (" org . junit . jupiter : junit - jupiter - engine :$ junit Version ") Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠĠĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevents (" passed ", Ġ" skipped ", Ġ" failed ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġbuild Properties Ġby Ġtasks . register ing Ġ{ ĊĠĠĠ Ġinputs . property (" version ", Ġroot Project . find Property (" python Version ")) ĊĊĠĠĠ Ġval Ġoutput Dir Ġ= Ġfile ( project . build Dir . to Path (). resolve (" resources "). resolve (" main ")) ĊĠĠĠ Ġoutputs . dir ( output Dir ) ĊĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput Dir . mkdir s () ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= Ġinputs . properties . entries . map Ġ{ Ġit . to Pair () Ġ}. to Mutable List () ĊĠĠĠĠĠĠĠ Ġval Ġproperties File Ġ= Ġoutput Dir . resolve (" compiler . properties ") ĊĠĠĠĠĠĠĠ Ġproperties File . write Text ( properties . join ToString ("") Ġ{ Ġ"${ it . first } =${ it . second }\ n " Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . process Resources Ġ{ ĊĠĠĠ Ġdepends On ( build Properties ) Ċ } Ċ Ċ kotlin Public ations Ġ{ ĊĠĠĠ Ġpublication Ġ{ ĊĠĠĠĠĠĠĠ Ġpublication Name Ġ= Ġ" compiler " ĊĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġ" kotlin - jupyter - shared - compiler " ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Implementation Ġof ĠREPL Ġcompiler Ġand Ġpre processor Ġfor ĠJupyter Ġdialect Ġof ĠKotlin Ġ( IDE - compatible )" ĊĠĠĠĠĠĠĠ ĠpackageName Ġ= Ġartifact Id ĊĠĠĠ Ġ} Ċ } Ċ