Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] What exactly is CDT core build?
  • From: Torbjörn Svensson <azoff@xxxxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Thu, 20 Aug 2020 21:38:29 +0200
  • Autocrypt: addr=azoff@xxxxxxxxxxxxxxxxxxxxxxxxx; prefer-encrypt=mutual; keydata= mQGiBD75zVURBADU0lT3YbBVY3SO9XGZp31+Q94bo97YOLLrNUZPw8Eg8DTX8e6nWzs6kAS9 56N9d14YD/FXq0lQaZTOkAjVE6gh5CdIgrzL0i6LwA80Skb57IXo3bBW1BeEPN4d9o+wHlet Xo3crZfOZVOXOpBQObzzgxMUTdEghmqK7K5ESl1qBwCg1/jsWVEvhhAxP+4HqUbwL4sXXx8D /1aHKcjOBu6W1PCWgKsZ2OUDpFEgvSq1AI5ZR1kO1HRC2eUHkK9+vM3xHW5BTmXHbQ+tIDq9 z982Q5vXf1Kn1MT3mW6v2hTLlExeI6xHRJX0n86QbEVULGbB1ThF+zXjzc8Xy+n+2RxWLViM H1FTUUL0wSPRv7LKpRc8XxqsNtdVA/9ExQ8wsAX5pXs466dOqKci91iXEET0XJf1pXIoQd6r M+nYMrfHhM572aR4km6bcyz385GaY7b+giERAvVmOgzni/I6aJ1sk8pm9anyfQlcujhUEe6/ JuvC2G7Hk/1sgxOA4oIMv6f9FHwrne/FNO0Fa1+mI5m5av5of3YpYuD71bQ0VG9yYmrDtnJu IFN2ZW5zc29uIDxhem9mZkBzdmVuc2thbGludXhmb3JlbmluZ2VuLnNlPohiBBMRAgAiBQJN t8OhAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB5juOa29sM/WgSAJ9lgvJ15J0b uUCjq/oJ2xyDsaVqLgCgstXFsRnYiPKvLOty0RIOHqWYX9u5Ag0EPvnNXRAIAMHdulbTqTW7 1qYtcmyOzS/83U6PMJ8hYL1k2DMWB+biBxVdXL6KTnMeo8oZ307KZSC/9L4/jKt6qbLiFZNR g8IAd8oDz2IfBgQLqsW+9cbwcLRFZWmVDPEIHPGwmEm6VqNgWtaG1zXAKy35iAnpc8ORUtqF +2CGMkYhr1EO0FJ3x6RfOY8jwLN9KpOR3p7D5JW6aY/WLpy8BS77jvCoHsN6nhBiQp3Zb6uG B+XIa2cVQqGW/5eOGlomoZEDyS7fV1bhXCcyJSwWLZ7svSoOqUfgmJC+bT4qNNi/piHJ38XP 2wpfwSg/NIPh5RXBKNgAFtgHRkPGTWFu6yJyQMwf0ocAAwUH/1bOur4C+L0wt55cXyH2KGK5 NSMli2Hb8ZpeoMtPtlr+7cItytN/v0SlF5OzAk0ohMt6g3czIytjn28hi+/yJc+tDRWzrX6P lToSfqmd8vtck6QwImHNXq5CVMRVnt5d3pboAp6LhJRFnGRAYplnHgEbQtIFkuXTCesje/gC Q3qqvy0v27zLzv9yjTuIn6IwlE4HAi47weN9ArlMDD3kFk5f6ggNgcRxHBFMAOBfT2xJvNtG NJ+CWBvKKnA/f9437n7ZvYFmrhczCALyzSZg9em01xEW8VsKYSz3Yr9SOnTHJKGPbRWZA92G PabHonhphJSFScrgy9nV+AX1ImoZjLmIRgQYEQIABgUCPvnNXQAKCRB5juOa29sM/d2GAJ99 vRSy1mKmX4BXwRlU3GHasX51VQCfc4gIooSvI/JfWwRxUF/913gUmm4=
  • Delivered-to: cdt-dev@xxxxxxxxxxx
  • List-archive: <>
  • List-help: <>
  • List-subscribe: <>, <>
  • List-unsubscribe: <>, <>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

On 20/08/2020 21:29, Jonah Graham wrote:
> On Thu, 20 Aug 2020 at 14:59, Liviu Ionescu <ilg@xxxxxxxxxx> wrote:
>>> On 20 Aug 2020, at 21:12, 15 knots <fifteenknots505@xxxxxxxxx> wrote:
>>> I can see that
>>> CBuildConfiguration uses osgi.service.prefs.Preferences to store the
>>> project settings.
>> Since I don't know the scope of CBuildConfiguration, I might be completely
>> off topic, and in this case disregards my comment, but please be sure you
>> preserve the distinction between configuration and preferences.
>> A configuration is a set of definitions specific to the project. The
>> file(s) used to store it must be portable, in other words it should not
>> store absolute paths or other platform specific definitions, and generally
>> should be valid on all platforms (Windows, macOS, GNU/Linux). Configuration
>> files can be safely stored in repositories.
>> Preferences are definitions specific to a platform. They can include
>> absolute paths and other information specific to the developer or the
>> developer environment. Preferences should not be stored in repositories,
>> since they generally collide with other team member preferences.
> I think that is not the universal definitions in CDT for preferences vs
> configuration. It is complicated by the fact that Preferences is an API as
> well as a concept - more below.
>> As an example, .project and .cproject are configuration files, and should
>> be stored in the repository (assuming they include portable definitions),
>> and the files in the .settings folder should generally not be saved in a
>> repository.
> I think this is an interesting point and I would appreciate some more
> insight on your views on this. The irony of my role is I spend all my time
> in Java land and end up more familiar with JDT as a user than CDT itself.
> I 100% agree that if there is an absolute path in a setting it should not
> (generally) be checked in, equally indexer settings related to performance
> and scalability. But most of what I generally see checked in .settings are
> things like formatter preferences, codan settings, language settings and
> other more minor stuff.
> There are those that advocate that even .cproject/.project should not be
> checked in - but I think this camp is mostly when team members are not all
> using Eclipse CDT.
> Thanks for your insights.
> Jonah

In my experience, I've always included the .settings directory in
GIT/SVN to make sure that the same settings were used for all developers
of the project.

I would like to remind everyone that files that are placed in the
.settings directory does not relate to any build configuration (or
similar concept) and needs to be handled with care.
Why do I say this?
Well, I used to work on a product that placed a file in the .settings
directory that contained some target related settings that appeared to
be fine at that time, but later on, there was a new requirement to
support different targets via different build configurations (managed
build, yes I know, but I still think it's a valid point). This ended up
being a lot messier than it had to be if we had simply avoided the
.settings file to begin with.

Kind regards,

Back to the top