How andreas-prouza/obi-extension works
OBI is a VS Code extension for preparing and running IBM i builds from locally maintained sources. Users configure project and profiles, curate source filters, inspect changed sources and dependencies, then invoke a build; OBI transfers required files over SSH and presents build results. The graph includes quick search, build history, configuration and diagnostics as supporting capabilities. README documents change detection and dependency ordering, but sampled source does not expose every internal link in that pipeline, so uncertain wiring is omitted.
Main entry points: OBICommands.ts Build commands · BuildSummary.ts Change and build summary · OBIController.ts Build view · SourceListProvider.ts Source filters
Components 19
Workspace setup
- Project and profiles
src/shared/AppConfig.ts - Workspace access
src/extension/utilities/Workspace.ts - Build view
src/webview/controller/OBIController.ts
Source management
- Source filters
src/webview/source_list/SourceListProvider.ts - Local source index
src/extension/utilities/LocalSourceList.ts - Quick search
src/source-quick-search.ts - Source configuration
src/webview/source_list/SourceListConfig.ts
Build workflow
- Dependency list
src/shared/Dependency.ts - Build commands
src/extension/obi/OBICommands.ts - Build list generation
src/extension/obi/compile_list/createBuildList.ts - Compile-list operations
src/extension/obi/compile_list/modules/add_sources.ts - SSH transfer and commands
src/extension/utilities/SSH_Tasks.ts
Build results
- Change and build summary
src/webview/show_changes/BuildSummary.ts - Compile diagnostics
src/extension/source/compile-diagnostics.ts - Build history
src/webview/build_history/BuildHistoryProvider.ts - Log output
src/webview/show_changes/LogOutputProvider.ts
Other components
- Developer
- VS Code
- IBM i host
Connections 19
- Developer → VS Code: initiates work
- VS Code → Build view: opens view
- Build view → Project and profiles: loads settings
- Build view → VS Code: dispatches commands
- VS Code → Build commands: invokes build actions
- Build commands → Project and profiles: reads settings
- Build commands → Build list generation: generates build list
- Build commands → Dependency list: uses dependencies
- Build commands → SSH transfer and commands: transfers and executes
- SSH transfer and commands → IBM i host: transfers files and runs commands
- Build commands → Change and build summary: opens build results
- Change and build summary → Compile-list operations: updates compile list
- Change and build summary → Compile diagnostics: shows diagnostics
- Source filters → Workspace access: resolves workspace
- Source filters → Local source index: uses source information
- Quick search → Local source index: loads source index
- Quick search → VS Code: opens selected source
- Build history → Workspace access: locates workspace data
- Log output → Change and build summary: supports build output