Adds new structure for output: split into /examples/ and /packages/

wch-ch32v003
Felix "xq" Queißner 8 months ago
parent b1e189b4f4
commit b26ccf6645

@ -182,7 +182,7 @@ fn get_declared_bsps() []const ImportedBSP {
pub const EnvironmentInfo = struct {
/// package name of the build package (optional)
self: []const u8 = "microzig",
self: []const u8 = "microzig-build",
/// package name of the core package (optional)
core: []const u8 = "microzig-core",

@ -1,14 +1,18 @@
.{
.name = "microzig-espressif-esp-examples",
.name = "microzig-nxp-lpc-examples",
.version = "0.1.0",
.dependencies = .{
.microzig = .{
.url = "https://github.com/ZigEmbeddedGroup/microzig/archive/c6c9ec4516f57638e751141085c9d76120990312.tar.gz",
.hash = "1220af58bdaa721b8189f3a7adfda660517dd354463463388e96d69fe4ceccf80b92",
.url = "https://public.devspace.random-projects.net/packages/microzig-build.tar.gz",
.hash = "1220db1de385b765aa45a04719c199d7ab8306fcca6ac1a12b487ed589a69d05a665",
},
.esp = .{
.url = "https://github.com/ZigEmbeddedGroup/espressif-esp/archive/59b8ca028915c0d6224ec88dbf4db19afbb559c0.tar.gz",
.hash = "1220f6e5f22416fdc63442cd8869fcaa35f9abf30d878ea3d80073176677dc6f8a65",
.@"microzig-core" = .{
.url = "https://public.devspace.random-projects.net/packages/microzig-core.tar.gz",
.hash = "1220f72de650278d4184dd4a43992189246b520a5c137b54fca05d7a44df8b828267",
},
.@"microzig-bsp-rp2040" = .{
.url = "https://public.devspace.random-projects.net/packages/board-support/raspberrypi/rp2040.tar.gz",
.hash = "1220b170e56d2bd85b96bd8b7f40f2890cf9926da2fcb86967e466a3c87486f31c43",
},
},
}

@ -1,5 +1,5 @@
const std = @import("std");
const MicroZig = @import("microzig");
const MicroZig = @import("microzig-build");
pub fn build(b: *std.Build) void {
const microzig = MicroZig.createBuildEnvironment(b, .{});

@ -2,21 +2,21 @@
.name = "microzig-nxp-lpc-examples",
.version = "0.1.0",
.dependencies = .{
.microzig = .{
.url = "https://public.devspace.random-projects.net/microzig-build.tar.gz",
.hash = "122001f3340f37dd4d80e0942407a503e6a429d7c92a05221a3e301b947782933bdb",
.@"microzig-build" = .{
.url = "https://public.devspace.random-projects.net/packages/microzig-build.tar.gz",
.hash = "1220e1f1446176832d84fa9b132022a45ea8c21fbaba8a51d787c6b4e0f1d455f4ed",
},
.@"microzig-core" = .{
.url = "https://public.devspace.random-projects.net/microzig-core.tar.gz",
.hash = "1220460c2625fb17a075b17f720f275d814544e1f20a8f89e7e542ff3e0d697111bc",
.url = "https://public.devspace.random-projects.net/packages/microzig-core.tar.gz",
.hash = "12207d2604083d414ff3ca7c31c5dc76ee8ac3f1292a22e40ffe8b87fcadbd2e3c7d",
},
.@"microzig-bsp-nxp" = .{
.url = "https://public.devspace.random-projects.net/board-support/nxp/lpc.tar.gz",
.hash = "122005a181f1d51aaffd02748ab5d910597f328a12b37e68dc5a1993716d9888ccc5",
.url = "https://public.devspace.random-projects.net/packages/board-support/nxp/lpc.tar.gz",
.hash = "1220ac0aa694eaa23cda453bb5a2711b22d8f58f10a9e0389502439cbb881987fa95",
},
.@"microzig-bsp-rp2040" = .{
.url = "https://public.devspace.random-projects.net/board-support/raspberrypi/rp2040.tar.gz",
.hash = "122094dceb25e3664b96a6b482529fdc254582048d82fcec7126678e5e021b26af2c",
.url = "https://public.devspace.random-projects.net/packages/board-support/raspberrypi/rp2040.tar.gz",
.hash = "12204d3998590f27f19aa31a8a250576b4314b29bbeb97628e264b42cb488ee6fad7",
},
},
}

@ -21,6 +21,7 @@ import tarfile
from marshmallow import fields as mm_fields
from typing import Optional, Any
LEGAL_PACKAGE_NAME = re.compile("^[A-Za-z]$")
VERBOSE = False
ALL_FILES_DIR=".data"
@ -41,6 +42,7 @@ class PackageType(StrEnum):
build = "build"
core = "core"
board_support = "board-support"
example = "example"
@dataclass_json
@dataclass
@ -290,6 +292,9 @@ def main():
packages = {}
validation_ok = True
PACKAGES_ROOT = PurePosixPath("packages")
EXAMPLES_ROOT = PurePosixPath("examples")
for meta_path in REPO_ROOT.rglob("microzig-package.json"):
assert meta_path.is_file()
@ -305,25 +310,39 @@ def main():
if pkg.package_type == PackageType.build:
pkg.out_rel_dir = PurePosixPath(".")
pkg.out_rel_dir = PACKAGES_ROOT
pkg.out_basename = pkg.package_name
elif pkg.package_type == PackageType.core:
pkg.out_rel_dir = PurePosixPath(".")
pkg.out_rel_dir = PACKAGES_ROOT
pkg.out_basename = pkg.package_name
# Implicit dependencies:
pkg.inner_dependencies.add("microzig-build") # core requires the build types
elif pkg.package_type == PackageType.board_support:
parsed_pkg_name = PurePosixPath(pkg.package_name)
parsed_pkg_name = PurePosixPath( pkg.package_name)
pkg.out_rel_dir = "board-support" / parsed_pkg_name.parent
pkg.out_rel_dir = PACKAGES_ROOT / "board-support" / parsed_pkg_name.parent
pkg.out_basename = parsed_pkg_name.name
# Implicit dependencies:
pkg.inner_dependencies.add("microzig-build") # BSPs also require build types
pkg.inner_dependencies.add("microzig-core") # but also the core types (?)
elif pkg.package_type == PackageType.example:
parsed_pkg_name = PurePosixPath( pkg.package_name)
pkg.package_name = "examples:" + pkg.package_name # patch the name so we can use the same name for BSP and Example
pkg.out_rel_dir = EXAMPLES_ROOT / parsed_pkg_name.parent
pkg.out_basename = parsed_pkg_name.name
# Implicit dependencies:
pkg.inner_dependencies.add("microzig-build") # BSPs also require build types
pkg.inner_dependencies.add("microzig-core") # but also the core types (?)
else:
assert False

@ -38,6 +38,7 @@ const MetaData = struct {
@"board-support",
core,
build,
example,
};
package_name: []const u8,

Loading…
Cancel
Save