[Qt-creator] GSoC 2018: New feature proposal for Qt Creator
Tobias Hunger
tobias.hunger at gmail.com
Wed Mar 21 14:32:10 CET 2018
Hi Sree!
I think you are seriously underestimating the task at hand. I do not
see how you will do all this in the timeframe set by google for GSoC.
One step in the direction you are aiming at is to implement a
filesystem wrapper and introduce that into creator. That is a gigantic
task in itself.
Best Regards,
Tobias
On Wed, Mar 21, 2018 at 10:59 AM, Sree Gowtham Josyula
<sreegowthamj at gmail.com> wrote:
> Hello Everyone,
>
> Thanks for your interest and suggestions in my proposal. With your
> suggestions, I have modified my initial idea. Please find the modified
> idea in the link below.
> Link - https://docs.google.com/document/d/1hC2rTrDN5UvgpS57S5ixLiuJUSdR0KPRfNE9wPm1hc8/edit?usp=sharing
> I am posting content of the above link below for your convenience -
>
> Title - Remote System Development Plugin for Qt Creator
>
> Keywords
> 1. Development Machine - This is the machine where the user interacts
> directly with Qt Creator IDE for development tasks (editing,
> compilation and debugging). The development tasks are triggered
> directly by user using the IDE interface on this machine.
> 2. Remote Machine - This is the machine to which the development tasks
> are routed by the Qt Creator IDE of Development Machine to perform the
> development tasks and results of which are returned to the user to be
> displayed on the Development Machine.
>
> Summary
> In order to enable development of a Qt and C++ projects on a remote
> machine, this Qt Creator IDE plugin enables editing, compiling and
> debugging of a project on a remote machine via the development
> machine, supporting existing Qt Creator IDE features like version
> control, code-completion, syntax-highlighting, goto-definition,
> code-refactoring and syntax-parsing.
> Link to discussion on Qt Creator mailing list -
> http://lists.qt-project.org/pipermail/qt-creator/2018-March/007159.html
>
> Features
> 1. IDE Interface for public key registration of development machine on
> Remote Machine for seamless syncing of files between the two machines
> via ssh. Also, making an extensible interface to support adb, sdb in
> future
> 2. Interface for setting up a toolkit (Compiler, Debugger, Qt
> Tool-chain, cmake, qmake, qbs, sysroot) of a Remote Machine on the
> Development Machine's IDE
> 3. Opening projects of Remote Machine in Development Machine (using an
> interface identical to the one used for opening project on Development
> Machine)
> 4. Automatic syncing of workspace between Development Machine and
> Remote Machine(on every save & periodically) - to be implemented using
> rsync
> 5. Compilation of code on the remote machine with the tool-chain setup there
> 6. Execution & Debugging code on Remote Machine or Target Machine
> 7. Supporting Clang based code completion, goto-definition &
> refactoring. Clang will run on the development machine
> 8. Provide Version Control interface for the project in Development
> Machine and perform corresponding actions on Remote Machine
> 9. Support multiple platforms(Windows, Mac, GNU/Linux) for the
> Development Machine and Remote Machine environment
>
> Plausible Difficulties
> 1. Writing a filesystem wrapper for handling access of files on remote
> system - This change could impact multiple other plugins and it needs
> to be thoroughly tested for multiple use-cases
>
> Mentor -
> To be decided
>
> Kindly share your thoughts, comments and suggestions on the same.
>
> With Best Regards,
> Sree Gowtham Josyula
>
> On Tue, Mar 13, 2018 at 2:20 AM, Riitta-Leena Miettinen
> <Riitta-Leena.Miettinen at qt.io> wrote:
>> Hello,
>>
>> Creating custom compilers is documented here: http://doc.qt.io/qtcreator/creator-tool-chains.html#adding-custom-compilers
>>
>> Leena
>>
>> ----------------------------------------------------------------------------------------------------------------------
>> Leena Miettinen
>> Documentation Engineer
>>
>> The Qt Company Germany GmbH
>> Rudower Chaussee 13
>> D-12489, Berlin, Germany
>> Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho
>> Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
>> riitta-leena.miettinen at qt.io
>> +49 30 63 92 3255
>> http://qt.io
>>
>>> -----Original Message-----
>>> From: Qt-creator [mailto:qt-creator-bounces+riitta-leena.miettinen=qt.io at qt-
>>> project.org] On Behalf Of Eike Ziller
>>> Sent: Dienstag, 13. März 2018 10:00
>>> To: Sree Gowtham Josyula <sreegowthamj at gmail.com>
>>> Cc: qt-creator at qt-project.org
>>> Subject: Re: [Qt-creator] GSoC 2018: New feature proposal for Qt Creator
>>>
>>>
>>> > On Mar 13, 2018, at 09:54, Sree Gowtham Josyula
>>> <sreegowthamj at gmail.com> wrote:
>>> >
>>> > Hi Orgad,
>>> >
>>> > I do not understand what you mean by a custom compiler. Is it some
>>> > sort of a script on development machine which returns the same values
>>> > as the remote compiler when queried with -v and -dM flags? What is its
>>> > significance?
>>>
>>> In Qt Creator settings (Build & Run > Compilers > Add > Custom) you can create
>>> a “custom” compiler, manually specifying ABI, predefined macros, system
>>> include paths etc.
>>> Then you can set that as a compiler for the kit, to make code completion work
>>> with these values.
>>>
>>> Br, Eike
>>>
>>> >
>>> > On Tue, Mar 13, 2018 at 12:41 AM, Orgad Shaneh <orgads at gmail.com>
>>> wrote:
>>> >> On Mon, Mar 12, 2018 at 11:33 PM, Harri Pasanen <harri at mpaja.com>
>>> wrote:
>>> >>>
>>> >>>
>>> >>>
>>> >>>> On Mar 12, 2018, at 4:32 PM, Konstantin Tokarev <annulen at yandex.ru>
>>> >>>> wrote:
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> 12.03.2018, 15:46, "Orgad Shaneh" <orgads at gmail.com>:
>>> >>>>> On Mon, Mar 12, 2018 at 1:38 PM, Sree Gowtham Josyula
>>> >>>>> <sreegowthamj at gmail.com> wrote:
>>> >>>>>> Hi André & Everyone,
>>> >>>>>>
>>> >>>>>> Thanks for showing interest in my suggestion. QTCREATORBUG-16246
>>> is
>>> >>>>>> indeed almost like what I had intended in my previous mail.
>>> >>>>>>
>>> >>>>>>> * Would it be enough to have the files on a network share instead of
>>> >>>>>>> rsync'ing them?
>>> >>>>>>> * Is it really needed to have Clang running on the remote machine?
>>> >>>>>>> Would it be enough to have access to the included headers on
>>> remote?
>>> >>>>>>
>>> >>>>>> I think Network share you suggest is a good idea. It solves both of
>>> >>>>>> the above issues. With network sharing, we wouldn't need rsync and we
>>> >>>>>> wouldn't need to run clang on remote machine.
>>> >>>>>>
>>> >>>>>> I will refine my initial proposal and put forth a more detailed
>>> >>>>>> proposal considering your suggestions and more use-cases asap.
>>> >>>>>> If you have any other thoughts and suggestions, kindly let me know.
>>> >>>>>
>>> >>>>> Hi,
>>> >>>>>
>>> >>>>> I strongly suggest not to use network share. We tried that several
>>> >>>>> years ago (with SMB), and it was awful. Parsing takes forever over the
>>> >>>>> network. Working locally and using rsync before build works much better
>>> >>>>> (once you have ssh keys set up).
>>> >>>>>
>>> >>>>> We have a local partial copy of the sysroot, which includes the include
>>> >>>>> directory, and the shared libraries that are linked with our application
>>> >>>>> (for each platform we support).
>>> >>>>
>>> >>>> Why not to go further and get full copy and toolchain locally?
>>> >>>>
>>> >>>
>>> >>> Network share would in a proper setup be the local disk of the compilation
>>> >>> server.
>>> >>>
>>> >>> Also, one cannot copy locally the toolchain if the server is different OS,
>>> >>> unless a cross compilation environment is setup, which in itself is a major
>>> >>> piece of work.
>>> >>
>>> >>
>>> >> That's right. What we did was to create dummy compilers that return the
>>> same
>>> >> values as the real compiler when called with -v and -dM etc. This is no
>>> >> longer needed, as a "custom compiler" can be created instead.
>>> >>
>>> >> I suggest to read the values from the remote compiler, and create a local
>>> >> custom compiler with the same values (except include directories which
>>> >> should be adapted to the local sysroot location).
>>> >>
>>> >> - Orgad
>>> > _______________________________________________
>>> > Qt-creator mailing list
>>> > Qt-creator at qt-project.org
>>> > http://lists.qt-project.org/mailman/listinfo/qt-creator
>>>
>>> --
>>> Eike Ziller
>>> Principal Software Engineer
>>>
>>> The Qt Company GmbH
>>> Rudower Chaussee 13
>>> D-12489 Berlin
>>> eike.ziller at qt.io
>>> http://qt.io
>>> Geschäftsführer: Mika Pälsi,
>>> Juha Varelius, Mika Harjuaho
>>> Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB
>>> 144331 B
>>>
>>> _______________________________________________
>>> Qt-creator mailing list
>>> Qt-creator at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/qt-creator
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
More information about the Qt-creator
mailing list