如何建立匕首本身

时间:2017-06-03 09:41:17

标签: dagger bazel

dagger项目使用bazel.build系统构建。我在Fedora上安装了bazel,它运行并构建了项目,但显然dagger有Java 1.8代码,bazel以java 7为目标。

有一个build_def.bzl文件和java目标版本定义如下:
$filename = $_FILES["userfile"]["name"]; $source = $_FILES["userfile"]["tmp_name"]; $name = explode(".", $filename); $target_path = "Apps/" . $username . "/" . $name[0]. "." .$name[1]; if(move_uploaded_file($source, $target_path)) { $zip = new ZipArchive(); $x = $zip->open($target_path); if ($x === true) { $zip->extractTo("Apps/" . $username . "/"); $zip->close(); } }

将其更改为
SOURCE_7_TARGET_7 = ["-source 1.7 -target 1.7"]

无济于事。 master和rc11分支都因为相同的错误而无法构建(java编译器抱怨目标版本1.7不支持lambda和方法引用)。在wiki或项目页面上没有关于构建匕首的指南,我对bazel不熟悉。我想知道是否必须将类似retrolambda的内容添加到构建运行时路径中,但使用bazel似乎不容易。

示例输出:

SOURCE_7_TARGET_7 = ["-source 1.8 -target 1.8"]

1 个答案:

答案 0 :(得分:0)

我安装了错误的bazel版本。建筑就像跑步一样简单:

bazel build :all

我已经在我的机器上安装了Oracle JDK 8(Fedora)并下载了this release of bazel(bazel-0.5.0-without-jdk-installer-linux-x86_64.sh)。