May be able to use ocramius/package-versions to determine what the package version of browscap/browscap requested is, and generate the build number properly. Would mean using a proper version number though, I'm thinking perhaps we form it from the current one i.e. next is 6029 so would be come 6.0.29. That way we can track BC breaks in browscap/browscap by bumping major version, and each patch version can simply be the new build release (means we can also drop the stupid BUILD_NUMBER textfile!)
Then in composer.json here (for the site) can just do "browscap/browscap": "6.0.29" and that would translate to 6029. Note the "minor" version we'd drop, it doesn't count to the middle version, so example translations:
6.0.29 => 6029
7.0.0 => 7000
7.3.12 => 7012
7.4.104 => 7104
Otherwise we limit ourselves to 99 builds per minor, this way we have 999 builds at least.
Or alternatively, we make the build number get really big next version and use 3 digits for each major/minor/patch version:
6.0.29 => 6000029 (i.e. 006.000.029)
7.0.0 => 7000000
7.3.12 => 7003012
7.4.104 => 7004104
The latter might be more flexible actually.
Finally, the other approach is to drop the build number entirely, and just use the version as major/minor/patch as-is, though this might break lots of stuff that depend on the "build number" concept...
May be able to use
ocramius/package-versions
to determine what the package version ofbrowscap/browscap
requested is, and generate the build number properly. Would mean using a proper version number though, I'm thinking perhaps we form it from the current one i.e. next is6029
so would be come6.0.29
. That way we can track BC breaks inbrowscap/browscap
by bumping major version, and each patch version can simply be the new build release (means we can also drop the stupidBUILD_NUMBER
textfile!)Then in
composer.json
here (for the site) can just do"browscap/browscap": "6.0.29"
and that would translate to6029
. Note the "minor" version we'd drop, it doesn't count to the middle version, so example translations:6.0.29
=>6029
7.0.0
=>7000
7.3.12
=>7012
7.4.104
=>7104
Otherwise we limit ourselves to 99 builds per minor, this way we have 999 builds at least.
Or alternatively, we make the build number get really big next version and use 3 digits for each major/minor/patch version:
6.0.29
=>6000029
(i.e.006.000.029
)7.0.0
=>7000000
7.3.12
=>7003012
7.4.104
=>7004104
The latter might be more flexible actually.
Finally, the other approach is to drop the build number entirely, and just use the version as major/minor/patch as-is, though this might break lots of stuff that depend on the "build number" concept...