Documentation Tools: changed logic such, that a missing 'qcollectiongenerator' executable is ignored an Qt 5.12 is assumed (it has the function integrated in 'qhelpgenerator').

Mon, 21 Jan 2019 19:12:29 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 21 Jan 2019 19:12:29 +0100
changeset 6666
06f6e0f24e89
parent 6665
adb59475e671
child 6667
d45c9b0c3851

Documentation Tools: changed logic such, that a missing 'qcollectiongenerator' executable is ignored an Qt 5.12 is assumed (it has the function integrated in 'qhelpgenerator').

DocumentationTools/QtHelpGenerator.py file | annotate | diff | comparison | revisions
Plugins/PluginEricdoc.py file | annotate | diff | comparison | revisions
--- a/DocumentationTools/QtHelpGenerator.py	Sun Jan 20 19:38:51 2019 +0100
+++ b/DocumentationTools/QtHelpGenerator.py	Mon Jan 21 19:12:29 2019 +0100
@@ -16,8 +16,7 @@
 import subprocess
 
 from Utilities import joinext, relpath, html_encode, getQtBinariesPath, \
-    generateQtToolName
-from Globals import qVersionTuple
+    generateQtToolName, isExecutable
 
 HelpCollection = r"""<?xml version="1.0" encoding="utf-8" ?>
 <QHelpCollectionProject version="1.0">
@@ -271,24 +270,30 @@
         
         cwd = os.getcwd()
         # generate the compressed files
+        qhelpgeneratorExe = os.path.join(
+            getQtBinariesPath(), generateQtToolName("qhelpgenerator")
+        )
         shutil.copy(
             os.path.join(self.outputDir, HelpProjectFile), self.htmlDir)
         os.chdir(self.htmlDir)
         subprocess.call([
-            os.path.join(getQtBinariesPath(),
-                         generateQtToolName("qhelpgenerator")),
+            qhelpgeneratorExe,
             HelpProjectFile, "-o", os.path.join(self.outputDir, HelpHelpFile)])
         os.remove(HelpProjectFile)
         
-        # TODO: do this with qhelpgenerator >= 5.12.0
-        if qVersionTuple() < (5, 12, 0) and self.createCollection:
+        if self.createCollection:
+            qcollectiongeneratorExe = os.path.join(
+                getQtBinariesPath(), generateQtToolName("qcollectiongenerator")
+            )
+            if not isExecutable(qcollectiongeneratorExe):
+                # assume Qt >= 5.12.0
+                qcollectiongeneratorExe = qhelpgeneratorExe
             sys.stdout.write("Generating QtHelp collection...\n")
             sys.stdout.flush()
             sys.stderr.flush()
             os.chdir(self.outputDir)
             subprocess.call([
-                os.path.join(getQtBinariesPath(),
-                             generateQtToolName("qcollectiongenerator")),
+                qcollectiongeneratorExe,
                 HelpCollectionProjectFile, "-o", HelpCollectionFile])
         
         os.chdir(cwd)
--- a/Plugins/PluginEricdoc.py	Sun Jan 20 19:38:51 2019 +0100
+++ b/Plugins/PluginEricdoc.py	Mon Jan 21 19:12:29 2019 +0100
@@ -18,7 +18,6 @@
 
 from E5Gui.E5Action import E5Action
 
-from Globals import qVersionTuple
 import Utilities
 import UI.Info
 
@@ -73,7 +72,10 @@
     })
     
     # 2. Qt Help Generator
-    exe = os.path.join(Utilities.getQtBinariesPath(), 'qhelpgenerator')
+    exe = os.path.join(
+        Utilities.getQtBinariesPath(),
+        Utilities.generateQtToolName('qhelpgenerator')
+    )
     if Utilities.isWindowsPlatform():
         exe += '.exe'
     dataList.append({
@@ -88,11 +90,15 @@
         "versionCleanup": (0, -1),
     })
     
-    if qVersionTuple() < (5, 12, 0):
-        # 3. Qt Collection Generator
-        exe = os.path.join(Utilities.getQtBinariesPath(), 'qcollectiongenerator')
-        if Utilities.isWindowsPlatform():
-            exe += '.exe'
+    # 3. Qt Collection Generator
+    exe = os.path.join(
+        Utilities.getQtBinariesPath(),
+        Utilities.generateQtToolName('qcollectiongenerator')
+    )
+    if Utilities.isWindowsPlatform():
+        exe += '.exe'
+    if Utilities.isExecutable(exe):
+        # assume Qt 5.,12 if it is missing
         dataList.append({
             "programEntry": True,
             "header": QCoreApplication.translate(

eric ide

mercurial