package Ġtop . better code . gradle . publish Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . plugins . Java Plugin Convention Ċ import Ġorg . gradle . api . tasks . javadoc . Gro ovy doc Ċ import Ġorg . gradle . jvm . tasks . Jar Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ æ³¨åĨĮ task Ċ Ġ* Ċ Ġ* Ġ@ author ĠPeter ĠW u Ċ Ġ*/ Ċ class ĠGro ovy Publish Plugin Ġ: ĠAbstract Plugin () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ{@ inheritDoc } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbefore Config igure ( project ) ĊĊĠĠĠĠĠĠĠ Ġproject . tasks . with Type ( Gro ovy doc :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . convention . get Plugin ( Java Plugin Convention :: class . java ). source Sets . get ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" main " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). all Source ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġproject . tasks . create (" javadoc Jar ", ĠJar :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . archive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . from ( project . tasks . get ByName (" groovy doc "). outputs ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġconfig Publish ( project ) ĊĠĠĠ Ġ} Ċ }