package Ġcom . cod it ory . gradle . manifest Ċ Ċ import Ġcom . cod it ory . gradle . manifest . base . System Output Capt urer . Companion . capture System Output Ċ import Ġcom . cod it ory . gradle . manifest . base . Test Project Builder Ċ import Ġcom . cod it ory . gradle . manifest . base . Test Project Builder . Companion . project With Plugins Ċ import Ġcom . cod it ory . gradle . manifest . base . get Manifest Task Ċ import Ġcom . cod it ory . gradle . manifest . base . readFile Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠGenerate Manifest Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġexpected Manifest Keys Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ" Manifest - Version :", ĊĠĠĠĠĠĠĠ Ġ" Main - Class :", ĊĠĠĠĠĠĠĠ Ġ" Implementation - Title :", ĊĠĠĠĠĠĠĠ Ġ" Implementation - Group :", ĊĠĠĠĠĠĠĠ Ġ" Implementation - Version :", ĊĠĠĠĠĠĠĠ Ġ" Built - By :", ĊĠĠĠĠĠĠĠ Ġ" Built - Host :", ĊĠĠĠĠĠĠĠ Ġ" Built - Date :", ĊĠĠĠĠĠĠĠ Ġ" Built - OS :", ĊĠĠĠĠĠĠĠ Ġ" Built - JDK :", ĊĠĠĠĠĠĠĠ Ġ" SCM - Repository :", ĊĠĠĠĠĠĠĠ Ġ" SCM - Branch :", ĊĠĠĠĠĠĠĠ Ġ" SCM - Commit - Message :", ĊĠĠĠĠĠĠĠ Ġ" SCM - Commit - Hash :", ĊĠĠĠĠĠĠĠ Ġ" SCM - Commit - Author :", ĊĠĠĠĠĠĠĠ Ġ" SCM - Commit - Date :" ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġgenerate Ġmanifest Ġto Ġoutput `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġproject Builder (). build () ĊĠĠĠĠĠĠĠ Ġval Ġmanifest Task Ġ= Ġproject . get Manifest Task () ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġmanifest Task . generate Manifest () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( project . readFile (" build / resources / main / META - INF / MAN IFEST . MF ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains ( expected Manifest Keys ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġgenerate Ġmanifest Ġto Ġoutput Ġand Ġidea Ġoutput Ġwhen Ġidea Ġproject Ġis Ġdetected `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġproject Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Ide a Project Files () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġmanifest Task Ġ= Ġproject . get Manifest Task () ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġmanifest Task . generate Manifest () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( project . readFile (" build / resources / main / META - INF / MAN IFEST . MF ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains ( expected Manifest Keys ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġgenerate Ġmanifest Ġto Ġsrc - main - resources Ġon Ġ-- main Ġoption `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġproject Builder (). build () ĊĠĠĠĠĠĠĠ Ġval Ġmanifest Task Ġ= Ġproject . get Manifest Task () ĊĠĠĠĠĠĠĠ Ġmanifest Task . set Main () ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġmanifest Task . generate Manifest () ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( project . readFile (" src / main / resources / META - INF / MAN IFEST . MF ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains ( expected Manifest Keys ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġgenerate Ġmanifest Ġand Ġprint Ġit Ġto Ġstdout Ġon Ġ-- print Ġoption `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġproject Builder (). build () ĊĠĠĠĠĠĠĠ Ġval Ġmanifest Task Ġ= Ġproject . get Manifest Task () ĊĠĠĠĠĠĠĠ Ġmanifest Task . set Print ( true ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġcapture System Output () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest Task . generate Manifest () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . read System Out () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġproject . readFile (" build / resources / main / META - INF / MAN IFEST . MF ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNotEmpty () ĊĊĠĠĠĠĠĠĠ Ġ// Ġand ĊĠĠĠĠĠĠĠ ĠassertThat ( output ). contains ( expected Manifest Keys ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġproject Builder (): ĠTest Project Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġproject With Plugins (" sample - project ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Group (" com . cod it ory ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Git Repository () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Ext Property (" main ClassName ", Ġ" com . cod it ory . Main Class ") ĊĠĠĠ Ġ} Ċ } Ċ