[Qt-creator] Behavior of .pro.shared files in QtCreator 2.8 beta

Epting, Thomas thomas.epting at stryker.com
Fri Jun 21 07:53:50 CEST 2013


Hello Tobias,

Thanks for your answer!

I already had a look at the code and found nothing wrong about it at the first glance. However, even a very simple .pro file (working well with QtCreator 2.7) seems to have no effect anymore in QtCreator 2.8 (built this morning).

[myproject.pro.shared]
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Handcrafted -->

<qtcreator>

 <data>
  <variable>ProjectExplorer.Project.EditorSettings</variable>
  <valuemap type="QVariantMap">
   <value type="bool" key="EditorConfiguration.UseGlobal">false</value>
   <value type="int" key="EditorConfiguration.IndentSize">7</value>
   <value type="int" key="EditorConfiguration.TabSize">6</value>
  </valuemap>
 </data>
 
 <data>
  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
  <value type="int">12</value>
 </data>
 
</qtcreator>

Regarding the kit IDs: Yes, we have ensured that the kit IDs are the same on all our machines. So there should be no issue with them (and there's actually none with QtCreator 2.7).

Best regards,
Thomas


-----Ursprüngliche Nachricht-----
Von: Tobias Hunger [mailto:tobias.hunger at gmail.com] 
Gesendet: Donnerstag, 20. Juni 2013 21:15
An: Epting, Thomas
Cc: qt-creator
Betreff: Re: [Qt-creator] Behavior of .pro.shared files in QtCreator 2.8 beta

Hello Thomas,

No, the code has not changed in any significant way as far as I am aware of.

What creator will do (on the top of my head) is check the version of the shared and the user file, bring up the one with the lower file version to the higher on, merge the settings of the shared settings with the user settings and then proceed with upgrading the merged settings to the newest version of the file.

It will *not* write into either the .shared nor the .user file, but the .user file will later be overwritten by other code. The .shared file will not get changed though. This is by design: We do not want to some people that will work with the latest and greatest from the master branch to upgrade the .shared file, making it unusable for anybody that is using a stable Creator from the Qt SDK or your favorite linux distribution. You will need to update the .shared file manually once you are sure everybody has upgraded.

There is no need to have the environment id in the .shared file. Each user will have his own anyway, so that should never apply.

Having targets in a .shared file is tricky (the .shared mechanism was meant for the editor settings only): That will only ever work if you have kits with the same ID (which is usually generated randoml!) for _all_ your users. You might also need toolchains, etc. to be identical (incl. the ids, which is the tricky part again). The only way to do that is basically to use the sdktool to set up all the kits for all users. So did you do that with the QtC 2.8 beta? If not, then the kits will be dropped and you might get a warning on the console.

Hope this helps...

Best Regards,
Tobias


2013/6/19 Epting, Thomas <thomas.epting at stryker.com>:
> Hi all,
>
> I'm wondering whether the treatment of .pro.shared files has changed 
> in
> 2.8 beta (current git version).
>
> In 2.7, I had a .pro.shared file as shown below (shortened for 
> readability reasons). It works perfectly with 2.7 and as of my 
> understanding it should get updated automatically to version 14 in 2.8 
> beta. But in fact, QtCreator behaves as if no .pro.shared file is 
> available. Is there any known reason for this?
>
> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> 
> <qtcreator>  <data>
>   <variable>ProjectExplorer.Project.Target.0</variable>
>   <valuemap type="QVariantMap">
>    <value type="QString"
> key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">[...]</v
> al
> ue>
>    [...]
>   </valuemap>
>  </data>
>  <data>
>    <variable>ProjectExplorer.Project.TargetCount</variable>
>  </data>
>  <data>
>   <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
>   <value type="QString">{d6d2f4d3-8bf1-4606-b263-6cdeac4a54f1}</value>
>  </data>
>  <data>
>   <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
>   <value type="int">12</value>
>  </data>
> </qtcreator>
>
> Many thanks for your advice,
> Thomas
>
>
> _______________________________________________
> 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