On Tue, Jan 29, 2013 at 09:34:37PM -0300, St?phane Ducasse wrote:
David
The first version is loading in 2.0:) Do you want me to publish it in the www.squeaksource.com. repository?
Yes, that would be fine. I don't know if it should go in the CommandShell repository or a Pharo one? I added you as developer on CommandShell so you can commit it there.
Some feedback: - you have some circular dependencies between base and Commands. Commandshell in base relies on ShellBuiltin installCommands: aCommandArray self builtinCommands: (ShellBuiltin commandDictionaryFor: self commands: aCommandArray)
Hmmm, probably so. I have not been too careful about the dependencies in the packages within CommandShell. The hard part for me was to break all of the dependencies between CommandShell and OSProcess. I was able to do that, but I ended up with PipeableOSProcess in the CommandShell package. But most of the people who use it only want OSProcess, so I need to figure out a better way to split it.
- when I typed ls in the command tools I get an error because withBlanksTrimmed DNU we could add it as an extension as follows. String>> withBlanksTrimmed ^ self trimBoth
- same for withoutTrailingBlanks
Oops I missed those, I meant to make compatibility methods for them. I don't want to make it a String extension because then it would be an override in Squeak. I'll probably do something like CommandShell class>>withBlanksTrimmed: aString which will work in both.
Strange I finally typed ls and I got
cannot access system to run 'ls'
Probably you need to load OSProcess. From a package point of view, the two are completely independent. You can load either OSProcess or CommandShell without loading the other. But from a practical point of view, CommandShell is not very useful without OSProcess to access the operating system. Thanks a lot! Dave
On Jan 29, 2013, at 12:14 AM, David T. Lewis wrote:
I have updated CommandShell for Pharo 2.0, and made a few additional updates to OSProcess also. In addition to CommandShell-Piping, the rest of the CommandShell package (except for CommandShell-MVC) can now be loaded into Pharo 2.0. CommandShellPharo provides the menu registration to make "Command shell" available under "Tools" in the world menu.
The repository is at http://www.squeaksource.com/CommandShell, and the latest versions are:
CommandShell-Base-dtl.29 CommandShell-Piping-dtl.13 CommandShell-Commands-dtl.13 CommandShell-UI-dtl.10 CommandShell-Morphic-dtl.2 CommandShellPharo-dtl.2
Yes I know, it needs a ConfigurationOfCommandShell.
There are test failures related to VM issues but the basic functionality is now working, and both OSProcess and CommandShell should now be working for Pharo on Unix/Linux (and hopefully Mac) VMs.
Dave
On Thu, Jan 24, 2013 at 08:38:03PM -0500, David T. Lewis wrote:
OSProcess and CommandShell-Piping should now load cleanly in Pharo 2.0.
The latest versions are OSProcess-dtl.75 and CommandShell-Piping-dtl.13 in the SqueakSource repositories for OSProcess and CommandShell.
Thanks to Damien Cassou for doing the original work for OSProcess support in Coral. I adapted his work so it will now load in both Squeak and Pharo.
Unit test notes:
The AioEventHandlerTestCase failures are due to AioPlugin not included in the VM. I expect the tests will pass if AioPlugin is added to VM builds.
Many test rely on #forkSqueak to create cooperating OS processes for the tests. These tests fail on Cog, although this does not affect basic functionality of OSProcess itself.
UnixProcessAccessorTestCase>>testRedirectStdOutTo fails due to a problem introduced in the oscog branch of the OSProcessPlugin. This should be fixed in the plugin but is a minor concern and does not affect normal usage of OSProcess.
Dave