intersystems / intersystems/ipm

Module Dependency Version =* does not seem to work

Open
#427 1 comment 0 reactions 1 assignee Claimed by @isc-shuliu View on GitHub
enhancement
Dominant language
ObjectScript
Stars
41
Forks
29
Avg merge
23h 54m
Merged PRs (30d)
4

Description

I have 2 modules

Module A
was verison 1.0.1
and then was republished as version 1.0.2

Module B has a dependency on Module A with the version being *
which according to https://github.com/intersystems/ipm/wiki/03.-IPM-Manifest-(Module.xml)

`Module dependencies, specify each dependent module in element.
In dependant module Version element you can specify an exact version (1.2.36) or use asterisk.
2.2.* - means the latest version grater than 2.2.0 and less then 2.3.0
* - means the latest version`

On my target environment I have Module A installed with version 1.0.1.

When I install Module B which reports to have a dependency on *, the latest version I would expect the process of installing Module B would cause Module A to be upgraded to 1.0.2 but this does not occur.

when BuildDependencyGraph is called in %ZPM.PackageManager.Developer.Module we have

` // Test whether dependency version is a valid semantic version. These are handled in the first pass only.
// Other cases are handled in the second pass only.

Set tIsExactVersion = +##class(%ZPM.PackageManager.Core.SemanticVersion).IsValid(tDep.VersionString) kill %objlasterror
If ((pPass = $$$EXACT) && 'tIsExactVersion) || ((pPass = $$$FUZZY) && tIsExactVersion) {
Continue
}
`

and because tIsExactVersion is 0 this method is Continuing to the next Dependecy.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.