Comments (8)
@isc-tleavitt Purely from the use case scenario described, skipping up-to-date classes sounds reasonable... I'm a bit concerned with whether it would break any usage for non-compile lifecycle or something else...
from ipm.
@SCanzano I view this as an upstream issue in that ##class(%SYSTEM.OBJ).IsUpToDate("Ens.Utils.Tasks.Purge")
definitely should report 1 (and IPM can't do anything about that). This could be worth pursuing via InterSystems Support.
As a workaround, two options:
- Use the Flags attribute on the resource in question to add the
u
flag - e.g.:
<Resource Name="WhateverPackage.PKG" Flags="cku" />
- Use $System.OBJ.SetFlags/SetQualifiers to skip up-to-date by default (https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=RCOS_vsystem_flags_qualifiers#RCOS_vsystem_flags_qualifiers_defaults)
from ipm.
Disclaimer: I haven't used the Flags attribute for ~7 years, but I think it should work!
from ipm.
@isc-tleavitt I dont disagree with you and this may not have solved my issue but the real question is when running install moduleName should it force the recompile of classes which have not changed. Using the u flag would allow it to skip the up to date classes and produce a much faster install time for modules that have a large number of classes and the latest version of the module has only changed a few of the classes in the module,
from ipm.
@SCanzano I view this as an upstream issue in that
##class(%SYSTEM.OBJ).IsUpToDate("Ens.Utils.Tasks.Purge")
definitely should report 1 (and IPM can't do anything about that). This could be worth pursuing via InterSystems Support.As a workaround, two options:
- Use the Flags attribute on the resource in question to add the
u
flag - e.g.:
<Resource Name="WhateverPackage.PKG" Flags="cku" />
- Use $System.OBJ.SetFlags/SetQualifiers to skip up-to-date by default (https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=RCOS_vsystem_flags_qualifiers#RCOS_vsystem_flags_qualifiers_defaults)
My issue with this is I was unaware of an attribute on Flags for Resource . I don't see this documented anywhere. Is Resource documented anywhere and is Flags also documented?
from ipm.
@isc-tleavitt I dont disagree with you and this may not have solved my issue but the real question is when running install moduleName should it force the recompile of classes which have not changed. Using the u flag would allow it to skip the up to date classes and produce a much faster install time for modules that have a large number of classes and the latest version of the module has only changed a few of the classes in the module,
That's a fair question. @isc-kiyer @isc-bzhang do you have any thoughts on this? I think changing the default flags (or making the default compilation flags an IPM setting like default registry, analytics, etc.) in this way would be reasonable.
from ipm.
@SCanzano I view this as an upstream issue in that
##class(%SYSTEM.OBJ).IsUpToDate("Ens.Utils.Tasks.Purge")
definitely should report 1 (and IPM can't do anything about that). This could be worth pursuing via InterSystems Support.
As a workaround, two options:
- Use the Flags attribute on the resource in question to add the
u
flag - e.g.:
<Resource Name="WhateverPackage.PKG" Flags="cku" />
- Use $System.OBJ.SetFlags/SetQualifiers to skip up-to-date by default (https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=RCOS_vsystem_flags_qualifiers#RCOS_vsystem_flags_qualifiers_defaults)
My issue with this is I was unaware of an attribute on Flags for Resource . I don't see this documented anywhere. Is Resource documented anywhere and is Flags also documented?
The resource element in module.xml is documented (insufficiently, without any information on attributes - Flags isn't the only useful one) at https://github.com/intersystems/ipm/wiki/03.-IPM-Manifest-(Module.xml)#elements . I've added the documentation tag to reflect the need for expansion there.
from ipm.
Added documentation here:
https://github.com/intersystems/ipm/wiki/03.-IPM-Manifest-(Module.xml)#resource
from ipm.
Related Issues (20)
- show install date with list action HOT 2
- Improve parsing of load path HOT 1
- Default resource processor ignores percent (%) in path HOT 2
- Released artifact doesn't load correctly for certain docker images HOT 2
- How to suppress license check during image build? HOT 5
- v1 - "zpm exec" not working
- v1 - #{objectscript-expression} syntax removed
- v1 - <Mapping> elements lost on transform from external to internal format
- Expand packages CI workflow to cover *all* packages HOT 3
- Preserve module.xml format on disk upon import to .ZPM document stream
- (Re?)introduce SASchema for .ZPM document type and update for "unwrapped" format HOT 1
- zpm "generate" should follow empty folders
- Ensure WSGI applications (2024.1+) are supported properly in IPM HOT 4
- Deployed code packaging fails with <ILLEGAL VALUE> in package with unit tests
- "All packages" workflow - also test installation with differing values of "delimited identifiers" setting HOT 1
- Document requirements.txt support
- Idea: Extension for VS Code HOT 1
- Missing changes from HS Package Manager during merge HOT 5
- Rename repo setting "DeploymentEnabled"
- Unable to install to a 2022.1 IRIS Server HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipm.