diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2021-02-24 09:51:16 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2021-02-24 17:44:50 +0100 |
commit | e827cb144ee9886134a946c7a3b316f9eeb83168 (patch) | |
tree | 44dcd483a7bd808f2095000bb80842419dc31263 | |
parent | 61c2fb9a189254df4bc609ca248c922984c47565 (diff) |
qtcreator: Create *.pro.shared files instead of *.pro.user
Generating *.pro.user files is not ideal; they're
supposed to hold user-specific settings for a project,
and thus also to persist manual changes made by the user
after initial import of the project.
Generate *.pro.shared files instead which are
meant to be used to share project settings. [1]
This just changes the file name of the generated
file for now, but leaves the content the same.
The result for the initial loading of the project from
a '*.pro' file is basically still the same from a user
perspective:
A new kit 'Replacement for "Desktop"' is generated on
the fly which contains the build and run settings
specified in the corresponding '*.pro.shared' file.
By using the '*.pro.shared' files, user-specific settings
made after initial import will no longer
be overwritten by running 'make qtcreator-ide-integration'
again, since the '*.pro.user' files are left as they are.
The '*.pro.shared' files generated here still contain
information specific to the local setup (like file paths).
For some more background on LO's Qt Creator IDE integration,
s. dev mailing list thread "Added some information about
Qt Creator IDE integration to the wiki" [2].
[1] https://doc.qt.io/qtcreator/creator-sharing-project-settings.html
[2] https://lists.freedesktop.org/archives/libreoffice/2021-February/thread.html#86800
Change-Id: Ia187bcbffe5297a1cdf6bfeaaabf7867003195e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111474
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | bin/gbuild-to-ide | 40 |
2 files changed, 21 insertions, 20 deletions
diff --git a/.gitignore b/.gitignore index dea264a366fa..d89e5b12035f 100644 --- a/.gitignore +++ b/.gitignore @@ -142,6 +142,7 @@ LibreOffice.VC.VC.opendb # QtCreator specific *.pro +*.pro.shared *.pro.user *.pro.user.* diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide index ed1632232c92..10d9b2bcc47a 100755 --- a/bin/gbuild-to-ide +++ b/bin/gbuild-to-ide @@ -1511,33 +1511,33 @@ class QtCreatorIntegrationGenerator(IdeIntegrationGenerator): <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> """ - def generate_pro_user_content(self, lib_folder): + def generate_pro_shared_content(self, lib_folder): build_configs = self.generate_build_configs(lib_folder) deploy_configs = self.generate_deploy_configs(lib_folder) run_configs = self.generate_run_configs(lib_folder) - xml = QtCreatorIntegrationGenerator.pro_user_template % { + xml = QtCreatorIntegrationGenerator.pro_shared_template % { 'build_configs': build_configs, 'deploy_configs': deploy_configs, 'run_configs': run_configs, } return xml - def generate_meta_pro_user_content(self): + def generate_meta_pro_shared_content(self): build_configs = self.generate_meta_build_configs() deploy_configs = self.generate_deploy_configs("") run_configs = self.generate_run_configs("") - xml = QtCreatorIntegrationGenerator.pro_user_template % { + xml = QtCreatorIntegrationGenerator.pro_shared_template % { 'build_configs': build_configs, 'deploy_configs': deploy_configs, 'run_configs': run_configs, } return xml - pro_user_template = """<?xml version="1.0" encoding="UTF-8"?> + pro_shared_template = """<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> <!-- Written by QtCreator 3.1.1, 2015-05-14T15:54:34. --> <qtcreator> @@ -1645,10 +1645,10 @@ class QtCreatorIntegrationGenerator(IdeIntegrationGenerator): self._log("unable to remove %s\n" % afile) do_remove_file(self.base_folder, "lo.pro") - do_remove_file(self.base_folder, "lo.pro.user") + do_remove_file(self.base_folder, "lo.pro.shared") for location in self.target_by_location: for f in os.listdir(location): - if f.endswith('.pro') or f.endswith('.pro.user'): + if f.endswith('.pro') or f.endswith('.pro.shared'): do_remove_file(location, f) def get_source_extension(self, src_file): @@ -1756,7 +1756,7 @@ class QtCreatorIntegrationGenerator(IdeIntegrationGenerator): self.base_folder = self.gbuildparser.builddir - # we remove existing '.pro' and '.pro.user' files + # we remove existing '.pro' and '.pro.shared' files self.remove_qt_files() # for .pro files, we must explicitly list all files (.c, .h) @@ -1797,15 +1797,15 @@ class QtCreatorIntegrationGenerator(IdeIntegrationGenerator): print(temp, file=sys.stderr) print("\n\n", file=sys.stderr) - # create .pro.user file - qt_pro_user_file = '%s/%s.pro.user' % (lib_loc, lib_name) + # create .pro.shared file + qt_pro_shared_file = '%s/%s.pro.shared' % (lib_loc, lib_name) try: - with open(qt_pro_user_file, mode) as fprouser: - fprouser.write(self.generate_pro_user_content(lib_folder)) - self._log("created %s\n" % qt_pro_user_file) + with open(qt_pro_shared_file, mode) as fproshared: + fproshared.write(self.generate_pro_shared_content(lib_folder)) + self._log("created %s\n" % qt_pro_shared_file) except Exception as e: - print("ERROR : creating pro.user file=" + qt_pro_user_file, file=sys.stderr) + print("ERROR : creating pro.shared file=" + qt_pro_shared_file, file=sys.stderr) print(e, file=sys.stderr) temp = traceback.format_exc() print(temp, file=sys.stderr) @@ -1826,15 +1826,15 @@ class QtCreatorIntegrationGenerator(IdeIntegrationGenerator): print(temp, file=sys.stderr) print("\n\n", file=sys.stderr) - # create meta .pro.user file - qt_meta_pro_user_file = 'lo.pro.user' + # create meta .pro.shared file + qt_meta_pro_shared_file = 'lo.pro.shared' try: - with open(qt_meta_pro_user_file, mode) as fmprouser: - fmprouser.write(self.generate_meta_pro_user_content()) - self._log("created %s\n" % qt_meta_pro_user_file) + with open(qt_meta_pro_shared_file, mode) as fmproshared: + fmproshared.write(self.generate_meta_pro_shared_content()) + self._log("created %s\n" % qt_meta_pro_shared_file) except Exception as e: - print("ERROR : creating lo.pro.user file=" + qt_meta_pro_user_file, file=sys.stderr) + print("ERROR : creating lo.pro.shared file=" + qt_meta_pro_shared_file, file=sys.stderr) print(e, file=sys.stderr) temp = traceback.format_exc() print(temp, file=sys.stderr) |