<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>3210</bug_id>
          
          <creation_ts>2012-10-02 21:07:09 +0000</creation_ts>
          <short_desc>Add remote project support for the bitbake commander type project and run build using hob via build appliance</short_desc>
          <delta_ts>2014-12-03 22:18:35 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Eclipse Plugin</product>
          <component>eclipse-plugin</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>Development</status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          <dependson>3323</dependson>
    
    <dependson>4362</dependson>
          <blocked>4303</blocked>
    
    <blocked>4637</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessica">jessica.zhang</reporter>
          <assigned_to name="Jessica">jessica.zhang</assigned_to>
          <cc>alexandru.c.georgescu</cc>
    
    <cc>ioanax.grigoropol</cc>
    
    <cc>yp.ep.watcher</cc>
    
    <cc>yp.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>26076</commentid>
    <comment_count>0</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-10-02 21:07:09 +0000</bug_when>
    <thetext>With the Eclipse RDT/PTP framework, we should extend to support remote project for both bitbake commander and ADT template projects, this allows user to use our Eclipse plug-in on platforms other than Linux while still able to access files/projects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27139</commentid>
    <comment_count>1</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-11-01 07:14:43 +0000</bug_when>
    <thetext>Since for ADT project support needs underline CDT framework changes, so for the initial remote project support only for bitbake commander type project</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27945</commentid>
    <comment_count>2</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2012-12-04 10:48:17 +0000</bug_when>
    <thetext>Status:
- Run commands in a synchronous way in order to wait for the output &amp; parse it
  - use a single hostShell per project, launchShell method &amp; writeToShell – RSE API:  - bitbake session is maintained
      - only one terminal per project 
      - output from commands is send asynchronously
      - in order to wait for command output, we must wait for the AbstractHostShellOutputReader.isFinished() method
        - update : 
           - do not use isFinished() because it is intended to block waiting for input &amp; use a simple semaphore mechanism instead
           - same approach used for remote should be used for LocalHostShell
- Store association of remote connections &amp; Shell
   - issues:  - Only one command can be ran at one point
              - If  there are multiple projects using the same connection the shell will be shared between them &amp; and sourcing of oe-init-build-env  for each project might cause project builds to fail</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27956</commentid>
    <comment_count>3</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2012-12-04 15:22:00 +0000</bug_when>
    <thetext>-  Add fixes for showing progress information for long time running tasks on wizards for Bitbake Commander project &amp; Bitbake recipe
  - run project creation in a new thread, and update the monitor from the event handler in a asynchronous way
  - use a blocking way to wait to finish reading command outputs
  - When searching for the desired output through the existing lines, use the prompt + command (without any whitespaces) because an extra character will be inserted 
- Add fixes for the validation for the location &amp; name of a new Bitbake Commander in a new repo clone or an existing one

- Trying to find a way to catch and treat the exception that is thrown when Eclipse is restarted (missing .project)
  - seems that this is a known workaround for the RSE plugin BUGS : bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=181998 and https://bugs.eclipse.org/bugs/show_bug.cgi?id=182006 
  - A fix for this would also catch the exceptions thrown when refreshing a poky project (encountering resources with invalid names)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28051</commentid>
    <comment_count>4</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2012-12-06 15:12:38 +0000</bug_when>
    <thetext>Update:

- when sending a command to the remote box, the implemented mechanism is awaiting to see a command prompt (user@hostname) followed by a &apos;#&apos; or  a &apos;$&apos;
   - this rule will not always apply(as in the case of Linux connecting to localhost) and will cause the very first command to block the whole application.
   - send a custom terminator that will mark the end of each command we send in order to know when the output is available
