package com.example.demo; import rife.bld.BuildCommand; import rife.bld.WebProject; import rife.bld.extension.BootJarOperation; import rife.bld.extension.BootWarOperation; import java.util.List; import java.util.logging.ConsoleHandler; import java.util.logging.Level; import java.util.logging.Logger; import static rife.bld.dependencies.Repository.MAVEN_CENTRAL; import static rife.bld.dependencies.Scope.*; public class DemoApplicationBuild extends WebProject { public DemoApplicationBuild() { pkg = "com.example.demo"; name = "DemoApplication"; mainClass = "com.example.demo.DemoApplication"; version = version(0, 1, 0); javaRelease = 17; autoDownloadPurge = true; repositories = List.of(MAVEN_CENTRAL); scope(compile) .include(dependency("org.springframework.boot:spring-boot-starter:3.2.3")) .include(dependency("org.springframework.boot:spring-boot-starter-actuator:3.2.3")) .include(dependency("org.springframework.boot:spring-boot-starter-web:3.2.3")); scope(test) .include(dependency("org.springframework.boot:spring-boot-starter-test:3.2.3")) .include(dependency("org.junit.jupiter:junit-jupiter:5.10.2")) .include(dependency("org.junit.platform:junit-platform-console-standalone:1.10.2")); scope(standalone) .include(dependency("org.springframework.boot:spring-boot-loader:3.2.3")); } public static void main(String[] args) { var level = Level.ALL; var logger = Logger.getLogger("rife.bld.extension"); var consoleHandler = new ConsoleHandler(); consoleHandler.setLevel(level); logger.addHandler(consoleHandler); logger.setLevel(level); logger.setUseParentHandlers(false); new DemoApplicationBuild().start(args); } @BuildCommand(summary = "Creates an executable JAR for the project") public void bootjar() throws Exception { new BootJarOperation() .fromProject(this) .execute(); } @BuildCommand(summary = "Creates an executable WAR for the project") public void bootwar() throws Exception { new BootWarOperation() .fromProject(this) .execute(); } }