-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Milestone
Description
Task Summary
The build system has accumulated technical debt: libevent is vendored but marked "Not currently used", dispatch scripts have grown organically without consistency, RealSimVersion.h.in uses the old branding, and the generate_version.ps1 script is disconnected from the dispatch pipeline.
Why is this needed?
CommonLib/libevent/is a large vendored library (50+ headers) noted as "Not currently used" independencies.yaml— it should be removed from the repo or gated behind a proper optional flagdispatch.batcalls scripts numbered 1–7 but the scripts are numbered 1–7 with gaps and naming inconsistencies (e.g.,5a_carmaker_components.ps1vs4_virtual_environment.bat)scripts/generate_version.ps1exists but is not called bydispatch.bat— version generation is a manual stepRealSimVersion.h.inusesREALSIM_VERSION_*prefix (tracked in issue [MAINTENANCE] Unify RealSim→FIXS branding in source code, logs, and comments #128 for renaming, but the version generation script also needs updating)build_libsumo.ps1andbuild_sumo_executables.ps1are inscripts/root but not integrated intodispatch.bat- The
dispatch.batbuild log goes toscripts/dispatch/build.logbut there's no CI artifact collection
Scope of Work
1. Remove libevent from CommonLib
- Remove
CommonLib/libevent/directory (50+ vendored headers, never used) - Remove libevent from
dependencies.yaml - Remove libevent build from
scripts/dispatch/1_external_libraries.bat - Verify no source files include libevent headers (grep across all .cpp/.h)
- Add note to doc/BUILD.md about what libevent was and why removed
2. Fix dispatch script numbering and naming
- Renumber scripts for consistency: 1-external, 2-core, 3-vissim, 4-carmaker, 5-dspace, 6-mex, 7-virtualenv, 8-buildinfo
- Ensure
dispatch.batcalls all scripts in correct order - Integrate
scripts/generate_version.ps1into the dispatch pipeline (call before build) - Document each script's purpose in
doc/BUILD.md
3. Integrate libsumo build scripts
- Move
scripts/build_libsumo.ps1andscripts/build_sumo_executables.ps1intoscripts/dispatch/or document them as standalone utilities - Add them to BUILD.md with clear instructions on when to use them
4. Add auto-test
- Add
tests/Python/test_build_system.pythat validates:- No libevent headers are included in any source file
- All dispatch scripts exist and are referenced in dispatch.bat
dependencies.yamlis valid YAML and contains required keysRealSimVersion.h(generated) exists after build with expected macro names
5. Update .gitignore
- Ensure
build/output directory is properly gitignored (except prebuilt binaries intentionally committed) - Add
*.logfor build log files inscripts/dispatch/
Files Involved
CommonLib/libevent/(delete)dependencies.yamlscripts/dispatch/*.bat,*.ps1scripts/dispatch/dispatch.batscripts/generate_version.ps1scripts/build_libsumo.ps1,scripts/build_sumo_executables.ps1doc/BUILD.md.gitignoretests/Python/test_build_system.py(new)
Acceptance Criteria
-
CommonLib/libevent/removed from repo - No source file includes libevent headers
- Dispatch scripts consistently numbered and all called from
dispatch.bat -
generate_version.ps1integrated into build pipeline -
tests/Python/test_build_system.pypasses -
doc/BUILD.mdupdated to reflect changes
Branch and PR Target
- All PRs for this issue should target the
devbranch (notmain) - First ensure
mainis merged intodevbefore starting work
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels