import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġorg . jetbrains . dok ka . gradle . D ok ka Task Ċ Ċ val Ġk ot lint est Version Ġ= Ġ" 3 . 3 . 3 " Ċ val Ġs lf 4 j Version Ġ= Ġ" 1 . 7 . 2 6 " Ċ val Ġartifact Version Ġ= Ġ" 0 . 1 . 0 " Ċ val Ġson atype Repository Url : ĠString Ġby Ġproject Ċ val Ġson atype Username : ĠString Ġby Ġproject Ċ val Ġson atype Password : ĠString Ġby Ġproject Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġ` java - library ` ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 3 . 3 1 " ĊĠĠĠ Ġid (" org . jetbrains . dok ka ") Ġversion Ġ" 0 . 9 . 1 8 " ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġsigning Ċ } Ċ Ċ group Ġ= Ġ" com . github . br ake . smart _ card " Ċ version Ġ= Ġartifact Version Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġj center () Ġ Ġ// Ġdok ka Ċ } Ċ Ċ val Ġtest Ġby Ġtasks . getting ( Test :: class ) Ġ{ ĊĠĠĠ Ġuse JUnit Platform Ġ{ Ġ} Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġtest Implementation (" io . kot lint est : kot lint est - runner - junit 5 :$ kot lint est Version ") ĊĠĠĠ Ġtest Implementation (" io . kot lint est : kot lint est - runner - console :$ kot lint est Version ") ĊĠĠĠ Ġtest Implementation (" org . slf 4 j : slf 4 j - simple :$ slf 4 j Version ") Ċ } Ċ Ċ configure < Java Plugin Convention > Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ tasks . with Type < Kotlin Compile > Ġ{ ĊĠĠĠ Ġkotlin Options . jvm Target Ġ= ĠJava Version . VERSION _ 1 _ 8 . toString () Ġ// " 1 . 8 " Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġjar Ġ{ ĊĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes (" Automatic - Module - Name " Ġto Ġ"${ project . group }.${ project . name }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdok ka Ġ{ ĊĠĠĠĠĠĠĠ Ġj dk Version Ġ= Ġ 8 ĊĠĠĠĠĠĠĠ Ġoutput Format Ġ= Ġ" html " ĊĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġ"$ build Dir / dok ka " ĊĠĠĠĠĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile ( output Directory ). delete Re cursively () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġdok ka Javadoc Ġby Ġcreating ( D ok ka Task :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On . add ( javadoc ) ĊĠĠĠĠĠĠĠ Ġoutput Format Ġ= Ġ" javadoc " ĊĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġ"$ build Dir / javadoc " ĊĠĠĠĠĠĠĠ Ġj dk Version Ġ= Ġ 8 ĊĊĠĠĠĠĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile ( output Directory ). delete Re cursively () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġsources Jar Ġby Ġregistering ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠĠĠĠĠ Ġfrom ( source Sets . main . get (). all Source ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġjavadoc Jar Ġby Ġregistering ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On . add ( dok ka Javadoc ) ĊĠĠĠĠĠĠĠ Ġdepends On . add ( dok ka ) ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠ Ġfrom ( dok ka Javadoc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġartifacts Ġ{ ĊĠĠĠĠĠĠĠ Ġarch ives ( sources Jar ) ĊĠĠĠĠĠĠĠ Ġarch ives ( javadoc Jar ) ĊĠĠĠĠĠĠĠ Ġarch ives ( jar ) ĊĠĠĠ Ġ} Ċ } Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" maven Java ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġproject . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks [" sources Jar "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks [" javadoc Jar "]) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( project . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set (" Smart ĠCard Ġinteracting ĠDSL Ġfor ĠKotlin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / br ake /$ artifactId ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ception Year . set (" 2 0 1 9 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" The ĠApache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" br ake ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Constant in ĠR og an ov ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" rc c box @ gmail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / br ake ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set (" scm : git : git @ github . com : br ake /$ artifactId ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Connection . set ( connection ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( pom . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġchange ĠURLs Ġto Ġpoint Ġto Ġyour Ġrepos , Ġe . g . Ġhttp :// my . org / repo ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreleases Repo Url Ġ= Ġuri ("$ build Dir / repos / releases ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsnapshots Repo Url Ġ= Ġuri ("$ build Dir / repos / snapshots ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġif Ġ( version . toString (). endsWith (" SNAPSHOT ")) Ġsnapshots Repo Url Ġelse Ġreleases Repo Url ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmaven Central Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( son atype Repository Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġson atype Username ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġson atype Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ signing Ġ{ ĊĠĠĠ Ġsign ( publishing . publications [" maven Java "]) Ċ } ĊĊ