diff options
author | Katja Marttila <katja.marttila@qt.io> | 2018-03-09 10:21:54 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2018-09-26 04:46:21 +0000 |
commit | 0f8d11ca8e8312fc0d0dc56e0c2a1154ff3de77c (patch) | |
tree | a0f00dbacd2c03ee3013e648464e2df61c7d1b8b /examples/repositorycategories | |
parent | b3d140a2c899219a02c1b31efa4e36723eb71c07 (diff) |
Enable usage of categorized repositories
This change allows to categorize repositories in component selection
page. Using categorized repositories will by default show only
uncagetorized repository items in tree. Selecting one or several categories
using checkbox will update the treeview to show all selected categorized repository
content. Repository's metadata is fetched only after the category is selected.
Categorized repositories can be defined in config.xml:
<RepositoryCategories>
<RemoteRepositories>
<Displayname>category 1</Displayname>
<Repository> <Url>(url)</Url></Repository>
</RemoteReposiories>
...
<RepositoryCategories
Change-Id: I6eae9daee70b1afa322144d52c11f25d0b655ebf
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'examples/repositorycategories')
19 files changed, 156 insertions, 0 deletions
diff --git a/examples/repositorycategories/README b/examples/repositorycategories/README new file mode 100644 index 000000000..4a1f491c6 --- /dev/null +++ b/examples/repositorycategories/README @@ -0,0 +1,30 @@ +Shows how to set up an online installer and how to use categorized repositories. Categorized repositories are not loaded to the tree view by default, instead you can select +to show categorized repositories in a tree view combobox. By default, repositories without categories are always shown in the tree view. + +The example uses a very simple web server shipped with Python. + +Generate the online repositories with + + repogen -p packages repository + repogen -p packages_forcategory1 repository1 + repogen -p packages2_forcategory1 repository2 + repogen -p packages_forcategory2 repository3 + +Generate the installer with + + binarycreator --online-only -c config/config.xml -p packages installer + +Now launch a minimal web server in the example's directory (admin rights may be needed) + + python -m SimpleHTTPServer 80 + +This should make the content of the local directory available under +http://localhost + +You should be able to now launch the installer. + +To deploy an update, run + + repogen --update-new-components -p packages_update repository + +and launch the maintenance tool in your installation. diff --git a/examples/repositorycategories/config/config.xml b/examples/repositorycategories/config/config.xml new file mode 100644 index 000000000..c61e4893d --- /dev/null +++ b/examples/repositorycategories/config/config.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Installer> + <Name>Repository category Installer Example</Name> + <Version>1.0.0</Version> + <Title>Repository category Installer Example</Title> + <Publisher>The Qt Company</Publisher> + <!-- Directory name is used in component.xml --> + <StartMenuDir>Qt IFW Examples</StartMenuDir> + <TargetDir>@HomeDir@/IfwExamples/repositoryCategories</TargetDir> + <RemoteRepositories> + <Repository> + <Url>http://localhost/repository</Url> + </Repository> + </RemoteRepositories> + <RepositoryCategories> + <RepositoryCategoryDisplayname>Releases</RepositoryCategoryDisplayname> + <RemoteRepositories> + <DisplayName>Category 1</DisplayName> + <Repository> + <Url>http://localhost/repository1</Url> + </Repository> + <Repository> + <Url>http://localhost/repository2</Url> + </Repository> + </RemoteRepositories> + <RemoteRepositories> + <DisplayName>Category 2</DisplayName> + <Repository> + <Url>http://localhost/repository3</Url> + </Repository> + </RemoteRepositories> + </RepositoryCategories> +</Installer> diff --git a/examples/repositorycategories/packages/A/data/A.txt b/examples/repositorycategories/packages/A/data/A.txt new file mode 100644 index 000000000..98114dd6e --- /dev/null +++ b/examples/repositorycategories/packages/A/data/A.txt @@ -0,0 +1,2 @@ +Example content for package A. + diff --git a/examples/repositorycategories/packages/A/meta/package.xml b/examples/repositorycategories/packages/A/meta/package.xml new file mode 100644 index 000000000..08cef59c0 --- /dev/null +++ b/examples/repositorycategories/packages/A/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>A</DisplayName> + <Description>Example component A</Description> + <Version>1.0.2-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages/B/data/B.txt b/examples/repositorycategories/packages/B/data/B.txt new file mode 100644 index 000000000..1ee864074 --- /dev/null +++ b/examples/repositorycategories/packages/B/data/B.txt @@ -0,0 +1,2 @@ +Example content for package B. + diff --git a/examples/repositorycategories/packages/B/meta/package.xml b/examples/repositorycategories/packages/B/meta/package.xml new file mode 100644 index 000000000..44e90b9a2 --- /dev/null +++ b/examples/repositorycategories/packages/B/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>B</DisplayName> + <Description>Example component B</Description> + <Version>1.0.0-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages2_forcategory1/A2Cagetory1/data/A2_category1.txt b/examples/repositorycategories/packages2_forcategory1/A2Cagetory1/data/A2_category1.txt new file mode 100644 index 000000000..2b328a750 --- /dev/null +++ b/examples/repositorycategories/packages2_forcategory1/A2Cagetory1/data/A2_category1.txt @@ -0,0 +1,2 @@ +Example content for package A2, using category 1. + diff --git a/examples/repositorycategories/packages2_forcategory1/A2Cagetory1/meta/package.xml b/examples/repositorycategories/packages2_forcategory1/A2Cagetory1/meta/package.xml new file mode 100644 index 000000000..02d175868 --- /dev/null +++ b/examples/repositorycategories/packages2_forcategory1/A2Cagetory1/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>A2 (from category 1)</DisplayName> + <Description>Example component A2</Description> + <Version>1.0.3-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages2_forcategory1/B2Category1/data/B2_category1.txt b/examples/repositorycategories/packages2_forcategory1/B2Category1/data/B2_category1.txt new file mode 100644 index 000000000..56baa1709 --- /dev/null +++ b/examples/repositorycategories/packages2_forcategory1/B2Category1/data/B2_category1.txt @@ -0,0 +1,2 @@ +Example content for package B2, using category 1. + diff --git a/examples/repositorycategories/packages2_forcategory1/B2Category1/meta/package.xml b/examples/repositorycategories/packages2_forcategory1/B2Category1/meta/package.xml new file mode 100644 index 000000000..0c0b0411d --- /dev/null +++ b/examples/repositorycategories/packages2_forcategory1/B2Category1/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>B2 (from category 1)</DisplayName> + <Description>Example component B</Description> + <Version>1.0.0-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages_forcategory1/ACagetory1/data/A_category1.txt b/examples/repositorycategories/packages_forcategory1/ACagetory1/data/A_category1.txt new file mode 100644 index 000000000..e899cb202 --- /dev/null +++ b/examples/repositorycategories/packages_forcategory1/ACagetory1/data/A_category1.txt @@ -0,0 +1,2 @@ +Example content for package A, using category 1. + diff --git a/examples/repositorycategories/packages_forcategory1/ACagetory1/meta/package.xml b/examples/repositorycategories/packages_forcategory1/ACagetory1/meta/package.xml new file mode 100644 index 000000000..1f0e795e9 --- /dev/null +++ b/examples/repositorycategories/packages_forcategory1/ACagetory1/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>A (from category 1)</DisplayName> + <Description>Example component A</Description> + <Version>1.0.3-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages_forcategory1/BCategory1/data/B_category1.txt b/examples/repositorycategories/packages_forcategory1/BCategory1/data/B_category1.txt new file mode 100644 index 000000000..d355cb633 --- /dev/null +++ b/examples/repositorycategories/packages_forcategory1/BCategory1/data/B_category1.txt @@ -0,0 +1,2 @@ +Example content for package B, using category 1. + diff --git a/examples/repositorycategories/packages_forcategory1/BCategory1/meta/package.xml b/examples/repositorycategories/packages_forcategory1/BCategory1/meta/package.xml new file mode 100644 index 000000000..98b9776fd --- /dev/null +++ b/examples/repositorycategories/packages_forcategory1/BCategory1/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>B (from category 1)</DisplayName> + <Description>Example component B</Description> + <Version>1.0.0-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages_forcategory2/ACategory2/data/A_category2.txt b/examples/repositorycategories/packages_forcategory2/ACategory2/data/A_category2.txt new file mode 100644 index 000000000..0a10aa452 --- /dev/null +++ b/examples/repositorycategories/packages_forcategory2/ACategory2/data/A_category2.txt @@ -0,0 +1,2 @@ +Example content for package A, using category 2. + diff --git a/examples/repositorycategories/packages_forcategory2/ACategory2/meta/package.xml b/examples/repositorycategories/packages_forcategory2/ACategory2/meta/package.xml new file mode 100644 index 000000000..25a25f94e --- /dev/null +++ b/examples/repositorycategories/packages_forcategory2/ACategory2/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>A (from category 2)</DisplayName> + <Description>Example component A</Description> + <Version>1.0.3-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/packages_forcategory2/BCategory2/data/B_category2.txt b/examples/repositorycategories/packages_forcategory2/BCategory2/data/B_category2.txt new file mode 100644 index 000000000..ebf02b452 --- /dev/null +++ b/examples/repositorycategories/packages_forcategory2/BCategory2/data/B_category2.txt @@ -0,0 +1,2 @@ +Example content for package B, using category 2. + diff --git a/examples/repositorycategories/packages_forcategory2/BCategory2/meta/package.xml b/examples/repositorycategories/packages_forcategory2/BCategory2/meta/package.xml new file mode 100644 index 000000000..fa21c631b --- /dev/null +++ b/examples/repositorycategories/packages_forcategory2/BCategory2/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>B (from category 2)</DisplayName> + <Description>Example component B</Description> + <Version>1.0.0-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/examples/repositorycategories/repositorycategories.pro b/examples/repositorycategories/repositorycategories.pro new file mode 100644 index 000000000..37a0144b7 --- /dev/null +++ b/examples/repositorycategories/repositorycategories.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 --online-only -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 |