This should probably go to both lists. > > Questions: > 1) It looks like the best approach might be to create a sin_boot.erl > module and have its task definition depend on the shell task. Then I > would only have to call application:start for each of the applications > (and depended upon applications) in the sin_boot task. Is that the > approach you had planned?
That probably is the best way to go. You should probably model it on sin_shell.erl and there might be some shared code that you can factor into a separate module. > 2) Can you give me a link to a brief description of how the command- > line interacts with the sinan server? I'm not a python guru so I am > hoping to avoid reading through too much of that code if there is a > simple description already written somewhere. If not, I'll read > through the code to find it. The command line is all done in python. Erlang really doesn't like the command line so I avoid using it there. The command line gathers up the information and communicates with the build server via json/rest. The server side of that interface is in the sinan_web_api application. The command line is just involved in gathering sending and printing information in every case but the shell task. The shell task takes that information and uses it to launch a new erlang process. Your new boot task will end up doing the same thing. Fortunately, most of the functionality is already defined in the shell command and you can reuse a lot of that. > > 3) Similiar to question 2 how do the eta_even:task_event(...) calls > actually affect the shell environment? I am fuzzy on how the erlang > node where the sinserv is running interacts with the new erlang node > where the user is dropped. Any documentation you can point me to > would be appreciated. There is no interaction at all between the calls and the new environment. The sin_shell.erl task passes enough information back to the python client to launch a new erl node. That erlang node has no interaction at all with the one running sinan. > > I'll keep reading through the code and documentation to try to find > these answers, but if you have any descriptions or resources that can > speed up the process I'll put them to good use. > ~Michael Look in libsinan/shell_handler.py on the client side and sin_shell.erl on the server side. That should get you going in the right direction. > > On Dec 27, 6:15 pm, Eric Merritt <[email protected]> wrote: >> If you want to add the boot functionality that would rock pretty hard. >> I would be more then happy to point you in the right direction and >> answer questions as needed. Otherwise I might get to it in a few >> weeks+ >> >> >> >> On Sun, Dec 27, 2009 at 6:56 PM, Eric Merritt <[email protected]> wrote: >> > It already exists! >> >> > Try sinan shell >> >> > Right now it just sets up the paths and drops you into a shell. It >> > doesn't run the release or anything. Though that could probably be >> > added without too much difficulty. >> >> > On Sun, Dec 27, 2009 at 6:55 PM, hqmq <[email protected]> wrote: >> >> I've been following erlware for a while now and I'm wondering about >> >> how people feel about a possible sinan start functionality which would >> >> be used to start a shell project and all of its dependencies and drop >> >> the user into a shell that already has their project loaded. I am >> >> thinking it would be invoked something like this: >> >> `sinan start project.boot sys.config` >> >> >> This seems very useful to me as I find myself writing strange shell >> >> scripts or make files to accomplish this task. If there is not much >> >> need for it I will probably just continue to write my own scripts, but >> >> I would volunteer to take a stab at adding the functionality to sinan >> >> if other developers would use it. >> >> ~Michael >> >> >> -- >> >> >> You received this message because you are subscribed to the Google Groups >> >> "erlware-dev" group. >> >> To post to this group, send email to [email protected]. >> >> To unsubscribe from this group, send email to >> >> [email protected]. >> >> For more options, visit this group >> >> athttp://groups.google.com/group/erlware-dev?hl=en. -- You received this message because you are subscribed to the Google Groups "erlware-dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/erlware-dev?hl=en.
