/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 2 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . ir . backend . js . ic Ċ Ċ import Ġjava . io . File Ċ Ċ class ĠSrc File Artifact ( val Ġsrc FilePath : ĠString , Ġast Artifact FilePath : ĠString , Ġast Binary Data : ĠByteArray ?) Ġ{ ĊĠĠĠ Ġclass ĠArtifact ( private Ġval Ġartifact FilePath : ĠString , Ġprivate Ġvar Ġbinary Data : ĠByteArray ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfetch Binary Ast (): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binary Data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinary Data Ġ= ĠFile ( artifact FilePath ). if Exists Ġ{ Ġread Bytes () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbinary Data ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġast File Artifact Ġ= ĠArtifact ( ast Artifact FilePath , Ġast Binary Data ) Ċ } Ċ Ċ class ĠK Lib Artifact ( val ĠmoduleName : ĠString , Ġval Ġfile Artifacts : ĠList < Src File Artifact >) Ċ Ċ abstract Ġclass ĠArtifact Cache Ġ{ ĊĠĠĠ Ġprotected Ġval Ġbinary Ast s Ġ= Ġmutable Map Of < String , ĠByteArray >() ĊĊĠĠĠ Ġfun Ġsave Binary Ast ( src Path : ĠString , Ġast Data : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinary Ast s [ src Path ] Ġ= Ġast Data ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġfetch Artifacts (): ĠK Lib Artifact Ċ } Ċ