diff options
Diffstat (limited to 'examples')
19 files changed, 207 insertions, 0 deletions
diff --git a/examples/unstablecomponent/README b/examples/unstablecomponent/README new file mode 100644 index 000000000..6c081844a --- /dev/null +++ b/examples/unstablecomponent/README @@ -0,0 +1,5 @@ +Shows how to setup an installer that allows install even if there are broken components + +Generate installer with: + +binarycreator -c config/config.xml -p packages installer diff --git a/examples/unstablecomponent/config/config.xml b/examples/unstablecomponent/config/config.xml new file mode 100644 index 000000000..bd9ac49ea --- /dev/null +++ b/examples/unstablecomponent/config/config.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Installer> + <Name>Unstable components Example</Name> + <Version>1.0.0</Version> + <Title>Unstable components Example</Title> + <Publisher>Qt-Project</Publisher> + <StartMenuDir>Qt IFW Examples</StartMenuDir> + <TargetDir>@HomeDir@/IfwExamples/unstablecomponent</TargetDir> + <AllowUnstableComponents>true</AllowUnstableComponents> +</Installer> diff --git a/examples/unstablecomponent/packages/componentB/meta/package.xml b/examples/unstablecomponent/packages/componentB/meta/package.xml new file mode 100644 index 000000000..acf9a3a28 --- /dev/null +++ b/examples/unstablecomponent/packages/componentB/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Component B</DisplayName> + <Description>This component does not depend on any other component.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>90</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentDependsonComponentMissingDependency/meta/package.xml b/examples/unstablecomponent/packages/componentDependsonComponentMissingDependency/meta/package.xml new file mode 100644 index 000000000..42d7cbb30 --- /dev/null +++ b/examples/unstablecomponent/packages/componentDependsonComponentMissingDependency/meta/package.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>ComponentDependsonComponentMissingDependency</DisplayName> + <Description>This component depends on component which is depending on component with missing dependency. User is not able to select this component for install.</Description> + <Dependencies>componentMissingDependency</Dependencies> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>70</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentDependsonComponentwithInvalidScript/meta/installscript.js b/examples/unstablecomponent/packages/componentDependsonComponentwithInvalidScript/meta/installscript.js new file mode 100644 index 000000000..7ad2f4db3 --- /dev/null +++ b/examples/unstablecomponent/packages/componentDependsonComponentwithInvalidScript/meta/installscript.js @@ -0,0 +1,33 @@ +/************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Installer Framework. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +**************************************************************************/ + +function Component() +{ + component.addDependency("componentInvalidScipt"); +} + diff --git a/examples/unstablecomponent/packages/componentDependsonComponentwithInvalidScript/meta/package.xml b/examples/unstablecomponent/packages/componentDependsonComponentwithInvalidScript/meta/package.xml new file mode 100644 index 000000000..4df66da40 --- /dev/null +++ b/examples/unstablecomponent/packages/componentDependsonComponentwithInvalidScript/meta/package.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Component depends on ComponentWithInvalidScript)</DisplayName> + <Description>Depends on component with invalid script. User is not able to select this component for install.</Description> + <Default>true</Default> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <Script>installscript.js</Script> + <SortingPriority>30</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentE/meta/package.xml b/examples/unstablecomponent/packages/componentE/meta/package.xml new file mode 100644 index 000000000..a19c4f7a9 --- /dev/null +++ b/examples/unstablecomponent/packages/componentE/meta/package.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Component E (forced)</DisplayName> + <Description>This is a forced component that is always installed.</Description> + <ForcedInstallation>true</ForcedInstallation> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>60</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentF.subcomponent1.subsubcomponent1/meta/package.xml b/examples/unstablecomponent/packages/componentF.subcomponent1.subsubcomponent1/meta/package.xml new file mode 100644 index 000000000..717eb723f --- /dev/null +++ b/examples/unstablecomponent/packages/componentF.subcomponent1.subsubcomponent1/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Subsubcomponent 1</DisplayName> + <Description>This component does not depend on any other component.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>100</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentF.subcomponent1.subsubcomponent2/meta/package.xml b/examples/unstablecomponent/packages/componentF.subcomponent1.subsubcomponent2/meta/package.xml new file mode 100644 index 000000000..29bc65ffa --- /dev/null +++ b/examples/unstablecomponent/packages/componentF.subcomponent1.subsubcomponent2/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Subsubcomponent 2</DisplayName> + <Description>This component does not depend on any other component.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>50</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentF.subcomponent1/meta/package.xml b/examples/unstablecomponent/packages/componentF.subcomponent1/meta/package.xml new file mode 100644 index 000000000..7111a9031 --- /dev/null +++ b/examples/unstablecomponent/packages/componentF.subcomponent1/meta/package.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Subcomponent 1</DisplayName> + <Description>This component contains 2 leaf components.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>100</SortingPriority> + <Dependencies>componentA</Dependencies> +</Package> diff --git a/examples/unstablecomponent/packages/componentF.subcomponent2.subsubcomponent1/meta/package.xml b/examples/unstablecomponent/packages/componentF.subcomponent2.subsubcomponent1/meta/package.xml new file mode 100644 index 000000000..717eb723f --- /dev/null +++ b/examples/unstablecomponent/packages/componentF.subcomponent2.subsubcomponent1/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Subsubcomponent 1</DisplayName> + <Description>This component does not depend on any other component.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>100</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentF.subcomponent2.subsubcomponent2/meta/package.xml b/examples/unstablecomponent/packages/componentF.subcomponent2.subsubcomponent2/meta/package.xml new file mode 100644 index 000000000..29bc65ffa --- /dev/null +++ b/examples/unstablecomponent/packages/componentF.subcomponent2.subsubcomponent2/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Subsubcomponent 2</DisplayName> + <Description>This component does not depend on any other component.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>50</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentF.subcomponent2/meta/package.xml b/examples/unstablecomponent/packages/componentF.subcomponent2/meta/package.xml new file mode 100644 index 000000000..131f4799e --- /dev/null +++ b/examples/unstablecomponent/packages/componentF.subcomponent2/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Subcomponent 2</DisplayName> + <Description>This component contains 2 leaf components.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>50</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentF/meta/package.xml b/examples/unstablecomponent/packages/componentF/meta/package.xml new file mode 100644 index 000000000..7f24c4f35 --- /dev/null +++ b/examples/unstablecomponent/packages/componentF/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>Component F</DisplayName> + <Description>This component contains 2 subcomponents.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>40</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentMissingDependency/meta/package.xml b/examples/unstablecomponent/packages/componentMissingDependency/meta/package.xml new file mode 100644 index 000000000..52cb99c1a --- /dev/null +++ b/examples/unstablecomponent/packages/componentMissingDependency/meta/package.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>ComponentMissingDependency</DisplayName> + <Description>This component depends on component which does not exists. User is not able to select this component for install.</Description> + <Dependencies>componentDoesnotExists</Dependencies> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>80</SortingPriority> +</Package> diff --git a/examples/unstablecomponent/packages/componentWithInvalidScipt/data/installcontent.txt b/examples/unstablecomponent/packages/componentWithInvalidScipt/data/installcontent.txt new file mode 100644 index 000000000..f40001983 --- /dev/null +++ b/examples/unstablecomponent/packages/componentWithInvalidScipt/data/installcontent.txt @@ -0,0 +1,2 @@ +This file will be installed into the target directory.... + diff --git a/examples/unstablecomponent/packages/componentWithInvalidScipt/meta/installscript.js b/examples/unstablecomponent/packages/componentWithInvalidScipt/meta/installscript.js new file mode 100644 index 000000000..4ca6a8816 --- /dev/null +++ b/examples/unstablecomponent/packages/componentWithInvalidScipt/meta/installscript.js @@ -0,0 +1,33 @@ +/************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Installer Framework. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +**************************************************************************/ + +function Component() +{ + component.invalidScriptCall() +} + diff --git a/examples/unstablecomponent/packages/componentWithInvalidScipt/meta/package.xml b/examples/unstablecomponent/packages/componentWithInvalidScipt/meta/package.xml new file mode 100644 index 000000000..7bf69ccc4 --- /dev/null +++ b/examples/unstablecomponent/packages/componentWithInvalidScipt/meta/package.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<Package> + <DisplayName>ComponentWithInvalidScript</DisplayName> + <Description>This component has an invalid script. User is not able to select this component for install.</Description> + <Version>1.0.0</Version> + <ReleaseDate>2018-02-02</ReleaseDate> + <SortingPriority>100</SortingPriority> + <Script>installscript.js</Script> +</Package> diff --git a/examples/unstablecomponent/unstablecomponent.pro b/examples/unstablecomponent/unstablecomponent.pro new file mode 100644 index 000000000..415df49d5 --- /dev/null +++ b/examples/unstablecomponent/unstablecomponent.pro @@ -0,0 +1,13 @@ +TEMPLATE = aux + +INSTALLER = installer + +INPUT = $$PWD/config/config.xml $$PWD/packages +example.input = INPUT +example.output = $$INSTALLER +example.commands = ../../bin/binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT} +example.CONFIG += target_predeps no_link combine + +QMAKE_EXTRA_COMPILERS += example + +OTHER_FILES = README |