bld-testng/examples/src/bld/java/com/example/ExamplesBuild.java

69 lines
1.8 KiB
Java

package com.example;
import rife.bld.BaseProject;
import rife.bld.BuildCommand;
import rife.bld.extension.JacocoReportOperation;
import rife.bld.extension.TestNgOperation;
import rife.bld.operations.TestOperation;
import java.io.IOException;
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.test;
/**
* Example build.
*
* <pre>{@code
* ./bld compile test
* ./bld compile jacoco
* }</pre>
*/
public class ExamplesBuild extends BaseProject {
public ExamplesBuild() {
pkg = "com.example";
name = "Examples";
version = version(0, 1, 0);
javaRelease = 17;
downloadSources = true;
autoDownloadPurge = true;
repositories = List.of(MAVEN_CENTRAL);
scope(test).include(dependency("org.testng", "testng", version(7, 11, 0)));
}
public static void main(String[] args) {
// Enable detailed logging for the JaCoCo extension
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 ExamplesBuild().start(args);
}
@BuildCommand(summary = "Generates Jacoco Reports")
public void jacoco() throws Exception {
new JacocoReportOperation()
.fromProject(this)
.execute();
}
@Override
public TestOperation<?, ?> testOperation() {
return new TestNgOperation()
.fromProject(this)
.packages("com.example");
}
}