diff mbox series

[RFC,16/30] classes: add vendor class

Message ID 20250211155958.RFC.16.a23c043b-97fa-49d9-a050-be7ae8efbe51@changeid
State New
Headers show
Series Add vendor support for go, npm and rust | expand

Commit Message

Stefan Herbrechtsmeier Feb. 11, 2025, 3 p.m. UTC
From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>

Add a common vendor class with a prototype for the do_vendor_resolve
task and common dump and load SRC_URI_FILES function.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
---

 meta/classes-recipe/vendor.bbclass | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 meta/classes-recipe/vendor.bbclass

Comments

Peter Kjellerstedt Feb. 11, 2025, 7:17 p.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Stefan Herbrechtsmeier via lists.openembedded.org
> Sent: den 11 februari 2025 16:00
> To: openembedded-core@lists.openembedded.org
> Cc: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> Subject: [OE-core] [RFC PATCH 16/30] classes: add vendor class

I suggest using "vendor.bbclass: Add bbclass" as subject instead.
And similar for the other commits that add new classes or updates 
existing ones. Using the actual file name as prefix makes it easier 
to see what is actually added/modified.

//Peter

> 
> From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> 
> Add a common vendor class with a prototype for the do_vendor_resolve
> task and common dump and load SRC_URI_FILES function.
> 
> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> ---
> 
>  meta/classes-recipe/vendor.bbclass | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>  create mode 100644 meta/classes-recipe/vendor.bbclass
> 
> diff --git a/meta/classes-recipe/vendor.bbclass b/meta/classes-
> recipe/vendor.bbclass
> new file mode 100644
> index 0000000000..a99c9a3121
> --- /dev/null
> +++ b/meta/classes-recipe/vendor.bbclass
> @@ -0,0 +1,28 @@
> +# Copyright (C) 2025 Weidmueller Interface GmbH & Co. KG
> +# Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +VENDOR_DIR = "${WORKDIR}/vendor"
> +
> +inherit early
> +
> +def vendor_dump_uris(filepath, uris, d):
> +    import oe.vendor
> +    with open(filepath, "w") as f:
> +        oe.vendor.dump(f, uris)
> +
> +def vendor_load_uris(filepath, d):
> +    import oe.vendor
> +    with open(filepath, "r") as f:
> +        return oe.vendor.load(f)
> +
> +
> +python vendor_do_vendor_resolve() {
> +    vendor_dump_uris([], d)
> +}
> +addtask vendor_resolve after do_patch_early before do_fetch
> +do_vendor_resolve[cleandirs] += "${VENDOR_DIR}"
> +
> +EXPORT_FUNCTIONS do_vendor_resolve
> --
> 2.39.5
diff mbox series

Patch

diff --git a/meta/classes-recipe/vendor.bbclass b/meta/classes-recipe/vendor.bbclass
new file mode 100644
index 0000000000..a99c9a3121
--- /dev/null
+++ b/meta/classes-recipe/vendor.bbclass
@@ -0,0 +1,28 @@ 
+# Copyright (C) 2025 Weidmueller Interface GmbH & Co. KG
+# Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+VENDOR_DIR = "${WORKDIR}/vendor"
+
+inherit early
+
+def vendor_dump_uris(filepath, uris, d):
+    import oe.vendor
+    with open(filepath, "w") as f:
+        oe.vendor.dump(f, uris)
+
+def vendor_load_uris(filepath, d):
+    import oe.vendor
+    with open(filepath, "r") as f:
+        return oe.vendor.load(f)
+
+
+python vendor_do_vendor_resolve() {
+    vendor_dump_uris([], d)
+}
+addtask vendor_resolve after do_patch_early before do_fetch
+do_vendor_resolve[cleandirs] += "${VENDOR_DIR}"
+
+EXPORT_FUNCTIONS do_vendor_resolve