third_party/q3d: namespaces, models, python
This bumps q3d for q3dm support, fixes Rust namespacing and adds Python support (for both the WORKSPACE and q3d).master
parent
46f2d17dad
commit
9ba3f7e131
29
WORKSPACE
29
WORKSPACE
|
@ -2,6 +2,21 @@ workspace(name = "abrasion")
|
|||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
http_archive(
|
||||
name = "rules_python",
|
||||
url = "https://github.com/bazelbuild/rules_python/releases/download/0.3.0/rules_python-0.3.0.tar.gz",
|
||||
sha256 = "934c9ceb552e84577b0faf1e5a2f0450314985b4d8712b2b70717dc679fdc01b",
|
||||
)
|
||||
|
||||
load("@rules_python//python:pip.bzl", "pip_parse")
|
||||
|
||||
pip_parse(
|
||||
name = "pydeps",
|
||||
requirements_lock = "//third_party/py:requirements.txt",
|
||||
)
|
||||
|
||||
load("@pydeps//:requirements.bzl", "install_deps")
|
||||
install_deps()
|
||||
http_archive(
|
||||
name = "rules_rust",
|
||||
strip_prefix = "rules_rust-feaeb7ab712da45c1c94f7950e799d79e367ddeb",
|
||||
|
@ -47,16 +62,14 @@ http_archive(
|
|||
|
||||
http_archive(
|
||||
name = "com_github_q3k_q3d",
|
||||
sha256 = "7631310022b09447279ac227cf84045b8b552f9c863d6fe17d459e506058a9b7",
|
||||
strip_prefix = "q3d-360206ac7487da4a6d86fd22f9e74e8731454f43",
|
||||
sha256 = "6cfbbd8111e78ae99d631f147cc2314f088409320619660c8003cd52bcc4577e",
|
||||
strip_prefix = "q3d-e507a91e1b4966d0d4425e6078f6f1feda68a2b5",
|
||||
urls = [
|
||||
"https://github.com/q3k/q3d/archive/360206ac7487da4a6d86fd22f9e74e8731454f43.tar.gz",
|
||||
"https://github.com/q3k/q3d/archive/e507a91e1b4966d0d4425e6078f6f1feda68a2b5.tar.gz",
|
||||
],
|
||||
build_file = "//third_party/q3d:BUILD",
|
||||
build_file = "//third_party/q3d:BUILD.external",
|
||||
)
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
http_archive(
|
||||
name = "io_bazel_rules_go",
|
||||
sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b",
|
||||
|
@ -72,8 +85,6 @@ go_rules_dependencies()
|
|||
|
||||
go_register_toolchains(version = "1.16")
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
http_archive(
|
||||
name = "com_google_protobuf",
|
||||
sha256 = "9748c0d90e54ea09e5e75fb7fac16edce15d2028d4356f32211cfa3c0e956564",
|
||||
|
@ -83,4 +94,4 @@ http_archive(
|
|||
|
||||
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
|
||||
|
||||
protobuf_deps()
|
||||
protobuf_deps()
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
flatbuffers==2.0
|
|
@ -1,26 +0,0 @@
|
|||
load("@rules_rust//rust:rust.bzl", "rust_library")
|
||||
load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_library_public")
|
||||
|
||||
flatbuffer_library_public(
|
||||
name = "q3d_rs_src",
|
||||
srcs = [
|
||||
":q3d_object.fbs",
|
||||
],
|
||||
outs = [
|
||||
"q3d_object_generated.rs",
|
||||
],
|
||||
language_flag = "--rust",
|
||||
)
|
||||
|
||||
rust_library(
|
||||
name = "q3d_rs",
|
||||
edition = "2018",
|
||||
srcs = [
|
||||
":q3d_rs_src",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
# ew.
|
||||
"@//third_party/cargo:flatbuffers",
|
||||
],
|
||||
)
|
|
@ -0,0 +1,32 @@
|
|||
load("@rules_rust//rust:rust.bzl", "rust_library")
|
||||
|
||||
genrule(
|
||||
name = "q3d_rs_layout",
|
||||
srcs = [
|
||||
"@com_github_q3k_q3d//:q3d_object_generated.rs",
|
||||
"@com_github_q3k_q3d//:q3d_model_generated.rs",
|
||||
"lib_.rs",
|
||||
],
|
||||
outs = [
|
||||
"q3d_object_generated.rs",
|
||||
"q3d_model_generated.rs",
|
||||
"lib.rs",
|
||||
],
|
||||
cmd_bash = """
|
||||
cp $(location @com_github_q3k_q3d//:q3d_object_generated.rs) $(location q3d_object_generated.rs)
|
||||
cp $(location @com_github_q3k_q3d//:q3d_model_generated.rs) $(location q3d_model_generated.rs)
|
||||
cp $(location lib_.rs) $(location lib.rs)
|
||||
""",
|
||||
)
|
||||
|
||||
rust_library(
|
||||
name = "q3d_rs",
|
||||
edition = "2018",
|
||||
srcs = [
|
||||
":q3d_rs_layout",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"@abrasion//third_party/cargo:flatbuffers",
|
||||
],
|
||||
)
|
|
@ -0,0 +1,65 @@
|
|||
load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_library_public")
|
||||
load("@rules_python//python:defs.bzl", "py_library")
|
||||
|
||||
package(
|
||||
default_visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
)
|
||||
|
||||
flatbuffer_library_public(
|
||||
name = "q3d_rs_src",
|
||||
srcs = [
|
||||
":q3d_object.fbs",
|
||||
":q3d_model.fbs",
|
||||
],
|
||||
outs = [
|
||||
"q3d_object_generated.rs",
|
||||
"q3d_model_generated.rs",
|
||||
],
|
||||
language_flag = "--rust",
|
||||
)
|
||||
|
||||
flatbuffer_library_public(
|
||||
name = "q3d_py_src",
|
||||
srcs = [
|
||||
":q3d_object.fbs",
|
||||
":q3d_model.fbs",
|
||||
],
|
||||
flatc_args = [
|
||||
"--gen-object-api",
|
||||
"--gen-compare",
|
||||
"--gen-mutable",
|
||||
"--reflect-names",
|
||||
"--cpp-ptr-type flatbuffers::unique_ptr",
|
||||
],
|
||||
outs = [
|
||||
"Q3DObject/__init__.py",
|
||||
"Q3DObject/Color.py",
|
||||
"Q3DObject/ITriangle.py",
|
||||
"Q3DObject/Material.py",
|
||||
"Q3DObject/Mesh.py",
|
||||
"Q3DObject/Object.py",
|
||||
"Q3DObject/Triangle.py",
|
||||
"Q3DObject/UV.py",
|
||||
"Q3DObject/Vector3.py",
|
||||
"Q3DObject/Vector4.py",
|
||||
"Q3DObject/Vertex.py",
|
||||
"Q3DModel/__init__.py",
|
||||
"Q3DModel/Matrix4.py",
|
||||
"Q3DModel/Model.py",
|
||||
"Q3DModel/Node.py",
|
||||
],
|
||||
language_flag = "--python",
|
||||
)
|
||||
|
||||
py_library(
|
||||
name = "q3d_py",
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
srcs = [
|
||||
":q3d_py_src",
|
||||
],
|
||||
imports = ["."],
|
||||
)
|
|
@ -0,0 +1,5 @@
|
|||
mod q3d_object_generated;
|
||||
mod q3d_model_generated;
|
||||
|
||||
pub use q3d_object_generated::*;
|
||||
pub use q3d_model_generated::*;
|
Loading…
Reference in New Issue