/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 Ġ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 . Ċ Ġ*/ Ċ Ċ // ĠThis Ġfile Ġcreates Ġtasks Ġfor Ġgenerating Ġdocumentation Ġusing ĠD ok ka Ċ // ĠTODO : Ġafter ĠDiff And Docs Ġand ĠDoc l ava Ġare Ġfully Ġob so leted Ġand Ġremoved , Ġrename Ġthis Ġfrom ĠD ok ka Ġto Ġjust ĠDocs Ċ package Ġandroidx . build . dok ka Ċ Ċ import Ġandroidx . build . dependencies . GU AVA _ VERSION Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . tasks . Task Provider Ċ import Ġorg . jetbrains . dok ka . D ok ka Configuration Ċ import Ġorg . jetbrains . dok ka . gradle . D ok ka Android Task Ċ import Ġorg . jetbrains . dok ka . gradle . Package Options Ċ import Ġjava . io . File Ċ import Ġjava . net . URL Ċ import Ġjava . util . Locale Ċ Ċ object ĠD ok ka Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġgenerator Task Name ForType ( language : ĠString Ġ= Ġ"") : ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġformatted Lang a uage Ġ= Ġlanguage . lowercase ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace First Char Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is LowerCase ()) Ġit . title case ( Locale . getDefault ()) Ġelse Ġit . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ" dok ka ${ formatted Lang a uage } Docs " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate D ok ka Task ( ĊĠĠĠĠĠĠĠ Ġproject : ĠProject , ĊĠĠĠĠĠĠĠ Ġhidden Packages : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġlanguage : ĠString , ĊĠĠĠĠĠĠĠ Ġoutput Format : ĠString , ĊĠĠĠĠĠĠĠ Ġd ac Root : ĠString ĊĠĠĠ Ġ): ĠTask Provider < D ok ka Android Task > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġfunction Ġcreates Ġand Ġconfig ures Ġa ĠD ok ka Android Task . ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġmean ings Ġof Ġthese Ġparameters Ġare Ġdocumented Ġat Ġhttps :// github . com / kotlin / dok ka ĊĊĠĠĠĠĠĠĠ Ġval Ġdoc Task Name Ġ= Ġgenerator Task Name ForType ( language ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgu ava Doc Link Ġ= Ġcreate External Documentation Link Mapping ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" package - lists / gu ava / package - list ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// gu ava . dev / releases /$ GU AVA _ VERSION / api / docs /", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġkotlin Lang Link Ġ= Ġcreate External Documentation Link Mapping ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" package - lists / kotlin / package - list ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// kotlin lang . org / api / latest / jvm / stdlib /", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcor outines Core Link Ġ= Ġcreate External Documentation Link Mapping ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" package - lists / coroutines Core / package - list ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// kotlin . github . io / kotlin x . coroutines / kotlin x - coroutines - core /", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġandroid Link Ġ= Ġcreate External Documentation Link Mapping ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" package - lists / android / package - list ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// developer . android . com / reference /", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġproject . tasks . register ( doc Task Name , ĠD ok ka Android Task :: class . java ) Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . moduleName Ġ= Ġproject . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . output Directory Ġ= ĠFile ( project . build Dir , Ġdoc Task Name ). absolute Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . description Ġ= Ġ" Gener ates Ġ$ language Ġdocumentation Ġin Ġthe Ġstyle Ġof Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" d . android . com . Ġ ĠPl aces Ġdocs Ġin Ġ${ task . output Directory }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . output Format Ġ= Ġoutput Format ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . outline Root Ġ= Ġ" android x /" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . dac Root Ġ= Ġd ac Root ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . moduleName Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . external Documentation Links . add ( gu ava Doc Link ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . external Documentation Links . add ( kotlin Lang Link ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . external Documentation Links . add ( coroutines Core Link ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . external Documentation Links . add ( android Link ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( hidden Package Ġin Ġhidden Packages ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopts Ġ= ĠPackage Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopts . prefix Ġ= Ġhidden Package ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopts . suppress Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . per Package Options . add ( opts ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO ( https :// github . com / Kotlin / dok ka / issues / 5 0 8 ) Ġmigrate Ġto Ġ' offline ' Ġwhen Ġit Ġexists ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . no J dk Link Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . no Std lib Link Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . no Android Sdk Link Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . dok ka Fat Jar Ġ= Ġ" org . jetbrains . dok ka : dok ka - fat jar : 0 . 9 . 1 8 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDocumentation Ġfor Ġexternal Ġprojects Ġmay Ġlive Ġin Ġother Ġwebsites . ĊĠĠĠĠ Ġ* ĠIf Ġwe Ġwant Ġto Ġlink Ġto Ġtypes Ġdefined Ġby Ġthose Ġprojects , Ġwe Ġneed Ġto Ġtell ĠD ok ka Ġwhich Ġtypes ĊĠĠĠĠ Ġ* Ġare Ġdefined Ġin Ġwhich Ġprojects , Ġand Ġwhere Ġthose Ġprojects Ġare . ĊĠĠĠĠ Ġ* ĠWe Ġdo Ġthis Ġby Ġproviding Ġa Ġfile Ġnamed Ġpackage - list Ġfor Ġeach Ġsuch Ġproject . ĊĠĠĠĠ Ġ* ĠEach Ġpackage - list Ġfile Ġis Ġcalled Ġan ĠExternal Documentation Link Ġby ĠD ok ka . ĊĠĠĠĠ Ġ* ĠWe Ġdon 't Ġmake Ġuse Ġof ĠD ok ka 's Ġability Ġto Ġautomatically Ġdownload Ġthese Ġfrom Ġthe Ġinternet Ġbecause ĊĠĠĠĠ Ġ* Ġwe Ġwant Ġthe Ġbuild Ġprocess Ġto Ġbe Ġas Ġdeterministic Ġas Ġpossible . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġcreate External Documentation Link Mapping ( ĊĠĠĠĠĠĠĠ Ġlocal Mapping FileName : ĠString , ĊĠĠĠĠĠĠĠ Ġexternal Url : ĠString , ĊĠĠĠĠĠĠĠ Ġproject : ĠProject ĊĠĠĠ Ġ): ĠD ok ka Configuration . External Documentation Link Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠD ok ka Configuration . External Documentation Link . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . url Ġ= ĠURL ( external Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . package List Url Ġ= ĠFile ( project . rootDir , Ġ" docs - public "). to Path () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resolve ( local Mapping FileName ). to Uri (). to URL () ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠ Ġ} Ċ } Ċ