RTC IBMi Builds - How does it decide what is a changed item?
Hi All,
In version 3.0.1 I have created an IBMi build definition to load latest changes. Upon reviewing the logs I can see 3 common options in the log.
1) No object found - need to build.
2) Object not up to date - need to build
3) Object is up to date - no need to build.
Therefore my question is how does it determine if the object is up to date. Is it done by timestamp, binaries or another method?
Has the process changed in version 4, if so how?
Many Thanks
James
3 answers
what kind of build definition specifically? a build specification?
If you said load latest changes during the build the stream is compared to the build workspace and any member new or changed in the stream is part of the build.
I don't understand the reference to 'object' in your post, can you elaborate?
Thanks
Jeff Tickner
Comments
IBM i Build Specification builds determine what to build after doing the loading by doing timestamp comparisons, so it checks every member against the object. Based on what it determines needs to be rebuilt it determines what other objects need to be rebuilt based on the dependency analysis and the information provided in the build specification.
This has changed in 4.0 as the IBM i Build Specification has been deprecated in favor of the IBM i Dependency Build definition. With this new style of build definition we no longer do timestamp comparisons unless you turn that option on. We instead rebuild the members we load and any dependencies that have been detected that need to be rebuilt based on those members.
This has changed in 4.0 as the IBM i Build Specification has been deprecated in favor of the IBM i Dependency Build definition. With this new style of build definition we no longer do timestamp comparisons unless you turn that option on. We instead rebuild the members we load and any dependencies that have been detected that need to be rebuilt based on those members.
Comments
James, even though Kevin used the term object I think he meant member. I'm pretty sure the build never looks at objects in the build library or library list for change information.
I don't think the create date and change date in RTC can be like they are in IBM i where the change date can actually be older then the create date.
I would say that RTC is always looking at change date as if you look at the properties of a member in the stream it just has one timestamp field which is change date based on the properties of the member in the iProject where it matches the last modified field.
Jeff Tickner
Arcad Software