[squeak-dev] Startup scripts on Windows - how?
Frank Shearar
frank.shearar at gmail.com
Fri Mar 22 14:40:56 UTC 2013
When you see the \s it's because I typed them on the command line.
When you see /s it's because Ruby prints out everything that way. But
with cygwin installed you can mix & match \s and /s (although
autocompleting paths breaks completely).
But otherwise, yes, you're right.
frank
On 22 March 2013 14:39, Bob Arning <arning315 at comcast.net> wrote:
> Not that I really need to know, but are those mixed forward and backward
> slashes ok? I thought you used one or the other depending on OS.
>
> On 3/22/13 10:20 AM, Frank Shearar wrote:
>
> I'm scratched my itch for the moment, making my build tools
> "relativise" the path to the script. I think it's still a bug that I
> can't refer to a script via a full path, and raised
> http://bugs.squeak.org/view.php?id=7732.
>
> frank
>
> On 22 March 2013 13:17, Frank Shearar <frank.shearar at gmail.com> wrote:
>
> OK, I think I know what's going on.
>
> I have a directory C:\Users\frank\squeak-ci. In that I run rake,
> kicking off a build. That runs the following shell command -
> C:/Users/frank/squeak-ci/target/Squeak-4.10.2-2612-src-32/Squeak4.10.2-2612.exe
> "C:/Users/frank/squeak-ci/target/TrunkImage.image"
> C:/Users/frank/squeak-ci/update-image.st - from within
> C:\Users\frank\squeak-ci\target, a dumping ground for various build
> artifacts.
>
> If I instead use ../update-image.st as the startup script, everything
> works correctly. So a full path to the script fails, while a relative
> path works.
>
> frank
>
> On 22 March 2013 12:59, Bob Arning <arning315 at comcast.net> wrote:
>
> seems like URL is only one option...
>
> scriptName isEmpty ifFalse:[
> "figure out if script name is a URL by itself"
> isUrl := (scriptName asLowercase beginsWith:'http://') or:[
> (scriptName asLowercase beginsWith:'file://') or:[
> (scriptName asLowercase beginsWith:'ftp://')]].
> isUrl ifFalse:[ | encodedPath pathTokens |
> "Allow for ../dir/scriptName arguments"
> pathTokens := scriptName splitBy: FileDirectory slash.
> pathTokens := pathTokens collect: [:s | s
> encodeForHTTP].
> encodedPath := pathTokens reduce: [:acc :each | acc ,
> FileDirectory slash , each].
> scriptName := (FileDirectory default uri
> resolveRelativeURI: encodedPath) asString]].
> ]. ]
>
> did you try a plain old file path?
>
> On 3/22/13 7:53 AM, Frank Shearar wrote:
>
> On a Linux machine, you can run a script from the command line thusly:
> my/path/to/vm/squeak MyImage.image path/to/my/script.st. On Windows,
> the analogous operation fails because (I think) CodeLoader doesn't
> know how to handle file URIs like
> 'file:///C%3A/Users/frank/squeak-ci/target/update-image.st'.
>
> Is this a known problem? How else can I run a startup script on
> Windows? (Surely I'm not the only person in the world who wants to do
> this?)
>
> frank
>
>
>
>
>
More information about the Squeak-dev
mailing list
|