// Ġtag :: cross [] Ċ import Ġcom . github . jen gel man . gradle . plugins . shadow . Shadow Extension Ċ import Ġcom . github . jen gel man . gradle . plugins . shadow . tasks . Shadow Jar Ċ import Ġrat pack . gradle . Rat pack Extension Ċ Ċ // Ġtag :: root [] Ċ plugins Ġ{ ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 4 . 0 . 1 " Ġapply Ġfalse ĊĠĠĠ Ġid (" io . rat pack . rat pack - java ") Ġversion Ġ" 1 . 5 . 4 " Ġapply Ġfalse Ċ } Ċ // Ġend :: root [] Ċ Ċ // Ġend :: cross [] Ċ sub projects Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java - base ") ĊĠĠĠ Ġconfigure < Java Plugin Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠĠĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠ Ġ} Ċ } Ċ Ċ // Ġtag :: cross [] Ċ project (": domain ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java - library ") ĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġ" api " (" javax . measure : unit - api : 1 . 0 ") ĊĠĠĠĠĠĠĠ Ġ" implementation " (" tec . units : unit - ri : 1 . 0 . 3 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ project (": infra ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java - library ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" com . github . john ren gel man . shadow ") ĊĠĠĠ Ġconfigure < Shadow Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication Distribution . from (" src / dist ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġtasks . named < Shadow Jar >(" shadow Jar ") Ġ{ ĊĠĠĠĠĠĠĠ Ġminimize () ĊĠĠĠ Ġ} Ċ } Ċ Ċ project (": http ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" io . rat pack . rat pack - java ") ĊĠĠĠ Ġval Ġrat pack Ġ= Ġthe < Rat pack Extension >() ĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġ" implementation "( project (": domain ")) ĊĠĠĠĠĠĠĠ Ġ" implementation "( project (": infra ")) ĊĠĠĠĠĠĠĠ Ġ" implementation "( rat pack . dependency (" drop wizard - metrics ")) ĊĠĠĠĠĠĠĠ Ġ" runtime Only " (" org . slf 4 j : slf 4 j - simple : 1 . 7 . 2 5 ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġconfigure < Application Plugin Convention > Ġ{ ĊĠĠĠĠĠĠĠ Ġmain ClassName Ġ= Ġ" example . App " ĊĠĠĠ Ġ} ĊĠĠĠ Ġrat pack . base Dir Ġ= Ġfile (" src / rat pack / base Dir ") Ċ } Ċ // Ġend :: cross [] Ċ