The dagger project uses bazel.build system to build. I have installed bazel on Fedora, it runs and builds the project but apparently dagger has Java 1.8 code, and bazel targets java 7.
There is a build_def.bzl file and java target version is defined like so:
SOURCE_7_TARGET_7 = ["-source 1.7 -target 1.7"]
changing it to
SOURCE_7_TARGET_7 = ["-source 1.8 -target 1.8"]
does not help. Both master and rc11 branches fail to build because of the same error (java compiler complains about target version 1.7 not supporting lambda and method reference). There is no guide for building dagger on the wiki or project page and I'm unfamiliar with bazel. I wonder if something like retrolambda must be added to the build runtime path but it doesn't seem easy with bazel.
Sample output:
$> bazel build :all
INFO: Found 8 targets...
ERROR: /home/user/dagger/java/dagger/internal/codegen/BUILD:44:1: Building java/dagger/internal/codegen/libcodegen.jar (116 source files) failed: java failed: error executing command external/local_jdk/bin/java -Xbootclasspath/p:external/bazel_tools/third_party/java/jdk/langtools/javac-9-dev-r4023-2.jar -XX:+TieredCompilation '-XX:TieredStopAtLevel=1' -jar ... (remaining 2 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
java/dagger/internal/codegen/AbstractComponentWriter.java:612: error: method references are not supported in -source 1.7
(use -source 8 or higher to enable method references)
java/dagger/internal/codegen/AnnotationExpression.java:80: error: lambda expressions are not supported in -source 1.7
(use -source 8 or higher to enable lambda expressions)
java/dagger/internal/codegen/AnnotationSpecs.java:41: error: method references are not supported in -source 1.7
(use -source 8 or higher to enable method references)
# Rest of output removed for brevity, the error above repeats for many more files.