Skip to main content
Engineering LibreTexts

8.16: Project Version Attributes

  • Page ID
    45552
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    A configuration can have several optional attributes such as an author, a description, a blessing and a timestamp. Let’s see an example with a new version 0.7 of our project.

    ConfigurationOfCoolBrowser>>version07: spec
        <version: '0.7' imports: #('0.7-baseline')>
    
        spec for: #common do: [
            spec blessing: #release.
            spec description: ’In this release...’.
            spec author: ’JohnLewis’.
            spec timestamp: ’10/12/2009 09:26’.
            spec
                package: 'CoolBrowser-Core' with: 'CoolBrowser-Core-BobJones.20';
                package: 'CoolBrowser-Tests' with: 'CoolBrowser-Tests-JohnLewis.8';
                package: 'CoolBrowser-Addons' with: 'CoolBrowser-Addons-JohnLewis.6';
                package: 'CoolBrowser-AddonsTests' with: 'CoolBrowser-AddonsTests-
         JohnLewis.1' ].
    

    We will describe each attribute in detail:

    Description: a textual description of the version. This may include a list of bug fixes or new features, changelog, etc.

    Author: the name of the author who created the version. When using the OB-Metacello tools or MetacelloToolbox, the author field is automatically updated to reflect the current author as defined in the image.

    Timestamp: the date and time when the version was completed. When using the OB-Metacello tools or MetacelloToolbox, the timestamp field is automatically updated to reflect the current date and time. Note that the timestamp must be a String.

    To end this chapter, we show you can query this information. This illustrates that most of the information that you define in a Metacello version can then be queried. For example, you can evaluate the following expressions:

    (ConfigurationOfCoolBrowser project version: '0.7') blessing.
    (ConfigurationOfCoolBrowser project version: '0.7') description.
    (ConfigurationOfCoolBrowser project version: '0.7') author.
    (ConfigurationOfCoolBrowser project version: '0.7') timestamp.
    

    This page titled 8.16: Project Version Attributes is shared under a CC BY-SA 3.0 license and was authored, remixed, and/or curated by Alexandre Bergel, Damien Cassou, Stéphane Ducasse, Jannik Laval (Square Bracket Associates) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.