Age | Commit message (Collapse) | Author |
|
This enables logging the process output to something other than a
eclipse console. e.g. a log file or string that can be reused for
dialogs and messages.
Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
|
|
The error reported by CMake was logged to the console but not used in
any error dialog shown to the user so far.
By capturing the error in a separate stream we can use it when reproting
the error to the user.
Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
|
|
Until now the stream pipe was connecting one input stream with one
output stream. This for example allowed showing the output of a process
in an eclipse console. If the output is required elsewhere, e.g. in a
message dialog, the only possiblity was to read out the whole console
afterwards.
The stream pipe is extended so that we can now write the process output
to multiple target while the process is running, e.g. a eclipse console
and a byte stream.
Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
|
|
CDT sets default include paths when a defined toolchain does not provide
include paths of its own. The default include paths point to the host
system which does not make sense for cross compiled projects.
Instead of using the default include paths we provide our own path that
points to the usr/include folder in the defined sysroot. Once this
custom include path is defined CDT does not add any additional include
paths.
[BUGFIX #5544]
Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
|
|
Previous commit changed the way YoctoCommand sets a command forcing use of bash.
However cloning a git repo passed the repository as argument, which doesn't work anymore,
fix it by using a single command string.
[YOCTO #5757]
Signed-off-by: Alexandru Georgescu <alexandru.c.georgescu@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
[YOCTO #5409]
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Johann Draschwandtner <johann.draschwandtner@windriver.com>
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
[yocto#5378]
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
setting. e.g. LatencyTopHandler [yocto #5328]
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Use xterm instead of vt100 in order to avoid having
unreadable output for latencytop due to some control characters.
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
|
|
environment is correct [yocto #5330]
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
If the system is not able to run the command
"cmake", the user is prompted with a MessageDialog
to check the correctness of the cmake
installation.
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
various systemtap execution issues
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
|
|
- in order to avoid the deadlock that occurs when restarting Eclipse workspace containing a BBC project we return a NullFileStore
- because of this NullFileStore, the project description will not be accessible and an exception will be thrown
- instead of using a NullFileStore, we use a CustomLocalFile
- this CustomLocalFile will point to a local file that contains the .project file from the original project, instead of a remote location
- the .project file was stored when the project was created as a backup just for this case
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- IRemoteServices.isInitialized() and initialize() methods have been removed
- RSEConnection was removed to internal package org.eclipse.ptp.internal.remote.rse.core
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- when creating a new bitbake commander project, a bunch of information relevant for the project is set in the project information map
- when closing & restarting Eclipse, having a Bitbake commander project in the workspace an deadlock occurs due to the following:
- Eclipse Resources container tries to restore all projects that were previously in the workspace
- when trying to restore our BB project, we will try to determine what was the remote connection for that specific project, given its URI
- we can only determine the connection by calling RSE plugin & we must wait for it to be initialized
- the RSE plugin is initialized after the Resource container is finishes, and since this process is blocked waiting for a later one, a deadlock occurs
- in order to fix this problem, perform the following steps:
- when the Eclipse Resource container asks for the store of our project
- return a NullFileStore
- register as a listener of the RSEInitJob in order to get notified when the job is finished
- restore the project information when the RSE API is up by triggering the internal file system core manager
- restoring the information:
- for the local implementation:
- the connection of the project is missing -> retrive it by invoking RSE
- for the remote implementation:
- the only URI for the project is the oefs one
- we cannot change this uri to point to the real one since it will block the refresh on the project
- we cannot determine the real URI form the oefs one since we have no clue what is the host(ip)
-> solution:
- when creating the BBC project
- save the information about the real URI of the project in the metadata of the workspace
- when restoring the project
- retrieve the information from the metadata location
- fixed also the Project Description of the Location to display the real URI of the files
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- replace text box & browse button with PTP implementation RemoteProjectContentsLocationArea
- this implementation contains:
- two combo boxes: one for the connections, and one for the remote services
- a new button that allows creation of new connections
- a text box & browse button for the location of the project
- any errors that occur within the contents location area will be reported
to the ErrorReporter that was registered at creation time
- in our particular case, on error reporting we:
- set the message of the wizard according
- try and validate the page & update the underlying model
- rearrange items in wizard in order to have a more consistent look (use grid data layout)
- fix page validation
- separate tasks in page validation in:
- project name validation
- project location validation
- project name validation verifies that:
- project name is not empty
- project name is not invalid(contains invalid characters)
- a project with the same name does not exist in the workspace
- project location validation:
- retrieves the remote IHostFile for the project
- case we did select 'git clone'
- make sure that the remote file either does not exists or is a empty directory
- check that in the remote directory, we do not already have a .git file
indicating that this directory contains git repo
- case we did not select 'git clone'
- make sure that the directory exists, and it contains oe-init-build-env file
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- clean-up all unused fields
- rename fields to have consistent names
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- this is needed in order to skip calling the default calling of the super constructor
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- remove unused inner class ConsoleWriter from InstallWizard
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- remove inner classes & interfaces and use RemoteHelper implementation
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Bitbake command wizard improvements:
- retrive the console mapped to this particular connection from the RemoteHelper
- retrive the stored remote connection & services from the model
- retrive the connection from the map stored in RemoteHelper
- retrive the command response handler mapped in the RemoteHelper for this connection
- use newly added YoctoRunnableWithProgress for running the time consuming action(git clone) instead of the inner class
- this is a customized IRunnableWithProgress that can be ran in a Wizard container and update the progress of the underlying monitor
- this particular implementation is customized for running a git clone command
- in order to parse the output of the git clone command, it also contains a calculator that
tries to match each line with a given pattern and retrieves the percentage for updating the monitor
- the run method of this class will make a call to the wrapper YoctoThread that runs the actual command
in a separate thread in order not to block the interface
- this thread will delegate the output processing to a YoctoRunnableOutputProcessor
- this particular type of OutputProcessor takes care of parsing the error lines it receives
and reporting the progress to the monitor
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- if we run the remote commands without using the Wizard container, the monitor will never get updated properly and the messages will not appear
- in order to fix this, we use a IRunnableWithProgress to perform all tasks
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- refactored all steps taken when creating a new recipe to use RemoteHelper API and run commands on a abstract way regardless of the location of the target
- each step that needs to run a command remote will appear as a new YoctoCommand
- all commands are ran using RemoteHelper utility(handleRunCommandRemote) and passing a YoctoCommand
- handleRunCommandRemote is a wrapper over the RSE Api that is able to run a command on a remote target in a separate shell
- in addition to this, it also processes the output of the command and adds it to a ProcessStreamBuffer
- each YoctoCommand contains:
- the underlying command to be ran
- the directory in which it should be ran
- the ProcessStreamBuffer of this command
- each process stream buffer contains two buffers:
- error lines buffer
- output lines buffer
- all output/error processing of the command is done in separate threads and ensures that the command is finished before processing the output
- [upstream issue] when dealing with remote targets, all the output and error lines will be found in the error lines
- the underlying implementation has only one buffer and the errors are the first processed
- [particular case] checksums are retrieved by running a Pattern against the output lines (local target) or error lines(remote target)
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- use URI to store meta-data location
- initialize metadata location with projectLocation/meta
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
archive type
- create URI from text location of the recipe and determine the location of the recipe by using the scheme(ftp, http, file)
- extract achive type from URI
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- add more suggestive name
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- retrieve the connection for the project destination of the recipe (using the Activator map)
- store it in the Wizard & use it for running remote commands
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- retrieve active connection from project info and save it on the Bitbake editor
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- when running remote commands it is not indicated to use the OS separator since the host and the target could be different
- instead use the remote target separator(/) since this will always be a Linux based machine
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- ShellSession is only used with shellType SHELL_BASH and thus the need to keep an extra argument is not needed
- When running commands using RemoteHelper, a shell is created per command. Its type is determined by using the IShellServiceSubSystem implementation from the target.
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- use ICommandResponseHandler to write to the console, and in particular CommandResponseHandler implementation
- discard all Writer usages since they are no longer needed
- use RemoteHelper implementation to source the environment for bitbake
- make sure to disable sanity checkes before sourcing in order to avoid unwanted errors
- export the number of columns used for the shell, otherwise the lines will be automatically splitted at a default size(80 characters)
- before running any command, make sure to source the environment since each command will be ran in a different terminal
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
- initialize bitbake session for recipe:
- when starting a new project, the session environment variables are obtained by calling "bitbake -e"
- when a new recipe is created and edited, the session variables should be updated with the values obtained from "bitbake -e -b package" => overwrite the session with the new one
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|
|
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
|