<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
<META content="MSHTML 6.00.6000.16890" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px">
<DIV>Sorry, I should be more precise.  I meant when "shipped", not when "built".</DIV>
<DIV>The examples folder is just a collection of source packages.  Each source package has an HTML file that CM3IDE displays to the user as instructive information about how to use the example.  The entire examples folder and its contents need to be at the root of your cm3 install, e.g., C:\cm3\examples, in order for CM3IDE to locate and use it.  Of course, if one is not going to use CM3IDE, the folder isn't necessary.  Thus, the thought is that when you do "cm3 -ship" on the CM3IDE package it would be good to ensure the example folder is instantiated in the cm3 tree at that time.  Thus, if there is a way to do this via some extra code in the m3makefile for CM3IDE that would be fine and we could keep the examples folder as part of the CM3IDE package source tree.</DIV>
<DIV>Regards,</DIV>
<DIV>Randy<BR><BR>>>> Jay K <jay.krell@cornell.edu> 8/15/2009 12:14 AM >>><BR><BR>> when it is built <BR><BR>Trivial.<BR><BR>> when it is shipped<BR><BR>Maybe trivial. An empty directory or with contents?<BR>If it has contents, just ship the contents.<BR>If it is empty, there may or may not be a way currently.<BR><BR><BR>Generally you shouldn't write anything to the installation during build, only ship.<BR>And if under the influence of overrides, you shouldn't touch the installation at all -- which falls out of not touching during build and ship isn't allowed.<BR>(but maybe for next release this whole override thing goes away -- just clone the existing install and ship to it while building, no need to ever split build from ship)<BR><BR><BR>You can in general do pretty arbirary things in build and ship.<BR>You are limited by the quake builtins, which are fairly substantial, what you can do by running comamnd lines which is also pretty substantial but a recurring portability hazard (Olaf write some .sh; I write some .cmd or .py; repeat), and what you add to quake, which is basically unlimited, though then a hazard regarding building with old versions, you can probe for what is there with if defined("foo") use foo end.<BR><BR><BR>I haven't seen that there is a good clean way to add stuff and make it trivially available either at build or ship.<BR><BR>I was accidentally doing ship stuff at build time like with the symlinks and stuff.<BR><BR>Some folks resort to writing into .m3ship which seems sleazy.<BR>  It is the underlying mechanism, but seems maybe worth abstracting.<BR>  You know -- what if it is open by cm3 and disallowing other writers or has been flushed at other than a line boundary?<BR><BR>I think maybe better would be to have .m3ship<BR>say if exists(m3user.ship)<BR>      include(m3user.ship)<BR>     end<BR><BR>or such, and then m3user.ship is where users can write to.<BR><BR>or even simply, ship("foo") writes "foo" into .m3ship.<BR><BR>There is an ambiguity between declarative and imperative code -- the stuff in .m3ship might be order dependent and you might not know where in the order you are.<BR><BR><BR>- Jay<BR><BR><BR>________________________________<BR>> Date: Fri, 14 Aug 2009 19:53:40 -0400<BR>> From: rcoleburn@scires.com<BR>> To: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] examples should not be in PkgInfo.txt<BR>><BR>><BR>><BR>><BR>><BR>><BR>><BR>> Agree that they are useful for CM3IDE.<BR>><BR>><BR>><BR>> Is there a way to have CM3IDE ship this folder to the cm3 root, e.g., C:\cm3\examples, when it is built and shipped? Otherwise, user has to know to copy the folder there. This only has to be done once, so copying the folder at the time CM3IDE is built and installed seems logical.<BR>><BR>><BR>><BR>> Examples folder is strictly a set of source packages. There should be no derived files there. When user browses to a particular example in CM3IDE and asks to build it, CM3IDE will create a package containing the source of the example and the derived files in the user's private repository. That way each user gets their own private copy to muck around with.<BR>><BR>><BR>><BR>> Indeed, entire examples folder tree can be marked read-only without any ill-effect because of the way CM3IDE works.<BR>><BR>><BR>><BR>> Regards,<BR>><BR>> Randy<BR>><BR>>>>> Olaf Wagner 8/14/2009 12:18 PM>>><BR>> Quoting Randy Coleburn :<BR>><BR>>> I see that someone has put some of the examples folder packages into<BR>>> PkgInfo.txt std group.<BR>>><BR>>> None of these packages in the "examples" folder should go into PkgInfo.txt.<BR>>><BR>>> Reason is that these are examples meant to be built using CM3IDE.<BR>>> CM3IDE will create a package folder in the user's private repository<BR>>> for the example and build it there locally. We don't want to build<BR>>> and ship these as part of the std distribution. Only the sources<BR>>> are needed. The "examples" folder and its contents need to be<BR>>> copied to the root of your cm3 installation. That's all.<BR>><BR>> I put them there, because they were not packed into the installation<BR>> archives. They can also not be build with the usual tooling at all.<BR>><BR>> What's the problem with them being included in the package list?<BR>><BR>> If they are only useful for cm3ide, they should probably be part of<BR>> that package (i.e. moved from cm3/examples to cm3/m3-sys/cm3ide/examples).<BR>><BR>> Olaf<BR>> --<BR>> Olaf Wagner -- elego Software Solutions GmbH<BR>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR>> <A href="http://www.elegosoft.com">http://www.elegosoft.com</A> | Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR>></DIV></BODY></HTML>