Launch Framework [message #3743] |
Tue, 08 November 2005 23:23 |
Eclipse User |
|
|
|
Originally posted by: stanley.apogee.com
Hello all,
i've been thinking about the launch framework lately and
i got few ideas i want to bounce around. Please note that
i am biased towards my setup (remote targets with full-blown
OS, local storage and/or NFS/Samba clients, ethernet connection).
A screenshot of where i am heading can be found at
http://www.apogee.com/stanley/mock1.png
The launch is broken down into several phases (there is a
configuration for each one):
a) transfer JDK+libraries to the target system (this can be done once
as part of the setup, assuming persistent storage; or each time
before there is launch on the target). What files are transferred
is determined by 'Remote JDK' option, in addition to 'BootClassPath'
entries.
b) transfer project files to the target system using one of the methods
provided (ftp, scp, or none (used when NFS client or running locally
using emulator)). Also, transfer any additional user-defined libraries.
c) collect the full command-line that would have been used to run
the program locally and substiture ${local path} with ${remote path)
d) execute a command line obtained in (c) via one of 'Remote Execution
Methods' (ssh, telnet, rexec, emulator).
Here is where it gets interesting: almost every part above can be
coded up as an ANT script. Creating a new 'Device' would essentially
create a new ANT script responsible for getting files onto a device
and running them. That would allow running of project without Eclipse
and/or modifying certain run parameters without dealing with GUIs.
Above also allows me to provide users with already configured devices
(via some .xml files), when those configurations are static (also
would work for emulator).
Current Eclipse included most of the ANT tasks that need to be used
(sshexec, scp, ftp, etc.). The small issue right now is how to define
the contents of "Remote JDK" (i think i can use some of EclipseME logic
to provide list of libraries/files comprising certain JDK). This
solution can be generalized to cover other situations, such as the
use of emulator or remote launch of C/C++ executables.
Please note that the mockup has 'Device' configuration as part of
'Launch', but it should really be a separate entity.
any thoughts ?
-- stanley
p.s. i'll try to make a call tomorrow, but it's really hard to wake up
at 6a.m.
|
|
|
Powered by
FUDForum. Page generated in 0.02802 seconds