首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在我的应用程序中包含Skylark配置解析器?

如何在我的应用程序中包含Skylark配置解析器?
EN

Stack Overflow用户
提问于 2018-03-05 18:49:07
回答 1查看 561关注 0票数 3

我喜欢用受限的Python代码配置Java应用程序的想法。这种受限的Python配置语言被称为Skylark。我找到了一个Go library for Skylark support,但我需要一个Java。

我可以将bazel项目或buck项目中的哪些maven工件添加到我的pom.xml依赖项部分,以获得Skylark支持库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-11 05:24:32

在解决#2367之前,下面的方法对我很有效。使用Bazel构建Skylark_deploy.jar并将其作为系统依赖项添加到您的Maven项目中。从本质上讲,这会导致您的类路径变得一团糟,但它可以快速设置并支持实际的实验。

警告:云雀尚未稳定其应用编程接口,因此com.google.devtools下的任何内容都可能发生未经宣布的更改。

用Bazel构建Skylark_deploy.jar

代码语言:javascript
代码运行次数:0
运行
复制
git clone git@github.com:bazelbuild/bazel.git --depth 1
cd bazel
bazel build //src/main/java/com/google/devtools/skylark:Skylark
bazel build //src/main/java/com/google/devtools/skylark:Skylark_deploy.jar

检查它是否正常工作,下面两个命令中的任何一个都应该启动Skylark REPL

代码语言:javascript
代码运行次数:0
运行
复制
bazel-bin/src/main/java/com/google/devtools/skylark/Skylark
java -jar bazel-bin/src/main/java/com/google/devtools/skylark/Skylark_deploy.jar

Skylark_deploy.jar目前的大小是9.4MiB。

将其作为系统依赖项添加到Maven项目中

代码语言:javascript
代码运行次数:0
运行
复制
<systemPath>${project.basedir}/lib/Skylark_deploy.jar</systemPath>

或者使用Gradle

代码语言:javascript
代码运行次数:0
运行
复制
compile files('lib/Skylark_deploy.jar')

有关最初的灵感,请参阅https://github.com/bazelbuild/bazel/blob/0f99c3cc0b7b82e198c8f365254493fc4713edcd/src/main/java/com/google/devtools/starlark/cmd/Starlark.java。(Skylark一度更名为Starlark。)

先看看https://github.com/google/copybara/blob/d4f9bd37ddf6eb51f1072ffb4e61332f7c410624/java/com/google/copybara/config/SkylarkParser.java,再看看https://github.com/google/copybara/blob/d4f9bd37ddf6eb51f1072ffb4e61332f7c410624/java/com/google/copybara/Core.java,可以获得更好的灵感。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49108709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档