我喜欢用受限制的Python代码配置我的Java应用程序。这种受限制的Python配置语言名为Skylark。我找到了Go library for Skylark support,但我需要一个Java。
我可以将来自bazel项目或buck项目的maven工件添加到我的pom.xml
依赖项部分以获取Skylark支持库吗?
答案 0 :(得分:1)
在解决#2367之前,以下内容对我有用。使用Bazel构建Skylark_deploy.jar并将其作为系统依赖项添加到Maven项目中。这导致你的类路径本质上是一团糟,但它可以快速设置并实现实际实验。
警告:Skylark尚未稳定其API,因此com.google.devtools下的任何内容都会受到突击更改。
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
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。
<systemPath>${project.basedir}/lib/Skylark_deploy.jar</systemPath>
compile files('lib/Skylark_deploy.jar')
请参阅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获取更好的灵感。