Replies: 2 comments
-
Increase Code Coverage
➡ Referenced in issue #234 |
Beta Was this translation helpful? Give feedback.
0 replies
-
IDE Support
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hack.Commit.Push 2021
https://paris2021.hack-commit-pu.sh
What is Bach?
Bach is a lightweight Java build tool that orchestrates JDK tools for building modular Java projects.
By default, it tries its best to call the right tool at the right time with the right arguments.
Bach encourages developers to explore, learn, and master these foundation tools and
their options in order to allow a good understanding of what is really going on when
building a Java project. Pass those learnings and optimizations as fine-grained tweaks in
a declarative manner back to Bach using pure Java syntax.
Quicker Java and JDK 16 compatibility - Inside Java Newscast #3
Nicolai has Christian Stein on to learn about the latest iteration of his Java build tool Bach
The JDK contains a set of foundation tools but none of them guides developers from
processing Java source files into shippable products: be it a reusable modular JAR file
with its API documentation or an entire custom runtime image.
There exists however an implicit workflow encoded in the available tools and their options.
The (binary) output of one tool is the input of one or more other tools. With the
introduction of modules in Java 9 some structural parts of that workflow got promoted
into the language itself and resulted in explicit module-related tool options.
These structural information, encoded explicitly by developers in Java's module
descriptors (
module-info.java
files), serves as basic building blocks for Bach's project model.Their location within the file tree, their module name, and their
requires
directives areexamples of such information. In addition, Bach defines an annotation named
ProjectInfo
in order to let developers define extra configuration information.
Open Issues Tagged with Help Wanted
Examples
Documentation
Implement dedicated Tool's API
For example, The javac Command
Rinse and repeat for other commonly used flags and options.
Same, same for other tool classes defined in package com.github.sormuras.bach.tool according to their Tool Specifications.
Optimize creation of ModuleDescriptor for DeclaredModuleReference
java.lang.module.ModuleDescriptor#read(...)
com.github.sormuras.bach.api.DeclaredModuleReference#parse(java.lang.String)
Beta Was this translation helpful? Give feedback.
All reactions