Describe the bug
If module.xml defines a package as MyPackage.MySubPackage.PKG but the actual classes are MyPackage.MySubpackage.MyClass.cls, then install will work just fine, but uninstall will fail to find the classes and fail to remove them. Uninstall will actually succeed without any errors in this case.
To Reproduce
Steps to reproduce the behavior:
- Define a module.xml with a package resource like
MyPackage.MySubPackage.PKG
- Include classes like
MyPackage.MySubpackage.MyClass.cls, with the casing difference
- Load the module
- Uninstall the module
- Note the classes don't get deleted
Expected behavior
The classes get deleted even though the case is different
System information (please complete the following information):
- IPM version: 0.10.6
- IRIS version: Unknown
- OS: Unknown
- Docker or local: Unknown
Workaround
Ensure your package and classes are actually named with the same case.
Dev notes
%IPM.Storage.ResourceReference.GetChildren() uses %Library.RoutineMgr_StudioOpenDialog, which is case-sensitive. We should replace with a query on %Dictionary.ClassDefinition instead.
Describe the bug
If module.xml defines a package as
MyPackage.MySubPackage.PKGbut the actual classes areMyPackage.MySubpackage.MyClass.cls, then install will work just fine, but uninstall will fail to find the classes and fail to remove them. Uninstall will actually succeed without any errors in this case.To Reproduce
Steps to reproduce the behavior:
MyPackage.MySubPackage.PKGMyPackage.MySubpackage.MyClass.cls, with the casing differenceExpected behavior
The classes get deleted even though the case is different
System information (please complete the following information):
Workaround
Ensure your package and classes are actually named with the same case.
Dev notes
%IPM.Storage.ResourceReference.GetChildren() uses %Library.RoutineMgr_StudioOpenDialog, which is case-sensitive. We should replace with a query on %Dictionary.ClassDefinition instead.