|[cross-project-issues-dev] Re: Versioning tools for download and evaluation (Eclipse Build Workshop)|
Hi Pascal,Thanks for your reply and the pointers. It's always helpful to have something to use as the starting point in the code. I've been looking further at how qualifiers are replaced during building and I have some questions.
When the genereatedVersionSuffix is turned on, the documentation claims that the qualifier suffix is a 'sum' of the version qualifiers of included features and plugins. When looking at the code (FeatureBuildScriptGenerator.generateFeatureVersionSuffix) that appears to be true for all plugins but only for feature references that in turn also have a suffix and it appears that only the suffix from those references takes part in the calculation and not the qualifier as a whole.
My questions are:1. Why is only the qualifier considered when calculating the suffix and not the version string as a whole? 2. Why are only those features that has a suffix included? And why the suffix only?
I somehow suspect that the answer will be that the whole calculation is attempting to detect plugin-changes and that those will ripple up through the suffixes when features reference other features and perhaps I'm missing the obvious but I have some concerns with this approach:
1. Assume I have a feature that have some root files to be copied to the product root. I change some file and I also change the timestamp part of the qualifier. The set of included features/plugins stays exactly the same. If I've understood it correctly, this means that the suffix generation will produce the exact same result. The suffix generation of a feature that references my feature will thus miss the fact that the timestamp has changed.
2. In an ever expanding world of features and bundles, it is not too far fetched to assume that I'll include other features and bundles that I have no control over and that follow some slightly different version scheme. The current constraints on the input to the calculation will prevent such a mix from using generated suffixes.
Kind Regards, Thomas Hallgren Pascal Rapicault wrote:
The generation of qualifier is not bound to cvs. It is obtained from the "tag" found in the map file associated with the entry being built (the map file has supports for multiple repositories - see IFetchFactory and the associated extension point). If the value is not present, then we attempt to get it from the qualifier tag in the build.properties, and in the last case the value is generated. This replacement of the qualifier is done when we are building the state of the target we are building (see PDEState.udpateVersionNumber())HTH PaScaL
Back to the top