/* Ċ Ġ* ĠCopyright ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// aws . amazon . com / apache 2 . 0 Ċ Ġ* Ċ Ġ* Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġ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 . Ċ Ġ*/ Ċ Ċ plugins Ġ{ ĊĠ Ġjava ĊĠ Ġ` maven - publish ` ĊĊĠ Ġid (" com . google . cloud . tools . j ib ") ĊĠ Ġid (" com . github . john ren gel man . shadow ") Ċ } Ċ Ċ java Ġ{ ĊĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ base Ġ{ ĊĠ Ġarch ives Base Name Ġ= Ġ" aws - op entelemetry - agent " Ċ } Ċ Ċ val Ġshadow Classpath Ġby Ġconfigurations . creating Ġ{ ĊĠ Ġis Can Be Cons umed Ġ= Ġfalse ĊĠ Ġis Can Be Resolved Ġ= Ġtrue ĊĠ Ġattributes Ġ{ ĊĠĠĠ Ġattribute ( Bund ling . B UN DL ING _ ATTRIBUTE , Ġobjects . named ( Bund ling :: class . java , ĠBund ling . EXTERNAL )) ĊĠ Ġ} Ċ } Ċ Ċ dependencies Ġ{ ĊĠ Ġ// ĠEnsure Ġdependency Ġdoesn 't Ġleak Ġinto ĠPO Ms Ġby Ġusing Ġcompile Only Ġand Ġshadow - specific Ġconfiguration . ĊĠ Ġval Ġagent Dep Ġ= Ġcreate (" io . op entelemetry . java agent ", Ġ" op entelemetry - java agent ", Ġclassifier Ġ= Ġ" all ") ĊĠ Ġshadow Classpath ( agent Dep ) ĊĠ Ġcompile Only ( agent Dep ) Ċ } Ċ Ċ val Ġbundled Projects Ġ= ĠlistOf ( ĊĠ Ġproject (": aws agent provider "), ĊĠ Ġproject (": instrumentation : log 4 j - 2 . 1 3 . 2 "), ĊĠ Ġproject (": instrumentation : log back - 1 . 0 ") Ċ ) Ċ Ċ for Ġ( bund led Ġin Ġbundled Projects ) Ġ{ ĊĠ Ġevaluation Dep ends On ( bund led . path ) Ċ } Ċ Ċ tasks Ġ{ ĊĠ Ġprocess Resources Ġ{ ĊĠĠĠ Ġfor Ġ( bund led Ġin Ġbundled Projects ) Ġ{ ĊĠĠĠĠĠ Ġval Ġtask Ġ= Ġbundled . tasks . named < Jar >(" shadow Jar "). get () ĊĠĠĠĠĠ Ġval Ġprovider Archive Ġ= Ġtask . archive File ĊĠĠĠĠĠ Ġfrom ( zip Tree ( provider Archive )) Ġ{ ĊĠĠĠĠĠĠĠ Ġinto (" inst ") ĊĠĠĠĠĠĠĠ Ġrename ("( ^ .* ) \\. class $", Ġ"$ 1 . class data ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġdepends On ( task ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġshadow Jar Ġ{ ĊĠĠĠ Ġarchive Classifier . set ("") ĊĊĠĠĠ Ġconfigurations Ġ= ĠlistOf ( shadow Classpath ) ĊĊĠĠĠ Ġexclude (" **/ module - info . class ") ĊĊĠĠĠ Ġmerge Service Files (" inst / META - INF / services ") ĊĊĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠ Ġattributes . put (" Main - Class ", Ġ" io . op entelemetry . java agent . Open Telemetry Agent ") ĊĠĠĠĠĠ Ġattributes . put (" Agent - Class ", Ġ" software . amazon . op entelemetry . java agent . bootstrap . Aws Agent Bootstrap ") ĊĠĠĠĠĠ Ġattributes . put (" Pre main - Class ", Ġ" software . amazon . op entelemetry . java agent . bootstrap . Aws Agent Bootstrap ") ĊĠĠĠĠĠ Ġattributes . put (" Can - Re define - Classes ", Ġ" true ") ĊĠĠĠĠĠ Ġattributes . put (" Can - Re transform - Classes ", Ġ" true ") ĊĊĠĠĠĠĠ Ġval Ġversion String Ġ= Ġproject . version . toString () ĊĠĠĠĠĠ Ġval Ġimplementation Version : ĠString ĊĠĠĠĠĠ Ġif Ġ( version String . endsWith ("- SNAPSHOT ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġimplementation Version Ġ= Ġ"${ version String . drop Last ("- SNAPSHOT ". length )} - aws - SNAPSHOT " ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġimplementation Version Ġ= Ġ"$ version String - aws " ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġattributes . put (" Implementation - Version ", Ġimplementation Version ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ val Ġshadow Jar Ġ= Ġtasks . named (" shadow Jar ") Ċ tasks Ġ{ ĊĠ Ġnamed (" jar ") Ġ{ ĊĠĠĠ Ġenabled Ġ= Ġfalse ĊĠĠĠ Ġdepends On (" shadow Jar ") ĊĠ Ġ} ĊĊĠ Ġnamed < Jar >(" shadow Jar ") Ġ{ ĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġnamed < Maven Publication >(" maven ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġartifact ( archive File ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ j ib Ġ{ ĊĠ Ġto Ġ{ ĊĠĠĠ Ġimage Ġ= Ġ" public . ec r . aws / u 0 d 6 r 4 y 4 / aws - op entelemetry - java - base : alpha " ĊĠ Ġ} ĊĠ Ġfrom Ġ{ ĊĠĠĠ Ġimage Ġ= Ġ" public . ec r . aws / u 0 d 6 r 4 y 4 / amazon corre t to - dist ro less : alpha " ĊĠ Ġ} ĊĠ Ġcontainer Ġ{ ĊĠĠĠ Ġapp Root Ġ= Ġ"/ aws - observ ability " ĊĠĠĠ Ġset Entry point (" IN HER IT ") ĊĠĠĠ Ġenvironment Ġ= Ġmap Of (" JAVA _ TOOL _ OPTIONS " Ġto Ġ"- java agent :/ aws - observ ability / classpath / aws - op entelemetry - agent -$ version . jar ") ĊĠ Ġ} ĊĠ Ġcontainer izing Mode Ġ= Ġ" package d " Ċ } Ċ