/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . build Ċ Ċ import Ġcom . android . build . gradle . Library Extension Ċ import Ġcom . android . builder . core . Builder Constants Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . plugins . Java Plugin Convention Ċ import Ġorg . gradle . api . tasks . bund ling . Jar Ċ import Ġorg . gradle . kotlin . dsl . get Plugin Ċ Ċ /** Ċ Ġ* ĠSets Ġup Ġa Ġsource Ġjar Ġtask Ġfor Ġan ĠAndroid Ġlibrary Ġproject . Ċ Ġ*/ Ċ fun ĠProject . configure Source Jar For Android ( extension : ĠLibrary Extension ) Ġ{ ĊĠĠĠ Ġextension . library Variants . all Ġ{ Ġvariant Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( variant . build Type . name Ġ!= ĠBuilder Constants . RELEASE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ all Ġ// ĠSkip Ġnon - release Ġbuilds . ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Jar Ġ= Ġtasks . create (" source Jar ${ variant . name . capitalize () }", ĠJar :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . classifier Ġ= Ġ" sources " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . from ( extension . source Sets . get ByName (" main "). java . src Dirs ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġartifacts . add (" archives ", Ġsource Jar ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġup Ġa Ġsource Ġjar Ġtask Ġfor Ġa ĠJava Ġlibrary Ġproject . Ċ Ġ*/ Ċ fun ĠProject . configure Source Jar For Java () Ġ{ ĊĠĠĠ Ġval Ġsource Jar Ġ= Ġtasks . create (" source Jar ", ĠJar :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠ Ġit . classifier Ġ= Ġ" sources " ĊĊĠĠĠĠĠĠĠ Ġval Ġconvention Ġ= Ġconvention . get Plugin < Java Plugin Convention >() ĊĠĠĠĠĠĠĠ Ġit . from ( convention . source Sets . get ByName (" main "). all Source . src Dirs ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġartifacts . add (" archives ", Ġsource Jar ) Ċ } Ċ