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")
|
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(
|
http_archive(
|
||||||
name = "rules_rust",
|
name = "rules_rust",
|
||||||
strip_prefix = "rules_rust-feaeb7ab712da45c1c94f7950e799d79e367ddeb",
|
strip_prefix = "rules_rust-feaeb7ab712da45c1c94f7950e799d79e367ddeb",
|
||||||
|
@ -47,16 +62,14 @@ http_archive(
|
||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "com_github_q3k_q3d",
|
name = "com_github_q3k_q3d",
|
||||||
sha256 = "7631310022b09447279ac227cf84045b8b552f9c863d6fe17d459e506058a9b7",
|
sha256 = "6cfbbd8111e78ae99d631f147cc2314f088409320619660c8003cd52bcc4577e",
|
||||||
strip_prefix = "q3d-360206ac7487da4a6d86fd22f9e74e8731454f43",
|
strip_prefix = "q3d-e507a91e1b4966d0d4425e6078f6f1feda68a2b5",
|
||||||
urls = [
|
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(
|
http_archive(
|
||||||
name = "io_bazel_rules_go",
|
name = "io_bazel_rules_go",
|
||||||
sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b",
|
sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b",
|
||||||
|
@ -72,8 +85,6 @@ go_rules_dependencies()
|
||||||
|
|
||||||
go_register_toolchains(version = "1.16")
|
go_register_toolchains(version = "1.16")
|
||||||
|
|
||||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "com_google_protobuf",
|
name = "com_google_protobuf",
|
||||||
sha256 = "9748c0d90e54ea09e5e75fb7fac16edce15d2028d4356f32211cfa3c0e956564",
|
sha256 = "9748c0d90e54ea09e5e75fb7fac16edce15d2028d4356f32211cfa3c0e956564",
|
||||||
|
@ -83,4 +94,4 @@ http_archive(
|
||||||
|
|
||||||
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
|
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