<br><br><div class="gmail_quote">On Wed, Mar 30, 2011 at 11:52 PM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On 30 March 2011 20:11, Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ((Smalltalk at: #ConfigurationOfCog) project<br>
&gt;&gt; &gt;     version: &#39;1.5&#39;) load: &#39;VMakerWithCmake&#39;.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; and that&#39;s all :)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; So, if you know how to do that, please do. And i will happily integrate<br>
&gt;&gt; it.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; Find the ConfigurationOfCog attached. As an example, I&#39;ve created the<br>
&gt; version 1.6 and baseline 1.4<br>
&gt;<br>
&gt; Notice that in the baseline I added:<br>
&gt;<br>
&gt; spec repository: &#39;<a href="http://www.squeaksource.com/VMMaker" target="_blank">http://www.squeaksource.com/VMMaker</a>&#39;;<br>
&gt;               package: &#39;CMakeVMMaker&#39; with: [spec requires: #(&#39;Cog&#39;) ] .<br>
&gt;<br>
&gt;<br>
&gt; and in the version I added:<br>
&gt;<br>
&gt; package: &#39;CMakeVMMaker&#39; with: &#39;CMakeVMMaker-IgorStasenko.51&#39;.<br>
&gt;<br>
&gt; So...for new versions, the only thing you will need to do is to set that<br>
&gt; version, just the same you do with the rest.<br>
&gt;<br>
&gt; So..this:<br>
&gt;<br>
&gt; Gofer new<br>
&gt;     squeaksource: &#39;MetacelloRepository&#39;;<br>
&gt;     package: &#39;ConfigurationOfCog&#39;;<br>
&gt;     load.<br>
&gt;<br>
&gt; ((Smalltalk at: #ConfigurationOfCog) project<br>
&gt;     version: &#39;1.5&#39;) load.<br>
&gt;<br>
&gt;<br>
&gt; ((MCHttpRepository     location: &#39;<a href="http://www.squeaksource.com/VMMaker" target="_blank">http://www.squeaksource.com/VMMaker</a>&#39; user:<br>
&gt; &#39;&#39; password: &#39;&#39;)<br>
&gt; versionFromFileNamed: &#39;CMakeVMMaker-IgorStasenko.51.mcz&#39;) load.<br>
&gt;<br>
&gt;<br>
&gt; now is reduced to:<br>
&gt;<br>
&gt;<br>
&gt; Gofer new<br>
&gt;     squeaksource: &#39;MetacelloRepository&#39;;<br>
&gt;     package: &#39;ConfigurationOfCog&#39;;<br>
&gt;     load.<br>
&gt;<br>
&gt; ((Smalltalk at: #ConfigurationOfCog) project<br>
&gt;     version: &#39;1.5&#39;) load.<br>
&gt;<br>
&gt;<br>
</div></div>Nice. Thanks.<br>
<div class="im"><br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; I&#39;d like to note to everyone:<br>
&gt;&gt;<br>
&gt;&gt;  - an automated build process works, but its not perfect. (but its<br>
&gt;&gt; much better than we had before ;)<br>
&gt;&gt;<br>
&gt;&gt; So, a criticism and help or ideas how to improve it is welcome.<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Another idea is to put in the #description of each version of<br>
&gt;&gt; &gt; ConfigurationOfCog, which is the expected version of git to work. I used<br>
&gt;&gt; &gt; to<br>
&gt;&gt; &gt; do this wtih SVN and ConfogurationOfVMMaker.<br>
&gt;&gt; &gt; this way we can map from the other side ;)<br>
&gt;&gt; &gt; even more...in the description you can directlty put which sohuld be the<br>
&gt;&gt; &gt; git<br>
&gt;&gt; &gt; command.<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; Well, that will be unnecessary, because multiple git snapshots may<br>
&gt;&gt; work with same configuration.<br>
&gt;<br>
&gt; The same the other way arround ;)<br>
&gt; The same VMMaker version can work with different git snapshos<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; (You may fix or change some platform code, which not requires any<br>
&gt;&gt; changes on VMMaker side).<br>
&gt;&gt;<br>
&gt;<br>
&gt; or vice-versa<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; This means that my scheme keeps correspondence in direction<br>
&gt;&gt; source =&gt; VMMaker<br>
&gt;&gt;<br>
&gt;<br>
&gt; but why not adding  VMMaker -&gt; source<br>
&gt; also ?<br>
&gt;<br>
</div>how you suppose to do that?<br>
In configs then you need to put an array of git commits which working<br>
with your config? Or what?<br>
<br>
And then i will be forced to commit sources to git, while<br>
configuration of it to load is not there yet (because only after<br>
commit<br>
i can get an url to these sources and then put it into config and<br>
finally upload new config to squeaksource).<br>
<br>
It looks a bit complicated, isnt? And extra manual work..<br></blockquote><div><br>Yes, maybe. My thught was this procedure:<br><br>1) You commit on Git, and it you get version XXX. This changes on Git needs changes on VMMaker so:<br>
2) You create a new version of ConfigurationOfCog. Let&#39;s say YYY. In that moment, that version is blessed with #development and in the descript you put something like saying that it should work with Git versions &gt; XXX. Example:<br>
<br>versionYYY: spec <br>    &lt;version: &#39;YYY&#39; imports: #(&#39;1.4-baseline&#39;) &gt;<br>    <br>    spec for: #common do: [<br><span style="background-color: rgb(255, 255, 0);">        spec blessing: #development.</span><br style="background-color: rgb(255, 255, 0);">
<span style="background-color: rgb(255, 255, 0);">        spec description: &#39;Should be used with Git version &gt; XXX&#39;.</span><br>        spec <br>            package: &#39;FFI-Pools&#39; with: &#39;FFI-Pools-eem.3&#39;;<br>
            package: &#39;SharedPool-Speech&#39; with: &#39;SharedPool-Speech-dtl.2&#39;;<br>            package: &#39;Balloon-Engine-Pools&#39; with: &#39;Balloon-Engine-Pools-JB.2&#39;;<br>            package: &#39;Qwaq-VMProfiling-Plugins&#39; with: &#39;Qwaq-VMProfiling-Plugins-JB.5&#39;;<br>
            package: &#39;Sound&#39; with: &#39;Sound-StephaneDucasse.62&#39;;<br>            package: &#39;VMMaker-oscog&#39; with: &#39;VMMaker-oscog-IgorStasenko.54&#39;;<br>            package: &#39;Alien-Core&#39; with: &#39;Alien-Core-IgorStasenko.68&#39;;<br>
            package: &#39;Cog&#39; with: &#39;Cog-eem.44&#39;;<br>            package: &#39;CMakeVMMaker&#39; with: &#39;CMakeVMMaker-IgorStasenko.51.mcz&#39;.<br>    ].        <br><br> <br>3) when there is a new commit ZZZ in git that requires a new version of VMMaker, then you:<br>
3.a) close the previous version (you put blessing:#version)<br>3.b) change the description so that it closes the range. <br><br>Example:<br><br>versionYYY: spec <br>
    &lt;version: &#39;YYY&#39; imports: #(&#39;1.4-baseline&#39;) &gt;<br>
    <br>
    spec for: #common do: [<br>
<span style="background-color: rgb(255, 255, 0);">        spec blessing: #release.</span><br style="background-color: rgb(255, 255, 0);">
<span style="background-color: rgb(255, 255, 0);">        spec description: &#39;Should be used with Git  version &gt; XXX nad &lt; ZZZ &#39;.</span><br>
        spec <br>
            package: &#39;FFI-Pools&#39; with: &#39;FFI-Pools-eem.3&#39;;<br>
            package: &#39;SharedPool-Speech&#39; with: &#39;SharedPool-Speech-dtl.2&#39;;<br>
            package: &#39;Balloon-Engine-Pools&#39; with: &#39;Balloon-Engine-Pools-JB.2&#39;;<br>
            package: &#39;Qwaq-VMProfiling-Plugins&#39; with: &#39;Qwaq-VMProfiling-Plugins-JB.5&#39;;<br>
            package: &#39;Sound&#39; with: &#39;Sound-StephaneDucasse.62&#39;;<br>
            package: &#39;VMMaker-oscog&#39; with: &#39;VMMaker-oscog-IgorStasenko.54&#39;;<br>
            package: &#39;Alien-Core&#39; with: &#39;Alien-Core-IgorStasenko.68&#39;;<br>
            package: &#39;Cog&#39; with: &#39;Cog-eem.44&#39;;<br>
            package: &#39;CMakeVMMaker&#39; with: &#39;CMakeVMMaker-IgorStasenko.51.mcz&#39;.<br>
    ].        <br><br>And then of course, you create the new version if ConfigurationOfCog, let&#39;s say NNN<br><br><br>
versionNNN: spec <br>

    &lt;version: &#39;NNN&#39; imports: #(&#39;1.4-baseline&#39;) &gt;<br>

    <br>

    spec for: #common do: [<br>

<span style="background-color: rgb(255, 255, 0);">        spec blessing: #development.</span><br style="background-color: rgb(255, 255, 0);">

<span style="background-color: rgb(255, 255, 0);">        spec description: &#39;Should be used with Git  version &gt; ZZZ &#39;.</span><br>

        spec <br>

            package: &#39;FFI-Pools&#39; with: &#39;FFI-Pools-eem.3&#39;;<br>

            package: &#39;SharedPool-Speech&#39; with: &#39;SharedPool-Speech-dtl.2&#39;;<br>

            package: &#39;Balloon-Engine-Pools&#39; with: &#39;Balloon-Engine-Pools-JB.2&#39;;<br>

            package: &#39;Qwaq-VMProfiling-Plugins&#39; with: &#39;Qwaq-VMProfiling-Plugins-JB.5&#39;;<br>

            package: &#39;Sound&#39; with: &#39;Sound-StephaneDucasse.62&#39;;<br>

            package: &#39;VMMaker-oscog&#39; with: &#39;VMMaker-oscog-IgorStasenko.54&#39;;<br>

            package: &#39;Alien-Core&#39; with: &#39;Alien-Core-IgorStasenko.68&#39;;<br>

            package: &#39;Cog&#39; with: &#39;Cog-eem.44&#39;;<br>

            package: &#39;CMakeVMMaker&#39; with: &#39;CMakeVMMaker-IgorStasenko.51.mcz&#39;.<br>

    ].   <br>
<br>and like that....<br><br>What do you think?  If you really understand it, it is not hard. It seems quite easy for me and it gives us even more traceability. <br><br>Cheers<br><br>Mariano<br><br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im"><br>
&gt;&gt;<br>
&gt;&gt; in that way for each source snapshot you know which version of VMMaker<br>
&gt;&gt; you should use.<br>
&gt;&gt; But not in reverse order.<br>
&gt;&gt;<br>
&gt;&gt;<br>
<br>
<br>
<br>
</div>--<br>
<div><div></div><div class="h5">Best regards,<br>
Igor Stasenko AKA sig.<br>
</div></div></blockquote></div><br>