summaryrefslogtreecommitdiffstats
path: root/examples/repositorycategories
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2018-03-09 10:21:54 +0200
committerKatja Marttila <katja.marttila@qt.io>2018-09-26 04:46:21 +0000
commit0f8d11ca8e8312fc0d0dc56e0c2a1154ff3de77c (patch)
treea0f00dbacd2c03ee3013e648464e2df61c7d1b8b /examples/repositorycategories
parentb3d140a2c899219a02c1b31efa4e36723eb71c07 (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')
-rw-r--r--examples/repositorycategories/README30
-rw-r--r--examples/repositorycategories/config/config.xml33
-rw-r--r--examples/repositorycategories/packages/A/data/A.txt2
-rw-r--r--examples/repositorycategories/packages/A/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages/B/data/B.txt2
-rw-r--r--examples/repositorycategories/packages/B/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages2_forcategory1/A2Cagetory1/data/A2_category1.txt2
-rw-r--r--examples/repositorycategories/packages2_forcategory1/A2Cagetory1/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages2_forcategory1/B2Category1/data/B2_category1.txt2
-rw-r--r--examples/repositorycategories/packages2_forcategory1/B2Category1/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages_forcategory1/ACagetory1/data/A_category1.txt2
-rw-r--r--examples/repositorycategories/packages_forcategory1/ACagetory1/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages_forcategory1/BCategory1/data/B_category1.txt2
-rw-r--r--examples/repositorycategories/packages_forcategory1/BCategory1/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages_forcategory2/ACategory2/data/A_category2.txt2
-rw-r--r--examples/repositorycategories/packages_forcategory2/ACategory2/meta/package.xml8
-rw-r--r--examples/repositorycategories/packages_forcategory2/BCategory2/data/B_category2.txt2
-rw-r--r--examples/repositorycategories/packages_forcategory2/BCategory2/meta/package.xml8
-rw-r--r--examples/repositorycategories/repositorycategories.pro13
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