package Ġio . type craft . gradle source . sp ig ot Ċ Ċ import Ġio . type craft . gradle source . Rem ap Task Ċ import Ġio . type craft . gradle source . archive Name From Task Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . Task Ċ import Ġorg . gradle . api . plugins . Java Plugin Ċ import Ġorg . gradle . kotlin . dsl . apply Ċ import Ġorg . gradle . kotlin . dsl . create Ċ import Ġorg . gradle . kotlin . dsl . register Ċ Ċ /** Ċ Ġ* ĠPlugin Ġfor Ġremap Ġmo j ang Ġto Ġsp ig ot Ġfor Ġdistribution . Ċ Ġ* Ċ Ġ* ĠThis Ġplugin Ġwill Ġapplies : Ċ Ġ* Ġ- ĠExtensions : Ċ Ġ* ĠĠĠ Ġ- Ġ` sp ig ot Rem ap ` Ġ[ Sp ig ot Rem ap Extension ] Ċ Ġ* Ġ- ĠTasks : Ċ Ġ* ĠĠĠ Ġ- Ġ` remap Mo j ang To Ob f ` Ġ[ Rem ap Task ]: Ġremap Ġyour Ġjar ( moj ang Ġmapping ) Ġto Ġob fuscated . Ċ Ġ* ĠĠĠ Ġ- Ġ` remap Ob f To Sp ig ot ` Ġ[ Rem ap Task ]: Ġremap Ġthe Ġob fuscated Ġjar Ġto Ġsp ig ot ( for Ġdistribution ). ĠDep ends Ġon Ġ` remap Mo j ang To Ob f ` Ġand Ġ` assemble `. Ċ Ġ* Ġ- ĠPlugins : Ċ Ġ* ĠĠĠ Ġ- Ġ` java ` Ġ- Ġ[ Java Plugin ][ org . gradle . api . plugins . Java Plugin ] Ċ Ġ* Ġ- ĠRe positories : Ċ Ġ* ĠĠĠ Ġ- Ġ` maven Local ()` Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠSp ig ot Rem ap Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġapply ( p : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġp . plugin Manager . apply ( Java Plugin :: class ) ĊĠĠĠĠĠĠĠ Ġp . repositories . maven Local Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Sources Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven P om () Ġ// ĠTo Ġresolve Ġ` maven - metadata - local . xml ` ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsp ig ot Rem ap Ext Ġ= Ġp . extensions . create < Sp ig ot Rem ap Extension >(" sp ig ot Rem ap ") ĊĠĠĠĠĠĠĠ Ġval Ġremap Mo j ang To Ob f Ġ= Ġp . tasks . register < Rem ap Task >(" remap Mo j ang To Ob f ") ĊĠĠĠĠĠĠĠ Ġval Ġremap Ob f To Sp ig ot Ġ= Ġp . tasks . register < Rem ap Task >(" remap Ob f To Sp ig ot ") ĊĠĠĠĠĠĠĠ Ġremap Mo j ang To Ob f . configure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin Jar File . set ( sp ig ot Rem ap Ext . source Jar Task . flatMap Ġ{ Ġjar Task Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjar Task . archive File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout Jar File . set ( sp ig ot Rem ap Ext . source Jar Task . flatMap Ġ{ Ġjar Task Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjar Task . destination Directory . map Ġ{ Ġdir Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarchive Name Ġ= Ġarchive Name From Task ( jar Task ). copy ( classifier Ġ= Ġ" ob f ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . file ( archive Name . to FileName ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapping File . set ( p . layout . file ( sp ig ot Rem ap Ext . sp ig ot Version Exact . map Ġ{ Ġver Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNOTE ( det ached Configuration ): Ġhttps :// github . com / spring - gradle - plugins / dependency - management - plugin / issues / 2 2 2 # issuecomment - 4 1 1 0 0 5 1 0 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġp . configurations . det ached Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp . dependencies . create (" org . sp ig ot mc : minecraft - server :${ ver }: maps - moj ang @ txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . single File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreverse . set ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġremap Ob f To Sp ig ot . configure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin Jar File . set ( remap Mo j ang To Ob f . flatMap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . out Jar File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout Jar File . set ( sp ig ot Rem ap Ext . source Jar Task . flatMap Ġ{ Ġjar Task Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjar Task . destination Directory . map Ġ{ Ġdir Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarchive Name Ġ= Ġarchive Name From Task ( jar Task ). copy ( classifier Ġ= Ġ" sp ig ot ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . file ( archive Name . to FileName ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapping File . set ( p . layout . file ( sp ig ot Rem ap Ext . sp ig ot Version Exact . map Ġ{ Ġver Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġp . configurations . det ached Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp . dependencies . create (" org . sp ig ot mc : minecraft - server :${ ver }: maps - sp ig ot @ cs rg ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . single File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġassemble Ġ= Ġp . tasks . get ByName (" assemble ") ĊĠĠĠĠĠĠĠ Ġassemble . depends On ( remap Ob f To Sp ig ot ) ĊĠĠĠ Ġ} Ċ } Ċ