@@ -9,44 +9,49 @@ package(default_visibility = ["//visibility:public"])
99# Define WIT interfaces
1010wit_library (
1111 name = "sensor_interfaces" ,
12- srcs = ["wit/sensor.wit" ],
1312 package_name = "sensor:interfaces" ,
13+ srcs = ["wit/sensor.wit" ],
1414)
1515
1616wit_library (
17- name = "ai_interfaces" ,
17+ name = "ai_interfaces" ,
18+ package_name = "ai:interfaces" ,
1819 srcs = ["wit/ai.wit" ],
1920 deps = [":sensor_interfaces" ],
20- package_name = "ai:interfaces" ,
2121)
2222
2323# Build components with multiple profiles
2424rust_wasm_component_bindgen (
2525 name = "camera_sensor" ,
2626 srcs = ["src/camera.rs" ],
27+ profiles = [
28+ "debug" ,
29+ "release" ,
30+ ], # Build both variants
2731 wit = ":sensor_interfaces" ,
28- profiles = ["debug" , "release" ], # Build both variants
2932)
3033
3134rust_wasm_component_bindgen (
3235 name = "object_detection" ,
3336 srcs = ["src/detection.rs" ],
37+ profiles = [
38+ "debug" ,
39+ "release" ,
40+ "custom" ,
41+ ], # Three variants
3442 wit = ":ai_interfaces" ,
35- profiles = ["debug" , "release" , "custom" ], # Three variants
3643)
3744
3845# Compose system with mixed profiles for development
3946wac_compose (
4047 name = "development_system" ,
41- components = {
42- ":camera_sensor_debug" : "camera" , # Use debug profile
43- ":object_detection_release" : "ai" , # Use release profile
44- },
45- profile = "debug" , # Default profile
4648 component_profiles = {
4749 "ai" : "release" , # Use optimized AI component even in debug
4850 },
49- use_symlinks = True , # Save disk space
51+ components = {
52+ ":camera_sensor_debug" : "camera" , # Use debug profile
53+ ":object_detection_release" : "ai" , # Use release profile
54+ },
5055 composition = """
5156 package dev:composition;
5257
@@ -65,6 +70,9 @@ wac_compose(
6570
6671 export ai as main;
6772 """ ,
73+ profile = "debug" , # Default profile
74+ tags = ["manual" ], # Skip in //... builds until WAC is properly configured
75+ use_symlinks = True , # Save disk space
6876)
6977
7078# Production composition - all release builds
@@ -74,23 +82,23 @@ wac_compose(
7482 ":camera_sensor_release" : "camera" ,
7583 ":object_detection_release" : "ai" ,
7684 },
85+ composition_file = "production.wac" ,
7786 profile = "release" , # All components use release profile
87+ tags = ["manual" ], # Skip in //... builds until WAC is properly configured
7888 use_symlinks = True ,
79- composition_file = "production.wac" ,
8089)
8190
8291# Custom mixed composition for testing
8392wac_compose (
84- name = "test_system" ,
93+ name = "test_system" ,
94+ component_profiles = {
95+ "camera" : "debug" , # Debug camera for detailed logging
96+ "ai" : "custom" , # Custom optimized AI
97+ },
8598 components = {
8699 ":camera_sensor_debug" : "camera" ,
87100 ":object_detection_custom" : "ai" ,
88101 },
89- component_profiles = {
90- "camera" : "debug" , # Debug camera for detailed logging
91- "ai" : "custom" , # Custom optimized AI
92- },
93- use_symlinks = False , # Copy files for isolated testing
94102 composition = """
95103 package test:composition;
96104
@@ -100,4 +108,6 @@ wac_compose(
100108 export camera;
101109 export ai;
102110 """ ,
103- )
111+ tags = ["manual" ], # Skip in //... builds until WAC is properly configured
112+ use_symlinks = False , # Copy files for isolated testing
113+ )
0 commit comments