import com.github.sormuras.bach.ProjectInfo;
import com.github.sormuras.bach.ProjectInfo.Library;
import com.github.sormuras.bach.ProjectInfo.Main;
import com.github.sormuras.bach.ProjectInfo.Test;
import com.github.sormuras.bach.ProjectInfo.Tweak;

@ProjectInfo(
    name = "bach",
    version = "16-ea",
    library = @Library(requires = {"org.junit.platform.console"}),
    main =
        @Main(
            release = 16,
            generateApiDocumentation = true,
            generateCustomRuntimeImage = true,
            tweaks = {
              @Tweak(
                  tool = "javac",
                  args = {"-encoding", "UTF-8", "-g", "-parameters", "-Werror", "-Xlint"}),
              @Tweak(
                  tool = "jar(com.github.sormuras.bach)",
                  args = {"--main-class", "com.github.sormuras.bach.Main"}),
              @Tweak(
                  tool = "javadoc",
                  args = {
                    "-encoding",
                    "UTF-8",
                    "-windowtitle",
                    "\uD83C\uDFBC Bach",
                    "-header",
                    "\uD83C\uDFBC Bach",
                    "-use",
                    "-linksource",
                    "-notimestamp",
                    "-Werror",
                    "-Xdoclint",
                    "-quiet"
                  })
            }),
    test =
        @Test(
            tweaks =
                @Tweak(
                    tool = "javac",
                    args = {
                      "--patch-module",
                      "com.github.sormuras.bach=com.github.sormuras.bach/main/java"
                    })))
module build {
  requires com.github.sormuras.bach;

  provides com.github.sormuras.bach.BuildProgram with
      build.BachBuildProgram;
}

@@ -139,113 +139,386 @@
 nfo.
-Main;%0Aimport com.github.sormuras.bach.ProjectInfo.Test;%0Aimport com.github.sormuras.bach.ProjectInfo.Tweak
+Library.Link;%0Aimport com.github.sormuras.bach.ProjectInfo.Library.Searcher;%0Aimport com.github.sormuras.bach.ProjectInfo.Main;%0Aimport com.github.sormuras.bach.ProjectInfo.Test;%0Aimport com.github.sormuras.bach.ProjectInfo.Tweak;%0Aimport com.github.sormuras.bach.module.ModuleSearcher.JUnitJupiterSearcher;%0Aimport com.github.sormuras.bach.module.ModuleSearcher.JUnitPlatformSearcher
 ;%0A%0A@
@@ -585,16 +585,24 @@
 ibrary =
+%0A       
  @Librar
@@ -603,16 +603,29 @@
 Library(
+%0A            
 requires
@@ -656,16 +656,448 @@
 console%22
+%7D,%0A            links = %7B%0A              @Link(module = %22org.apiguardian.api%22, target = %22org.apiguardian:apiguardian-api:1.1.0%22),%0A              @Link(module = %22org.opentest4j%22, target = %22org.opentest4j:opentest4j:1.2.0%22),%0A            %7D,%0A            searchers = %7B%0A              @Searcher(with = JUnitJupiterSearcher.class, version = %225.7.0%22),%0A              @Searcher(with = JUnitPlatformSearcher.class, version = %221.7.0%22),%0A            
 %7D),%0A    

Configure JUnit 5.7 for Bach