- Java Bindings:
java/src/,java/test/ - Grid Server:
java/src/org/openqa/selenium/grid/
- Build:
bazel build //java/... - Build Grid:
bazel build grid
See java/TESTING.md
- New methods added to existing interfaces must provide a default implementation, if possible.
- Interfaces must not expose the native classes of their implementations.
import java.util.logging.Logger;
private static final Logger LOG = Logger.getLogger(MyClass.class.getName());
LOG.warning("actionable: something needs attention");
LOG.info("useful: server started on port 4444");
LOG.fine("diagnostic: request details for debugging");@Deprecated(forRemoval = true)
public void legacyMethod() { }Use Javadoc for public APIs:
/**
* Brief description.
*
* @param name description
* @return description
* @throws ExceptionType when condition
*/Java files are formatted with google-java-format (Google Java Style Guide).
Run ./go format after changes; it will auto-fix all style issues.
Key rules enforced:
- 2-space indentation (no tabs)
- Column limit: 100 characters
- Braces on the same line (K&R style), including single-statement bodies
- Imports: organized and sorted consistently