问题标签 [buck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
394 浏览

java - 来自不同降压模块的注释处理器的聚合输出

我有一个由几个 BUCK 模块组成的项目。每个模块使用相同的注释处理器为每个注释类生成一个文件。为简单起见,对于每个带注释的类:

将在同一个包中生成一个类:

假设我有两个这样的模块:module1module2

最后,我有一个module3依赖于上述两个模块的。

该模块包含另一个注释:

我正在尝试使用相同的注释处理器(也可以是单独的)来生成一个引用所有先前生成的文件的类(由于类标记为@Marker.

问题是注释处理器分别为每个模块运行,当在 module3 中运行时,注释处理器不会“看到”其他模块中生成的文件

我尝试使用注释处理器Filer创建一个资源文件并编写所有生成文件的类名,但是这个资源文件也是按模块创建的。

聚合/访问来自不同模块的生成代码的最佳方法是什么?

0 投票
1 回答
935 浏览

android-studio - android studio上带有buck项目的无效类根

我正在尝试将几个库(例如 fresco)添加到降压项目中。这是添加壁画的代码:

maven/BUCK

例如,这是一个由 生成的文件buck project --ide INTELLIJ

.idea/libraries/library_maven_com_facebook_fresco__fresco.xml

aar 文件存在于所述目录中。

但我明白了invalid classes root

alt

完整项目https://github.com/vinz243/snappy

0 投票
0 回答
564 浏览

android - React Native 集成测试 Android

我无法理解集成测试如何与 android 一起运行。我浏览了文档并设置了他们的示例项目,并且可以成功运行测试。但是,我对如何将这些部分组合在一起为我自己的项目创建自己的测试完全感到困惑。我已经完成了对 iOS 的集成测试,我希望重用我为测试编写的 javascript 文件,但是在示例应用程序中看起来他们制作了新的测试文件......?无论如何,我会解释我可能有缺陷的理解,如果有人能帮我把这些部分放在一起,我将不胜感激。

我的理解如下:
1. 调用集成测试脚本,首先检查是否安装了 buck:

2. 脚本调用 build gradle 中的一些方法来编译原生代码。(不确定我的 gradle 脚本是否应该具有相同的实现或与此略有不同)

3. 然后脚本构建一些测试包,其中包括用户想要运行的所有测试。我也不确定这些测试的位置。然后放置一些输出。

4. 然后使用一些 buck 文件,加载依赖并准备运行,最后安装到设备上。不确定我是否需要依赖项或者是否应该完全复制此文件。

  1. 最后一个启动已加载并编译的测试。

因此,您可以从我不那么精明的解释中猜到,我很困惑要复制哪些文件才能使某些东西像我自己的测试一样最低限度地工作。对此领域的任何建议或指导将不胜感激。参考我可能忽略的文档也可以。大多数情况下,我会很欣赏这些测试如何运行的某种流程,这样我就可以实现一个非常简单的来扩展自己。(所以我应该复制哪些文件,我应该更改哪些文件等)。

0 投票
1 回答
409 浏览

buck - 由 genrule 生成的 Java 文件未包含在编译过程中

我在使用 buck gen_rule 时遇到问题。

我有一个可执行的jar文件,叫做SqlDelightBin,它可以生成Java源文件,在gradle构建过程中,会有一个gradle任务来运行这个jar文件,生成的Java文件可以正确编译。

但是当我用一个gen_rule包装这个jar文件,命名为sqldelight_devDebug,并将它添加到我的android_library的deps列表中,虽然这个gen_rule运行正常,但是生成的Java文件没有在这轮编译,所以找不到生成的类,当我再次运行 buck build 命令时,它成功了。

我的 gen_rule 是:

它运行 jar 文件,它将 SQL 文件编译src/*/sqldelight/成 dir 中的 Java 文件/Users/piasy/src/OkBuck/app/build/okbuck/sqldelight,为了让 BUCK 认为这个 genrule 成功,我们创建了$OUT带有 SQL 文件列表的文件。

我的 android_library 是:

0 投票
1 回答
699 浏览

android - facebook buck & NDK 问题

我是 buck 新手,但我正在尝试让 buck 运行(因为我想开始使用核素)。

好吧,我尝试运行buck --version它已经给了我这个输出。

的内容/Users/mlostek/Library/Android/sdk/ndk-bundle/source.properties

顺便说一句,我已经通过 android studio 安装了 NDK,而不是通过 brew!并brew doctor说外面一切都好。

更新1

当我运行brew install --HEAD buck时,buck build 的日志文件会告诉我以下内容(ant build 运行良好)

如何让降压运行的任何提示

0 投票
1 回答
2498 浏览

facebook - ReactNative 项目的 .buckconfig

我正在玩本地反应。我读了很多关于buckbuild系统的东西。现在我正在尝试将这两者联系起来(以充分发挥核素编辑器的潜力)。

有没有人告诉我如何buckconfig为现有的 react native 项目生成文件?这甚至可以自动实现吗?如果没有,是否有人有 buckbuild 和 react native 的工作项目?

我也很感激所有关于 react native 和 buckbuild 的教程。

0 投票
0 回答
676 浏览

ios - 使用 Buck 和 Nuclide 功能响应本机构建

我目前正在评估 Nuclide Facebook Editor 以编写 react-native 项目。为了利用 Nuclide 的所有功能,我必须使用 Buck 构建工具构建我的 rn 项目。不幸的是,我无法找到详细的解释,也没有一个示例项目来实现这一点。

我在这里找到了这个如何使用 buck 为 iOS 和 Android 构建 react-native 应用程序,但我仍然缺少一些东西

github上的同样问题

谢谢!

0 投票
0 回答
179 浏览

android - Buckbuild 教程(为了获得核素和 react.native)运行

一段时间以来,我一直在开发本机反应。现在我想从 Visual Studio 代码切换到 atom。我找到了核素插件。

现在我正在尝试获取此 ide 的完整功能集。但我被困在 buckbuild 的设置上。

实际上我不知道如何将 buckbuild 与我现有的 react native 项目集成。这一切都与跟踪和错误有关。好吧,这会花费太多时间。我发现 buck 的文档真的很糟糕。

有没有人有一些链接到一些“工作”的 github 存储库或一些解释将 buck 集成到反应原生项目中的教程?

(我强调工作,因为我找到了一些链接,但它们都没有工作)

0 投票
1 回答
228 浏览

c++ - 在 Travis 服务器上使用 Buck 构建

我正在尝试使用 Travis CI 服务器上的 C++ 目标(通过 GitHub)使用 Buck 构建测试,buck test有两件事我无法弄清楚。

  1. 我必须在 Travis 服务器上安装 Buck。如何使用 OS X 服务器而不是 Ubuntu 服务器?我在 Travis 文档中读到它也提供了 OS X 服务器。这样我就可以继续做brew tap facebook/fb && brew install buck,我会完成的。
  2. Buck 要求我.buckconfig在存储库的文件中指定要使用的编译器。但是,这仅接受要使用的编译器的绝对路径。Travis CI 配置似乎只提供了一个包含编译器路径的环境变量。但是环境变量不能在.buckconfig. 有没有一种方法可以安装编译器(完全支持 C++14 的编译器)并获取它在 Travis 服务器上的安装路径?

我强调了这些问题,以便那些对我提到的所有事情(Buck 和 Travis CI)没有经验的人仍然可以更轻松地回答这个问题。

0 投票
1 回答
143 浏览

android - buck build 因常量表达式所需错误而失败

我正在尝试使用 okbuck 将我的 Android Gradle 项目转换为 Buck。但是,当我构建项目时,许多常量表达式所需的错误会破坏构建过程。我知道我可以用“if”替换“switch”语句来修复错误。还有其他方法可以强制 Buck 忽略常量表达式检查吗?谢谢。