package Ġio . john son lee . gradle . publish Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . plugins . Java Plugin Ċ import Ġorg . gradle . api . publish . Publication Container Ċ import Ġorg . gradle . api . publish . maven . Maven Publication Ċ import Ġorg . gradle . api . tasks . Source Set Container Ċ import Ġorg . gradle . api . tasks . bund ling . Jar Ċ import Ġorg . gradle . kotlin . dsl . get Ċ import Ġorg . gradle . kotlin . dsl . register Ċ import Ġorg . gradle . kotlin . dsl . the Ċ import Ġorg . gradle . util . Gradle Version Ċ Ċ open Ġclass ĠKotlin Library Publish Plugin Ġ: ĠAbstract Library Publish Plugin () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠProject . create Maven Public ations ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublications : ĠPublic ation Container , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig : ĠMaven Publication . () Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpublications . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister (" maven Java ", ĠMaven Publication :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Sets Ġ= Ġthe < Source Set Container >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjavadoc Jar Ġ= Ġtasks . register (" package Javadoc For ${ name . capitalize () }", ĠJar :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (" dok ka Html ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( tasks [" dok ka Html "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsources Jar Ġ= Ġtasks . register (" package Sources For ${ name . capitalize () }", ĠJar :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( Java Plugin . CLASSES _ TASK _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( source Sets [" main "]. all Source ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Gradle Version . current () Ġ>= ĠGR AD LE _ 6 _ 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( javadoc Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( javadoc Jar . get ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar . get ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . invoke ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