Is Gennet40 Idempotent?
Idempotence is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application. The concept of idempotence arises in a number of places in abstract algebra (in particular, in the theory of projectors and closure operators) and functional programming (in which it is connected to the property of referential transparency).
In this case if given the same input x into Gennet40.exe (https://www.synergex.com/docs/index.htm#tools/toolsChap4Gennet40utility.htm) am I guaranteed to get the same output y? Specifically I am concerned about the order in which the methods are ordered. We are willing to take a performance hit in order to guarantee consistent ordering/idempotence.
It is critical that this property be preserved as this will allow us to implement a Tattler process to observe when code changes affect these interop ELBs. Leveraging modern DevOps procedures we have thrown this process into CI and then attached a Tattler to alert us when a developer messed up. This is heavily reliant on our ability to quickly perform a diff against the committed version.
I could understand this if we were GENNET'ing some windows level assembly but in our scenario we're GENNET'ing our own code. Looking over the version history across several years and varying OSes we have not experienced this yet.
Maybe to cut to the heart of the matter for us: Can you at very least guarantee the order in which the methods are generated will remain consistent?