summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/man/man.qbs11
-rw-r--r--doc/qbs.qdoc11
-rw-r--r--docker/stretch/Dockerfile5
-rw-r--r--docker/windowsservercore/Dockerfile4
-rw-r--r--qbs-resources/imports/QbsApp.qbs2
5 files changed, 29 insertions, 4 deletions
diff --git a/doc/man/man.qbs b/doc/man/man.qbs
index 99db2b3f8..44e2f0e12 100644
--- a/doc/man/man.qbs
+++ b/doc/man/man.qbs
@@ -1,6 +1,7 @@
import qbs
import qbs.File
import qbs.FileInfo
+import qbs.ModUtils
import qbs.Probes
import qbs.Utilities
@@ -8,7 +9,7 @@ Product {
name: "qbs man page"
type: ["manpage"]
- Depends { name: "qbs_app"; condition: updateManPage }
+ Depends { productTypes: ["qbsapplication"]; condition: updateManPage }
Depends { name: "qbsbuildconfig" }
property bool updateManPage: false
@@ -42,7 +43,13 @@ Product {
throw "Cannot update man page: help2man not available";
if (Utilities.versionCompare(product.qbs.version, "1.9") < 0)
throw "Cannot update man page: qbs >= 1.9 required";
- var args = [explicitlyDependsOn.application[0].filePath, "-o", output.filePath,
+ var qbsApp;
+ for (var i = 0; i < explicitlyDependsOn.application.length; ++i) {
+ var artifact = explicitlyDependsOn.application[i];
+ if (artifact.product.name === "qbs_app")
+ qbsApp = ModUtils.artifactInstalledFilePath(artifact);
+ }
+ var args = [qbsApp, "-o", output.filePath,
"--no-info", "--name=the Qbs build tool"];
var sections = inputs ? inputs["man.section"] : [];
for (var i = 0; i < sections.length; ++i)
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc
index 61f4b2398..058232060 100644
--- a/doc/qbs.qdoc
+++ b/doc/qbs.qdoc
@@ -462,6 +462,17 @@
An installed toolchain has to match the one that Qt was compiled with.
+ \section2 Documentation
+
+ Building the \QBS documentation requires Python 2.7 or 3.2 or above,
+ as well as some third party Python modules. These can be installed via \c pip:
+
+ \code
+ pip install beautifulsoup4 lxml
+ \endcode
+
+ Regenerating the man page requires a Perl module, help2man.
+
\section1 Building
To build \QBS, enter the following command:
diff --git a/docker/stretch/Dockerfile b/docker/stretch/Dockerfile
index ce34cbff8..27bd668b6 100644
--- a/docker/stretch/Dockerfile
+++ b/docker/stretch/Dockerfile
@@ -25,4 +25,7 @@ RUN ls "$QTDIR" && stat "$QTDIR/lib/libQt5Script.so" && qbs --version
RUN apt-get -y update && apt-get install -y \
g++ \
gcc \
- git
+ git \
+ help2man \
+ python-pip
+RUN pip install beautifulsoup4 lxml # for building the documentation
diff --git a/docker/windowsservercore/Dockerfile b/docker/windowsservercore/Dockerfile
index bc194d59e..61a363761 100644
--- a/docker/windowsservercore/Dockerfile
+++ b/docker/windowsservercore/Dockerfile
@@ -23,7 +23,11 @@ RUN @powershell -NoProfile -ExecutionPolicy Bypass -Command \
$Env:chocolateyVersion = '0.10.8' ; \
$Env:chocolateyUseWindowsCompression = 'false' ; \
"iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
+RUN choco install -y python2 --version 2.7.14 && refreshenv && python --version && pip --version
RUN choco install -y qbs --version 1.9.1 && qbs --version
RUN choco install -y unzip --version 6.0 && unzip -v
RUN choco install -y visualcpp-build-tools --version 14.0.25420.1 && dir "%PROGRAMFILES(X86)%\Microsoft Visual C++ Build Tools"
RUN choco install -y zip --version 3.0 && zip -v
+
+# for building the documentation
+RUN pip install beautifulsoup4 lxml
diff --git a/qbs-resources/imports/QbsApp.qbs b/qbs-resources/imports/QbsApp.qbs
index 8e671764d..429aac63c 100644
--- a/qbs-resources/imports/QbsApp.qbs
+++ b/qbs-resources/imports/QbsApp.qbs
@@ -5,7 +5,7 @@ QbsProduct {
Depends { name: "qbscore" }
Depends { name: "cpp" }
Depends { name: "qbsversion" }
- type: "application"
+ type: ["application", "qbsapplication"]
version: qbsversion.version
consoleApplication: true
destinationDirectory: FileInfo.joinPaths(project.buildDirectory, "bin")