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

@ProjectInfo(
    name = "bach",
    main =
        @Main(
            modules = "com.github.sormuras.bach",
            release = 16,
            generateApiDocumentation = true,
            tweaks = {
              @Tweak(
                  tool = "javac",
                  args = {"-encoding", "UTF-8", "-g", "-parameters", "-Werror", "-Xlint"}),
              @Tweak(
                  tool = "javadoc",
                  args = {
                    "-encoding",
                    "UTF-8",
                    "-windowtitle",
                    "\uD83C\uDFBC Bach",
                    "-header",
                    "\uD83C\uDFBC Bach",
                    "-use",
                    "-linksource",
                    "-notimestamp",
                    "-Werror",
                    "-Xdoclint",
                    "-quiet"
                  })
            }))
module build {
  requires com.github.sormuras.bach;

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

@@ -82,20 +82,181 @@
 ectInfo.
-Main
+Library;%0Aimport com.github.sormuras.bach.ProjectInfo.Library.Link;%0Aimport com.github.sormuras.bach.ProjectInfo.Main;%0Aimport com.github.sormuras.bach.ProjectInfo.Test
 ;%0Aimport
@@ -342,12 +342,15 @@
     
-main
+library
  =%0A 
@@ -357,20 +357,23 @@
        @
-Main
+Library
 (%0A      
@@ -382,45 +382,162 @@
     
-modules = %22com.github.sormuras.bach%22,
+requires = %7B%22org.junit.platform.console%22, %22junit%22%7D,%0A            links = @Link(module = %22junit%22, target = %22junit:junit:4.13.1%22)),%0A    main =%0A        @Main(
 %0A   
@@ -1298,16 +1298,301 @@
       %7D)
+,%0A    test =%0A        @Test(%0A            tweaks =%0A                @Tweak(%0A                    tool = %22javac%22,%0A                    args = %7B%0A                      %22--patch-module%22,%0A                      %22com.github.sormuras.bach=com.github.sormuras.bach/main/java%22%0A                    %7D))
 )%0Amodule

Configure library and test space for build Bach itself