Disabled Dokka for testing

This commit is contained in:
Erik C. Thauvin 2024-07-11 19:55:07 -07:00
parent c3c4ae20ad
commit 7720a93d0a
Signed by: erik
GPG key ID: 776702A6A2DA330E

View file

@ -33,11 +33,11 @@ package net.thauvin.erik;
import rife.bld.BuildCommand; import rife.bld.BuildCommand;
import rife.bld.Project; import rife.bld.Project;
import rife.bld.extension.*; import rife.bld.extension.CompileKotlinOperation;
import rife.bld.extension.dokka.DokkaOperation; import rife.bld.extension.DetektOperation;
import rife.bld.extension.dokka.LoggingLevel; import rife.bld.extension.GeneratedVersionOperation;
import rife.bld.extension.dokka.OutputFormat; import rife.bld.extension.JacocoReportOperation;
import rife.bld.extension.dokka.SourceSet; import rife.bld.extension.kotlin.CompilerPlugin;
import rife.bld.operations.exceptions.ExitStatusException; import rife.bld.operations.exceptions.ExitStatusException;
import rife.bld.publish.PomBuilder; import rife.bld.publish.PomBuilder;
import rife.bld.publish.PublishDeveloper; import rife.bld.publish.PublishDeveloper;
@ -48,6 +48,9 @@ import rife.tools.exceptions.FileUtilsErrorException;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List; 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.*; import static rife.bld.dependencies.Repository.*;
import static rife.bld.dependencies.Scope.*; import static rife.bld.dependencies.Scope.*;
@ -62,25 +65,27 @@ public class AkismetBuild extends Project {
version = version(1, 1, 0, "SNAPSHOT"); version = version(1, 1, 0, "SNAPSHOT");
javaRelease = 11; javaRelease = 11;
downloadSources = true; downloadSources = true;
autoDownloadPurge = true; autoDownloadPurge = true;
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL); repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL);
var okHttp = version(4, 12, 0); var okHttp = version(4, 12, 0);
final var kotlin = version(1, 9, 24); final var kotlin = version(2, 0, 0);
scope(compile) scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin)) .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin))
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk7", kotlin))
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", kotlin))
.include(dependency("com.squareup.okhttp3", "okhttp", okHttp)) .include(dependency("com.squareup.okhttp3", "okhttp", okHttp))
.include(dependency("com.squareup.okhttp3", "logging-interceptor", okHttp)) .include(dependency("com.squareup.okhttp3", "logging-interceptor", okHttp))
.include(dependency("org.jetbrains.kotlinx", "kotlinx-serialization-json-jvm", version(1, 6, 3))); .include(dependency("org.jetbrains.kotlinx", "kotlinx-serialization-json", version(1, 7, 1)));
scope(provided) scope(provided)
.include(dependency("jakarta.servlet", "jakarta.servlet-api", version(6, 0, 0))) .include(dependency("jakarta.servlet", "jakarta.servlet-api", version(6, 1, 0)));
.include(dependency("org.jetbrains.kotlin", "kotlin-serialization-compiler-plugin", kotlin));
scope(test) scope(test)
.include(dependency("org.mockito", "mockito-core", version(5, 12, 0))) .include(dependency("org.mockito", "mockito-core", version(5, 12, 0)))
.include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin)) .include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 3)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 2))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 3)))
.include(dependency("com.willowtreeapps.assertk", "assertk-jvm", version(0, 28, 1))); .include(dependency("com.willowtreeapps.assertk", "assertk-jvm", version(0, 28, 1)));
publishOperation() publishOperation()
@ -119,26 +124,27 @@ public class AkismetBuild extends Project {
public static void main(String[] args) { public static void main(String[] args) {
// Enable detailed logging for the Kotlin extension // Enable detailed logging for the Kotlin extension
// var level = Level.ALL; var level = Level.ALL;
// var logger = Logger.getLogger("rife.bld.extension"); var logger = Logger.getLogger("rife.bld.extension");
// var consoleHandler = new ConsoleHandler(); var consoleHandler = new ConsoleHandler();
// consoleHandler.setLevel(level); consoleHandler.setLevel(level);
// logger.addHandler(consoleHandler); logger.addHandler(consoleHandler);
// logger.setLevel(level); logger.setLevel(level);
// logger.setUseParentHandlers(false); logger.setUseParentHandlers(false);
new AkismetBuild().start(args); new AkismetBuild().start(args);
} }
@BuildCommand(summary = "Compiles the Kotlin project") @BuildCommand(summary = "Compiles the Kotlin project")
@Override @Override
public void compile() throws IOException { public void compile() throws Exception {
genver(); genver();
new CompileKotlinOperation() var op = new CompileKotlinOperation()
.fromProject(this) .fromProject(this)
.plugins(libProvidedDirectory(), CompileKotlinPlugin.KOTLIN_SERIALIZATION) .plugins(CompilerPlugin.KOTLIN_SERIALIZATION);
.execute(); op.compileOptions().verbose(true);
op.execute();
} }
@BuildCommand(summary = "Checks source with Detekt") @BuildCommand(summary = "Checks source with Detekt")
@ -158,63 +164,69 @@ public class AkismetBuild extends Project {
.execute(); .execute();
} }
@BuildCommand(summary = "Generates documentation in HTML format") // @BuildCommand(summary = "Generates documentation in HTML format")
public void docs() throws ExitStatusException, IOException, InterruptedException { // public void docs() throws ExitStatusException, IOException, InterruptedException {
new DokkaOperation() // new DokkaOperation()
.fromProject(this) // .fromProject(this)
.loggingLevel(LoggingLevel.INFO) // .loggingLevel(LoggingLevel.INFO)
.moduleName("Akismet Kotlin") // .moduleName("Akismet Kotlin")
.moduleVersion(version.toString()) // .moduleVersion(version.toString())
.outputDir("docs") // .outputDir("docs")
.outputFormat(OutputFormat.HTML) // .outputFormat(OutputFormat.HTML)
.sourceSet( // .sourceSet(
new SourceSet() // new SourceSet()
.src(srcMainKotlin.getAbsolutePath()) // .src(srcMainKotlin)
.classpath(compileClasspathJars()) // .classpath(compileClasspathJars())
.classpath(providedClasspathJars()) // .classpath(providedClasspathJars())
.srcLink(srcMainKotlin.getAbsolutePath(), "https://github.com/ethauvin/" + name // .srcLink(srcMainKotlin, "https://github.com/ethauvin/" + name
+ "/tree/master/src/main/kotlin/", "#L") // + "/tree/master/src/main/kotlin/", "#L")
.includes("config/dokka/packages.md") // .includes("config/dokka/packages.md")
.jdkVersion(javaRelease) // .jdkVersion(javaRelease)
.externalDocumentationLinks("https://jakarta.ee/specifications/platform/9/apidocs/", // .externalDocumentationLinks("https://jakarta.ee/specifications/platform/9/apidocs/",
"https://jakarta.ee/specifications/platform/9/apidocs/package-list") // "https://jakarta.ee/specifications/platform/9/apidocs/package-list")
//
) // )
.execute(); // .execute();
} // }
@BuildCommand(summary = "Generates version class") @BuildCommand(summary = "Generates version class")
public void genver() { public void genver() throws Exception {
new GeneratedVersionOperation() new GeneratedVersionOperation()
.fromProject(this) .fromProject(this)
.projectName("Akismet Kotlin") .projectName("Akismet Kotlin")
.packageName(pkg + ".akismet") .packageName(pkg + ".akismet")
.classTemplate(new File(workDirectory(), "version.txt")) .classTemplate("version.txt")
.directory(srcMainKotlin) .directory(srcMainKotlin)
.extension(".kt") .extension(".kt")
.execute(); .execute();
} }
@BuildCommand(summary = "Generates JaCoCo Reports") @BuildCommand(summary = "Generates JaCoCo Reports")
public void jacoco() throws IOException { public void jacoco() throws Exception {
new JacocoReportOperation() new JacocoReportOperation()
.fromProject(this) .fromProject(this)
.sourceFiles(srcMainKotlin) .sourceFiles(srcMainKotlin)
.execute(); .execute();
} }
@Override // @Override
public void javadoc() throws ExitStatusException, IOException, InterruptedException { // public void javadoc() throws ExitStatusException, IOException, InterruptedException {
new DokkaOperation() // new DokkaOperation()
.fromProject(this) // .fromProject(this)
.loggingLevel(LoggingLevel.INFO) // .loggingLevel(LoggingLevel.INFO)
.moduleName("Bitly Shorten") // .moduleName("Bitly Shorten")
.moduleVersion(version.toString()) // .moduleVersion(version.toString())
.outputDir(new File(buildDirectory(), "javadoc")) // .outputDir(new File(buildDirectory(), "javadoc"))
.outputFormat(OutputFormat.JAVADOC) // .outputFormat(OutputFormat.JAVADOC)
.globalLinks("https://jakarta.ee/specifications/platform/9/apidocs/", // .globalLinks("https://jakarta.ee/specifications/platform/9/apidocs/",
"https://jakarta.ee/specifications/platform/9/apidocs/package-list") // "https://jakarta.ee/specifications/platform/9/apidocs/package-list")
.execute(); // .execute();
// }
@BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory")
public void pomRoot() throws FileUtilsErrorException {
PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(),
new File(workDirectory, "pom.xml"));
} }
@Override @Override
@ -222,10 +234,4 @@ public class AkismetBuild extends Project {
super.publish(); super.publish();
pomRoot(); pomRoot();
} }
@BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory")
public void pomRoot() throws FileUtilsErrorException {
PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(),
new File(workDirectory, "pom.xml"));
}
} }