SHAPE_STDRUL(7)

SHAPE_STDRUL πŸ’– (7)

okay bestie, so this is a page from the Miscellaneous Information Manual β€” it's literally called shape_stdrul and it's all about the shapeTools RMS general version selection rules. sit with me, this one's important πŸ’…


✨ NAME ✨

shape_stdrul β€” the shapeTools RMS general version selection rules, aka the whole vibe of "which version do we pick" πŸŽ€


🌸 DESCRIPTION 🌸

so the shape release management system needs a set of standard version selection rules that are accessible project wide. no cap. and those rules live in the stdrules file, which gets included into the Shapefiles of any part of the system that's controlled by the shapeTools release management system. πŸ¦‹

and like, what do version selection rules even do? they drive the binding of component names in the Shapefile to specific versions during a build or release process β€” or honestly, any process performed by invocation of shape(1). it's giving matchmaker but for components and versions πŸ’–

some functions of shape_RMS let you define which version binding rule is active by defining the VERSIONS macro on the command line. and you can set that to any of the rule names listed below. periodt.


if you want to introduce new version selection rules for project wide use, you can add them to the stdrules file. but bestie… be very careful when altering that file. πŸ™ˆ

🚨 do NOT remove any of the rules defined in the original version of stdrules (as it comes from the shapeTools distribution tape) β€” those are essential for the release management system. 🚨

and when you're altering one of the original selection rules, you should be so conscious of what you're doing, because you may affect the operationality of shape RMS. that's main character energy in the worst way possible 😭

if you wanna know the syntax of rule definitions, go read the shape(1) manual. iykyk ✨


🌈 the standard version selection rules 🌈

most_recent πŸ’«

for each component, select a busy version if available β€” and the most recent saved version otherwise. best of both worlds, honestly.

last_proposed πŸŽ€

use the last proposed version of each component. heads up tho: this rule fails if no proposed version is available. πŸ’€

last_released πŸ‘‘

select versions from the last generated release. iconic.

last_prereleased 🧚

select versions from the last generated prerelease. the little preview era πŸ’œ

recent_release πŸ”₯

select versions included in the last release or prerelease, whichever is newer. it's giving "i'll take the freshest one, thanks".

from_release 🌸

select versions from a specific release or prerelease. and when you're using this rule, the value of the macro RELEASENAME has to be set to the name of the desired (pre)release. don't forget it, or it's not gonna go how you want 🫢

extern ⭐

always select a busy version (a regular UNIX file). this rule should be applied to all extern components that are not under control of the shapeTools version control system. outside the system, doing its own thing, we respect it πŸ’…


πŸ“ FILES πŸ“

  • $(SHAPELIBPATH)/stdrules β€” the home of all the rules, right there πŸ“

πŸ‘€ SEE ALSO πŸ‘€

go read those too, they're part of the lore 🌈


okay that's the whole page, bestie!! this was the SHAPE_STDRUL(7) page, coming to you from version 12.10.126 β€” mwah, love that for us πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’