Skip to content

feat: add -bypass-deps (-bd) flag#1027

Open
AshokThangavel wants to merge 5 commits intointersystems:mainfrom
AshokThangavel:feat/bypass-deps-flag
Open

feat: add -bypass-deps (-bd) flag#1027
AshokThangavel wants to merge 5 commits intointersystems:mainfrom
AshokThangavel:feat/bypass-deps-flag

Conversation

@AshokThangavel
Copy link
Contributor

@AshokThangavel AshokThangavel commented Jan 8, 2026

Description

This PR introduces a new flag, -bypass-deps, for the load, install and update commands. This allows users to skip the IPM dependency in installation phase. This is the ObjectScript equivalent of the existing -bypass-py-deps flag. and -bpd alias for skip python dependency.

fixed: #1026

Changes

  • Command Definitions: Added the bypass-deps modifier to the load and install commands in the XML metadata.
  • Lifecycle Logic: Modified the dependency resolution logic to check for the BypassDeps parameter. If set, the system logs the bypass and skips the graph-building and resolution phases.
  • Consistency: Aligned naming conventions with -bypass-py-deps to ensure a predictable CLI experience.

Testing Performed

  1. Baseline Test: Ran load <path> without the flag. Verified all dependencies (e.g., irisjwt) were initialized and activated.
  2. Bypass Test: Ran load <path> -bypass-deps. Verified the "Building dependency graph" was skipped and only the target module was reloaded.

- Added -bypass-deps modifier to load and install commands.
- Added 'bd' alias for IPM dependency bypass.
- Added 'bpd' alias for existing -bypass-py-deps flag.
- Included unit tests for environment-agnostic validation
@AshokThangavel AshokThangavel changed the title feat: add -bypass-deps (-bd) flag and -bpd alias for Python feat: add -bypass-deps (-bd) flag Jan 8, 2026
Copy link
Collaborator

@isc-dchui isc-dchui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the tests are failing on GitHub CI:

FAILED Test.PM.Unit.CLI:TestByPassIPMDepsModifier: AssertStatusOK - Module demo-module1 is loaded without -bypass-deps => ERROR #5001: Could not find satisfactory version of objectscript-math in any repositories. Required by: demo-module1 1.0.0: 0.0.5
FAILED Test.PM.Unit.CLI:TestByPassIPMDepsModifier: AssertTrue - Dependency module 'objectscript-math' should be installed when loading without -bypass-deps.
FAILED Test.PM.Unit.CLI:TestByPassIPMDepsModifier: AssertTrue - Dependency module 'LocalizationLab' should be installed when loading without -bypass-deps.
FAILED Test.PM.Unit.CLI:TestByPassIPMDepsModifier: AssertTrue - Dependency module 'irisjwt' should be installed when loading without -bypass-deps.

I'd say typically it's easier to just build your own modules and dependencies for integration tests like these. See tests\integration_tests\Test\PM\Integration\_data\uninstall for an example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add -bypass-deps flag to skip ObjectScript dependency resolution

2 participants