From 3d5d20647468ea78507577d6a958a0783e3d5c4a Mon Sep 17 00:00:00 2001 From: Leo Leplat <60394504+Rylern@users.noreply.github.com> Date: Thu, 15 May 2025 15:45:16 +0100 Subject: [PATCH 1/3] Remove implementation of GitHubProject --- .../qupath/ext/template/DemoExtension.java | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/main/java/qupath/ext/template/DemoExtension.java b/src/main/java/qupath/ext/template/DemoExtension.java index 0cc46f1..c35b948 100644 --- a/src/main/java/qupath/ext/template/DemoExtension.java +++ b/src/main/java/qupath/ext/template/DemoExtension.java @@ -13,7 +13,6 @@ import qupath.fx.prefs.controlsfx.PropertyItemBuilder; import qupath.lib.common.Version; import qupath.lib.gui.QuPathGUI; -import qupath.lib.gui.extensions.GitHubProject; import qupath.lib.gui.extensions.QuPathExtension; import qupath.lib.gui.prefs.PathPrefs; @@ -33,7 +32,7 @@ * /resources/META-INF/services/qupath.lib.gui.extensions.QuPathExtension * */ -public class DemoExtension implements QuPathExtension, GitHubProject { +public class DemoExtension implements QuPathExtension { // TODO: add and modify strings to this resource bundle as needed /** * A resource bundle containing all the text used by the extension. This may be useful for translation to other languages. @@ -61,16 +60,6 @@ public class DemoExtension implements QuPathExtension, GitHubProject { */ private static final Version EXTENSION_QUPATH_VERSION = Version.parse("v0.5.0"); - /** - * GitHub repo that your extension can be found at. - * This makes it easier for users to find updates to your extension. - * If you don't want to support this feature, you can remove - * references to GitHubRepo and GitHubProject from your extension. - * TODO: define this - */ - private static final GitHubRepo EXTENSION_REPOSITORY = GitHubRepo.create( - EXTENSION_NAME, "myGitHubUserName", "myGitHubRepo"); - /** * Flag whether the extension is already installed (might not be needed... but we'll do it anyway) */ @@ -182,9 +171,4 @@ public String getDescription() { public Version getQuPathVersion() { return EXTENSION_QUPATH_VERSION; } - - @Override - public GitHubRepo getRepository() { - return EXTENSION_REPOSITORY; - } } From f31ea1e9961805059b5d0e561e3eb10f98af500a Mon Sep 17 00:00:00 2001 From: Leo Leplat <60394504+Rylern@users.noreply.github.com> Date: Thu, 15 May 2025 15:59:42 +0100 Subject: [PATCH 2/3] Update README to include catalogs --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 038f18f..d8984fb 100644 --- a/README.md +++ b/README.md @@ -169,12 +169,20 @@ You can then navigate to `Releases` and fill out information about the release - Once published, users will be able to automatically install the extension as described here: https://qupath.readthedocs.io/en/0.5/docs/intro/extensions.html#installing-extensions -### Automatic updates +### Catalogs -To enable easy installation and automatic updates in QuPath, fill in the (**public**) GitHub owner and repository -for the extension. +QuPath's extension manager can easily install an extension if it is referenced in a **catalog**. +A catalog is a JSON file hosted on a GitHub repository containing information about extensions, making it possible to easily manage them from QuPath. -https://github.com/qupath/qupath-extension-template/blob/778f02759d8a7fe5c73f1751edd58b6494beff9f/src/main/java/qupath/ext/template/DemoExtension.java#L65-L66 +To create a catalog, follow the [extension catalog model documentation](https://qupath.github.io/extension-catalog-model/). +You will need to create a JSON file containing specific information about your extension and host it on a dedicated GitHub repository. +Once the catalog is created, any user will be able to easily install your catalog by: + +* Opening QuPath's extension manager by clicking on `Extensions` -> `Manage extensions` in QuPath. +* Adding the URL to your catalog by clicking on `Manage extension catalogs` -> `Add` in the extension manager. +* Clicking on the `+` symbol next to your extension in the extension manager. + +QuPath will then make it easy to manage your extension and automatically inform users when an update is available. ### Replace this readme From 0aa9f8bb1e09e246c622407ebd2401ebe9fb88ef Mon Sep 17 00:00:00 2001 From: lleplat Date: Fri, 27 Jun 2025 14:45:08 +0100 Subject: [PATCH 3/3] Update QuPath version to 0.6.0 --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 5c6ca66..b945aef 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,7 +9,7 @@ pluginManagement { // TODO: Specify which version of QuPath the extension is targeting here qupath { - version = "0.5.1" + version = "0.6.0" } // Apply QuPath Gradle settings plugin to handle configuration