- added validations for new Bitbake project - new repository as well as an existing one 
- remove checking that in an existing repository there is a .git directory and only check that repo contains the right scripts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28127</commentid>
    <comment_count>5</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2012-12-10 17:59:52 +0000</bug_when>
    <thetext>Update:
 - investigated how to ignore files that have invalid characters in the name - these files are internal cooking files that do not need to be shown to the user or modified by him; files on Windows must not contain characters such as : ; when these files are encountered under a poky repository, a ResourceException is thrown, caught and ignored since we do not care about showing these files
- investigated how to catch the exception thrown by Eclipse at startup, when there are remote projects in the workspace:
   - seems that this error is thrown if a restore is attempted on the workspace before the ResourcePlugin is up and running - related to bugs : https://bugs.eclipse.org/bugs/show_bug.cgi?id=181998, https://bugs.eclipse.org/bugs/show_bug.cgi?id=182006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28182</commentid>
    <comment_count>6</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2012-12-12 13:04:15 +0000</bug_when>
    <thetext>Update: 
- there is a downtime on the New Bitbake Wizard when creating a project from an existing repository, from the previous implementation (without support for  Remote connections, both on Linux and Windows)
- previous implementation: each command was ran in a separate process, waiting for the output independently
- current implementation: there is one shell per connection, and each command must wait for the previous one to finish running, until it can be ran
- when creating a new Bitbake project, the environment is initialized by parsing the output of &quot;bitbake -e&quot;
  - the wizard waits for this to end until it can finish creating the process
      - patch sent to sent this process to the background and close the wizard as soon as the project is created and opened
      - problems: if the user attempts to perform any operation that uses bitbake parsed environment, it will fail
      - possible solutions:
         - block the wizard until this finishes
         - display some sort of notification to the user that this operation is still in progress (in the background) and he must wait for it to finish before peforming any operations against bitbake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>29832</commentid>
    <comment_count>7</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2013-02-14 19:49:27 +0000</bug_when>
    <thetext>The changes are merged into http://git.yoctoproject.org/cgit.cgi/eclipse-poky/commit/?h=jzhang/windows-build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31347</commentid>
    <comment_count>8</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2013-04-02 11:20:03 +0000</bug_when>
    <thetext>Due to the latest refactorization, some minor discrepancies appeared on the windows-build branch:

- the status message when cloning a new repository is not properly updated(eg. NLS_MISSING_MESSAGE)
   -&gt;this is caused by some Thread ownership issues related to the wizard context

- the checksums computed when populating the fields for a new recipe are missing on Windows
   -&gt; this is caused by the fact that when dealing with a Remote connection, the error and output buffers are one the same, and the output is sent to the error one, and we read from the output one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31348</commentid>
    <comment_count>9</comment_count>
    <who name="Ioana Grigoropol">ioanax.grigoropol</who>
    <bug_when>2013-04-02 11:22:02 +0000</bug_when>
    <thetext>The patch that addreses this issues was sent to list and applies on top of the latest commit of jzhang/windows-build branch (d2e1f6eae3fc71dff73bc98216fbb1a789091dbd).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33888</commentid>
    <comment_count>10</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2013-06-13 14:49:46 +0000</bug_when>
    <thetext>*** Bug 4303 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34858</commentid>
    <comment_count>11</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-07-25 08:46:00 +0000</bug_when>
    <thetext>Hi Jessica,
Is there an ETA for this one? I see that it is set for 1.5 M2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35393</commentid>
    <comment_count>12</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2013-08-05 23:24:32 +0000</bug_when>
    <thetext>our code is merged in http://git.yoctoproject.org/cgit/cgit.cgi/eclipse-poky-kepler/commit/?id=73cb94acdc81fd876c7da1c49334da9e714b11ee, but it only works for local situation not remote due to pending upstream changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35841</commentid>
    <comment_count>13</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-08-22 06:43:25 +0000</bug_when>
    <thetext>Hi Jessica,
Will this move to 1.6 as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47344</commentid>
    <comment_count>14</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2014-12-03 22:18:35 +0000</bug_when>
    <thetext>our flow for support non-linux platform may change, close for now.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>