From dfecd911b8723210dd8e5e73b76fcf47c105010f Mon Sep 17 00:00:00 2001 From: petebankhead Date: Wed, 27 Nov 2024 08:53:57 +0000 Subject: [PATCH 1/7] Updating for kotlin and QuPath v0.6 --- build.gradle => build.gradle.kts | 113 ++++++++++++++----------- settings.gradle => settings.gradle.kts | 17 ++-- 2 files changed, 71 insertions(+), 59 deletions(-) rename build.gradle => build.gradle.kts (55%) rename settings.gradle => settings.gradle.kts (59%) diff --git a/build.gradle b/build.gradle.kts similarity index 55% rename from build.gradle rename to build.gradle.kts index 23807b0..619230d 100644 --- a/build.gradle +++ b/build.gradle.kts @@ -1,32 +1,40 @@ plugins { // Main gradle plugin for building a Java library - id 'java-library' - // Support writing the extension in Groovy (remove this if you don't want to) - id 'groovy' + id("java-library") + // Support writing the extension in Groovy (remove this if you don"t want to) + id("groovy") // To create a shadow/fat jar that bundle up all dependencies - id 'com.github.johnrengelman.shadow' version '8.1.1' + id("com.gradleup.shadow") version "8.3.5" // Include this plugin to avoid downloading JavaCPP dependencies for all platforms - id 'org.bytedeco.gradle-javacpp-platform' - id 'org.openjfx.javafxplugin' version '0.1.0' + id("org.bytedeco.gradle-javacpp-platform") + id("org.openjfx.javafxplugin") version "0.1.0" } // TODO: Change the module name -ext.moduleName = 'io.github.qupath.extension.template' +val moduleName = "io.github.qupath.extension.template" // TODO: Define the extension name & version, and provide a short description base { archivesName = rootProject.name - version = '0.0.1-SNAPSHOT' - description = 'A simple QuPath extension template' + version = "0.0.1-SNAPSHOT" + description = "A simple QuPath extension template" } // TODO: Specify the QuPath version, compatible with the extension. -// The default 'gradle.ext.qupathVersion' reads this from settings.gradle. -ext.qupathVersion = gradle.ext.qupathVersion - -// TODO: Specify the Java version compatible with the extension -// Should be Java 17 for QuPath v0.5.0 -ext.qupathJavaVersion = 17 +// The default 'gradle.ext.qupathVersion' reads this from settings.gradle.kts. +val qupathVersion = gradle.extra["qupath.app.version"] + +// Get the Java version from QuPath's version catalog +val qupathJavaVersion = libs.versions.jdk.get() + +javafx { + version = qupathJavaVersion + modules = listOf( + "javafx.controls", + "javafx.fxml", + "javafx.web" + ) +} /** * Define dependencies. @@ -43,65 +51,68 @@ dependencies { // Main QuPath user interface jar. // Automatically includes other QuPath jars as subdependencies. - shadow "io.github.qupath:qupath-gui-fx:${qupathVersion}" + shadow("io.github.qupath:qupath-gui-fx:${qupathVersion}") // For logging - the version comes from QuPath's version catalog at // https://github.com/qupath/qupath/blob/main/gradle/libs.versions.toml // See https://docs.gradle.org/current/userguide/platforms.html - shadow libs.slf4j + shadow(libs.slf4j) // For JavaFX - shadow libs.qupath.fxtras + shadow(libs.qupath.fxtras) // If you aren't using Groovy, this can be removed - shadow libs.bundles.groovy + shadow(libs.bundles.groovy) - testImplementation "io.github.qupath:qupath-gui-fx:${qupathVersion}" - testImplementation libs.junit + testImplementation("io.github.qupath:qupath-gui-fx:${qupathVersion}") + testImplementation(libs.junit) } /* * Manifest info */ -jar { +tasks.withType { manifest { - attributes("Implementation-Title": project.name, - "Implementation-Version": archiveVersion, - "Automatic-Module-Name": moduleName) + attributes(mapOf("Implementation-Title" to project.name, + "Implementation-Version" to archiveVersion, + "Automatic-Module-Name" to moduleName)) } } /** * Copy necessary attributes, see * - https://github.com/qupath/qupath-extension-template/issues/9 - * - https://github.com/openjfx/javafx-gradle-plugin#variants */ -configurations.shadow { - def runtimeAttributes = configurations.runtimeClasspath.attributes - runtimeAttributes.keySet().each { key -> - if (key in [Usage.USAGE_ATTRIBUTE, OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE, MachineArchitecture.ARCHITECTURE_ATTRIBUTE]) - attributes.attribute(key, runtimeAttributes.getAttribute(key)) +configurations.shadow { + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage::class.java, + Usage.JAVA_RUNTIME)) + attribute(OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE, + objects.named(OperatingSystemFamily::class.java, "org.gradle.native.operatingSystem")) + attribute(MachineArchitecture.ARCHITECTURE_ATTRIBUTE, + objects.named(MachineArchitecture::class.java, "org.gradle.native.architecture")) } } + /* * Copy the LICENSE file into the jar... if we have one (we should!) */ -processResources { - from ("${projectDir}/LICENSE") { - into 'licenses/' +tasks.processResources { + from("${projectDir}/LICENSE") { + into("licenses/") } } /* * Define extra 'copyDependencies' task to copy dependencies into the build directory. */ -tasks.register("copyDependencies", Copy) { - description "Copy dependencies into the build directory for use elsewhere" - group "QuPath" +tasks.register("copyDependencies") { + description = "Copy dependencies into the build directory for use elsewhere" + group = "QuPath" - from configurations.default - into 'build/libs' + from(configurations.default) + into("build/libs") } /* @@ -119,37 +130,37 @@ java { * Create javadocs for all modules/packages in one place. * Use -PstrictJavadoc=true to fail on error with doclint (which is rather strict). */ -tasks.withType(Javadoc) { - options.encoding = 'UTF-8' - def strictJavadoc = findProperty('strictJavadoc') - if (!strictJavadoc) { - options.addStringOption('Xdoclint:none', '-quiet') +tasks.withType { + options.encoding = "UTF-8" + val strictJavadoc = providers.gradleProperty("strictJavadoc").getOrElse("false") + if ("true" == strictJavadoc) { + (options as StandardJavadocDocletOptions).addStringOption("Xdoclint:none", "-quiet") } } /* * Specify that the encoding should be UTF-8 for source files */ -tasks.named('compileJava') { - options.encoding = 'UTF-8' +tasks.compileJava { + options.encoding = "UTF-8" } /* * Avoid 'Entry .gitkeep is a duplicate but no duplicate handling strategy has been set.' * when using withSourcesJar() */ -tasks.withType(org.gradle.jvm.tasks.Jar) { +tasks.withType { duplicatesStrategy = DuplicatesStrategy.INCLUDE } /* * Support tests with JUnit. */ -tasks.named('test') { +tasks.test { useJUnitPlatform() } -// Looks redundant to include this here and in settings.gradle, +// Looks redundant to include this here and in settings.gradle.kts, // but helps overcome some gradle trouble when including this as a subproject // within QuPath itself (which is useful during development). repositories { @@ -160,11 +171,11 @@ repositories { // Add scijava - which is where QuPath's jars are hosted maven { - url "https://maven.scijava.org/content/repositories/releases" + url = uri("https://maven.scijava.org/content/repositories/releases") } maven { - url "https://maven.scijava.org/content/repositories/snapshots" + url = uri("https://maven.scijava.org/content/repositories/snapshots") } } diff --git a/settings.gradle b/settings.gradle.kts similarity index 59% rename from settings.gradle rename to settings.gradle.kts index ed3fa38..ee0e875 100644 --- a/settings.gradle +++ b/settings.gradle.kts @@ -1,27 +1,28 @@ pluginManagement { plugins { // Gradle is awkward about declaring versions for plugins - // Specifying it here, rather than build.gradle, makes it possible + // Specifying it here, rather than build.gradle.kts, makes it possible // to include the extension as a subproject of QuPath itself // (which is useful during development) - id 'org.bytedeco.gradle-javacpp-platform' version '1.5.9' + id("org.bytedeco.gradle-javacpp-platform") version "1.5.9" } } // TODO: Name your QuPath extension here! -rootProject.name = 'my-qupath-extension' +rootProject.name = "my-qupath-extension" // TODO: Define the QuPath version compatible with the extension // Note that the QuPath API isn't stable; something designed for // 0.X.a should work with 0.X.b, but not necessarily with 0.Y.a. -gradle.ext.qupathVersion = "0.5.0" +var qupathVersion = "0.6.0-SNAPSHOT" +gradle.extra["qupath.app.version"] = qupathVersion dependencyResolutionManagement { // Access QuPath's version catalog for dependency versions versionCatalogs { - libs { - from("io.github.qupath:qupath-catalog:${gradle.ext.qupathVersion}") + create("libs") { + from("io.github.qupath:qupath-catalog:$qupathVersion") } } @@ -31,11 +32,11 @@ dependencyResolutionManagement { // Add scijava - which is where QuPath's jars are hosted maven { - url "https://maven.scijava.org/content/repositories/releases" + url = uri("https://maven.scijava.org/content/repositories/releases") } maven { - url "https://maven.scijava.org/content/repositories/snapshots" + url = uri("https://maven.scijava.org/content/repositories/snapshots") } } From 61e94578401385f0c4afeac6b20dff1519bc8040 Mon Sep 17 00:00:00 2001 From: petebankhead Date: Fri, 29 Nov 2024 15:57:42 +0000 Subject: [PATCH 2/7] Use QuPath Gradle Plugin --- README.md | 17 +- build.gradle.kts | 183 ++---------------- settings.gradle.kts | 45 +---- .../ext/template/ui/InterfaceController.java | 7 +- 4 files changed, 44 insertions(+), 208 deletions(-) diff --git a/README.md b/README.md index 9ccdf0b..405d1b1 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,15 @@ This repo contains a template and instructions to help create a new extension for [QuPath](https://qupath.github.io). -It already contains two minimal extensions, so the first task is to make sure that they work. +It already contains two minimal extensions - one using Java, one using Groovy - so the first task is to make sure that they work. Then, it's a matter of customizing the code to make it more useful. -> There are two extensions to show that you can use either Java or Groovy. +> **Update!** +> For QuPath v0.6.0 this repo switched to use Kotlin DSL for Gradle build files - +> and also to use the [QuPath Gradle Plugin](https://github.com/qupath/qupath-gradle-plugin). +> +> The outcome is that the build files are _much_ simpler. + ## Build the extension @@ -58,14 +63,14 @@ Now when you run QuPath from IntelliJ, your extension should (hopefully) be foun There are a few fixed steps to customizing the extension, and then the main creative part where you add your own code. -### Update `settings.gradle` +### Update `settings.gradle.kts` -Open `settings.gradle` and check the comment lines flagged with `\\TODO`. +Open `settings.gradle.kts` and check the comment lines flagged with `\\TODO`. These point you towards parts you may well need to change. -### Update `build.gradle` +### Update `build.gradle.kts` -Open `build.gradle` and follow a similar process to with `settings.gradle`, to update the bits flagged with `\\TODO`. +Open `build.gradle.kts` and follow a similar process to with `settings.gradle.kts`, to update the bits flagged with `\\TODO`. ### Create the extension Java or Groovy file(s) diff --git a/build.gradle.kts b/build.gradle.kts index 619230d..cab776f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,181 +1,34 @@ plugins { - // Main gradle plugin for building a Java library - id("java-library") - // Support writing the extension in Groovy (remove this if you don"t want to) - id("groovy") - // To create a shadow/fat jar that bundle up all dependencies + // QuPath Gradle extension convention plugin + id("qupath-conventions") + // Support writing the extension in Groovy (remove this if you don't want to) + groovy + // To optionally create a shadow/fat jar that bundle up any non-core dependencies id("com.gradleup.shadow") version "8.3.5" - // Include this plugin to avoid downloading JavaCPP dependencies for all platforms - id("org.bytedeco.gradle-javacpp-platform") - id("org.openjfx.javafxplugin") version "0.1.0" } -// TODO: Change the module name -val moduleName = "io.github.qupath.extension.template" - -// TODO: Define the extension name & version, and provide a short description -base { - archivesName = rootProject.name - version = "0.0.1-SNAPSHOT" - description = "A simple QuPath extension template" -} - -// TODO: Specify the QuPath version, compatible with the extension. -// The default 'gradle.ext.qupathVersion' reads this from settings.gradle.kts. -val qupathVersion = gradle.extra["qupath.app.version"] - -// Get the Java version from QuPath's version catalog -val qupathJavaVersion = libs.versions.jdk.get() - -javafx { - version = qupathJavaVersion - modules = listOf( - "javafx.controls", - "javafx.fxml", - "javafx.web" - ) +// TODO: Configure your extension here (please change the defaults!) +qupathExtension { + name = "qupath-extension-template" + group = "io.github.qupath" + version = "0.1.0-SNAPSHOT" + description = "A simple QuPath extension" + automaticModule = "io.github.qupath.extension.template" } -/** - * Define dependencies. - * - Using 'shadow' indicates that they are already part of QuPath, so you don't need - * to include them in your extension. If creating a single 'shadow jar' containing your - * extension and all dependencies, these won't be added. - * - Using 'implementation' indicates that you need the dependency for the extension to work, - * and it isn't part of QuPath already. If you are creating a single 'shadow jar', the - * dependency should be bundled up in the extension. - * - Using 'testImplementation' indicates that the dependency is only needed for testing, - * but shouldn't be bundled up for use in the extension. - */ +// TODO: Define your dependencies here dependencies { - // Main QuPath user interface jar. - // Automatically includes other QuPath jars as subdependencies. - shadow("io.github.qupath:qupath-gui-fx:${qupathVersion}") - - // For logging - the version comes from QuPath's version catalog at - // https://github.com/qupath/qupath/blob/main/gradle/libs.versions.toml - // See https://docs.gradle.org/current/userguide/platforms.html - shadow(libs.slf4j) - - // For JavaFX + // Main dependencies for most QuPath extensions + shadow(libs.bundles.qupath) + shadow(libs.bundles.logging) shadow(libs.qupath.fxtras) // If you aren't using Groovy, this can be removed shadow(libs.bundles.groovy) - testImplementation("io.github.qupath:qupath-gui-fx:${qupathVersion}") + // For testing + testImplementation(libs.bundles.qupath) testImplementation(libs.junit) -} - -/* - * Manifest info - */ -tasks.withType { - manifest { - attributes(mapOf("Implementation-Title" to project.name, - "Implementation-Version" to archiveVersion, - "Automatic-Module-Name" to moduleName)) - } -} - -/** - * Copy necessary attributes, see - * - https://github.com/qupath/qupath-extension-template/issues/9 - */ -configurations.shadow { - attributes { - attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage::class.java, - Usage.JAVA_RUNTIME)) - attribute(OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE, - objects.named(OperatingSystemFamily::class.java, "org.gradle.native.operatingSystem")) - attribute(MachineArchitecture.ARCHITECTURE_ATTRIBUTE, - objects.named(MachineArchitecture::class.java, "org.gradle.native.architecture")) - } -} - - -/* - * Copy the LICENSE file into the jar... if we have one (we should!) - */ -tasks.processResources { - from("${projectDir}/LICENSE") { - into("licenses/") - } -} - -/* - * Define extra 'copyDependencies' task to copy dependencies into the build directory. - */ -tasks.register("copyDependencies") { - description = "Copy dependencies into the build directory for use elsewhere" - group = "QuPath" - - from(configurations.default) - into("build/libs") -} - -/* - * Ensure Java 17 compatibility, and include sources and javadocs when building. - */ -java { - toolchain { - languageVersion = JavaLanguageVersion.of(qupathJavaVersion) - } - withSourcesJar() - withJavadocJar() -} - -/* - * Create javadocs for all modules/packages in one place. - * Use -PstrictJavadoc=true to fail on error with doclint (which is rather strict). - */ -tasks.withType { - options.encoding = "UTF-8" - val strictJavadoc = providers.gradleProperty("strictJavadoc").getOrElse("false") - if ("true" == strictJavadoc) { - (options as StandardJavadocDocletOptions).addStringOption("Xdoclint:none", "-quiet") - } -} - -/* - * Specify that the encoding should be UTF-8 for source files - */ -tasks.compileJava { - options.encoding = "UTF-8" -} - -/* - * Avoid 'Entry .gitkeep is a duplicate but no duplicate handling strategy has been set.' - * when using withSourcesJar() - */ -tasks.withType { - duplicatesStrategy = DuplicatesStrategy.INCLUDE -} - -/* - * Support tests with JUnit. - */ -tasks.test { - useJUnitPlatform() -} - -// Looks redundant to include this here and in settings.gradle.kts, -// but helps overcome some gradle trouble when including this as a subproject -// within QuPath itself (which is useful during development). -repositories { - // Add this if you need access to dependencies only installed locally - // mavenLocal() - - mavenCentral() - - // Add scijava - which is where QuPath's jars are hosted - maven { - url = uri("https://maven.scijava.org/content/repositories/releases") - } - - maven { - url = uri("https://maven.scijava.org/content/repositories/snapshots") - } } diff --git a/settings.gradle.kts b/settings.gradle.kts index ee0e875..edb3bc2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,43 +1,18 @@ pluginManagement { - plugins { - // Gradle is awkward about declaring versions for plugins - // Specifying it here, rather than build.gradle.kts, makes it possible - // to include the extension as a subproject of QuPath itself - // (which is useful during development) - id("org.bytedeco.gradle-javacpp-platform") version "1.5.9" - } -} - -// TODO: Name your QuPath extension here! -rootProject.name = "my-qupath-extension" - -// TODO: Define the QuPath version compatible with the extension -// Note that the QuPath API isn't stable; something designed for -// 0.X.a should work with 0.X.b, but not necessarily with 0.Y.a. -var qupathVersion = "0.6.0-SNAPSHOT" -gradle.extra["qupath.app.version"] = qupathVersion - -dependencyResolutionManagement { - - // Access QuPath's version catalog for dependency versions - versionCatalogs { - create("libs") { - from("io.github.qupath:qupath-catalog:$qupathVersion") - } - } - repositories { - - mavenCentral() - - // Add scijava - which is where QuPath's jars are hosted + gradlePluginPortal() maven { url = uri("https://maven.scijava.org/content/repositories/releases") } + } +} - maven { - url = uri("https://maven.scijava.org/content/repositories/snapshots") - } +// TODO: Specify which version of QuPath the extension is targeting here +qupath { + version = "0.6.0-SNAPSHOT" +} - } +// Apply QuPath Gradle settings plugin to handle configuration +plugins { + id("io.github.qupath.qupath-extension-settings") version "0.1.0" } diff --git a/src/main/java/qupath/ext/template/ui/InterfaceController.java b/src/main/java/qupath/ext/template/ui/InterfaceController.java index b0ab335..6bd295e 100644 --- a/src/main/java/qupath/ext/template/ui/InterfaceController.java +++ b/src/main/java/qupath/ext/template/ui/InterfaceController.java @@ -2,9 +2,7 @@ import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; -import javafx.scene.control.ChoiceBox; import javafx.scene.control.Spinner; -import javafx.scene.control.TextField; import javafx.scene.layout.VBox; import qupath.ext.template.DemoExtension; import qupath.fx.dialogs.Dialogs; @@ -22,6 +20,11 @@ public class InterfaceController extends VBox { @FXML private Spinner threadSpinner; + /** + * Create a new instance of the interface controller. + * @return + * @throws IOException + */ public static InterfaceController createInstance() throws IOException { return new InterfaceController(); } From 90f580340f80021947cb002d05691c33af2086a4 Mon Sep 17 00:00:00 2001 From: petebankhead Date: Fri, 29 Nov 2024 16:01:10 +0000 Subject: [PATCH 3/7] Use Java 21 --- .github/workflows/jpackage.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jpackage.yml b/.github/workflows/jpackage.yml index ae389bc..173edfd 100644 --- a/.github/workflows/jpackage.yml +++ b/.github/workflows/jpackage.yml @@ -19,10 +19,10 @@ jobs: - uses: actions/checkout@v4 - - name: Set up JDK 17 # TODO: check Java version + - name: Set up JDK 21 # TODO: check Java version uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' - name: Validate Gradle wrapper From bd88c322a047202b3f02583adfa9425de255a871 Mon Sep 17 00:00:00 2001 From: Alan O'Callaghan Date: Fri, 29 Nov 2024 16:49:25 +0000 Subject: [PATCH 4/7] Update src/main/java/qupath/ext/template/ui/InterfaceController.java --- src/main/java/qupath/ext/template/ui/InterfaceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/qupath/ext/template/ui/InterfaceController.java b/src/main/java/qupath/ext/template/ui/InterfaceController.java index 6bd295e..ef919d6 100644 --- a/src/main/java/qupath/ext/template/ui/InterfaceController.java +++ b/src/main/java/qupath/ext/template/ui/InterfaceController.java @@ -22,7 +22,7 @@ public class InterfaceController extends VBox { /** * Create a new instance of the interface controller. - * @return + * @return a new instance of the interface controller * @throws IOException */ public static InterfaceController createInstance() throws IOException { From 65fedfb78d5ebc3e1be0a631dcadc6d79426d0fb Mon Sep 17 00:00:00 2001 From: Pete Date: Fri, 6 Dec 2024 12:53:43 +0000 Subject: [PATCH 5/7] Update readme, gradle plugin --- README.md | 93 +++++++++++++++++------ gradle/wrapper/gradle-wrapper.jar | Bin 43462 -> 43583 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 7 +- gradlew.bat | 22 +++--- qupath-intellij.png | Bin 82535 -> 0 bytes settings.gradle.kts | 2 +- 7 files changed, 90 insertions(+), 36 deletions(-) delete mode 100644 qupath-intellij.png diff --git a/README.md b/README.md index 405d1b1..693a111 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ You'll be prompted to create a user directory if you don't already have one. The minimal extension here doesn't do much, but it should at least install a new command under the 'Extensions' menu in QuPath. -> In case your extension contains external dependencies beyond what QuPath already includes, you can create a +> In case your exte[settings.gradle.kts](../qupath/settings.gradle.kts)nsion contains external dependencies beyond what QuPath already includes, you can create a > [single jar file](https://imperceptiblethoughts.com/shadow/introduction/#benefits-of-shadow) that bundles these along > with your extension by using > ```bash @@ -38,39 +38,88 @@ QuPath. > If you don't do that, you'll need to drag *all* the extra dependences onto QuPath to install them as well. -## Set up in an IDE (optional) +## Configure the extension -During development, things are likely to be much easier if you work within an IDE. +Edit `settings.gradle.kts` to specify which version of QuPath your extension should be compatible with, e.g. -QuPath itself is developed using IntelliJ, and you can import the extension template there. +```kotlin +qupath { + version = "0.6.0-SNAPSHOT" +} +``` -However, for development and testing, it can help to import QuPath *and* the extension and have them in your IDE side-by-side. +Edit `build.gradle.kts` to specify the details of your extension -In IntelliJ, you can do this in a few steps: -* Get QuPath's source code, as described at https://qupath.readthedocs.io/en/stable/docs/reference/building.html -* Store your extension code in a directory *beside* QuPath's code. So it should be located next to the `qupath` code directory. -* Import QuPath into IntelliJ as a Gradle project (you don't need to import the extension yet!) - * See https://www.jetbrains.com/help/idea/work-with-gradle-projects.html -* Within `qupath/settings.gradle` add the line `includeFlat 'your-extension-code-directory'` (updating the code directory as needed) -* Refresh the Gradle project in IntelliJ, and your extension code should appear -* Create a [Run configuration](https://www.jetbrains.com/help/idea/run-debug-configuration.html) in IntelliJ to launch QuPath. An example of how that looks is shown below: +```kotlin +qupathExtension { + name = "qupath-extension-template" + group = "io.github.qupath" + version = "0.1.0-SNAPSHOT" + description = "A simple QuPath extension" + automaticModule = "io.github.qupath.extension.template" +} +``` -QuPath run configuration in IntelliJ -Now when you run QuPath from IntelliJ, your extension should (hopefully) be found - there's no need to add it by drag & drop. +## Run QuPath + the extension -## Customize the extension +During development, your probably want to run QuPath easily with your extension installed for debugging. + +### 0. Make sure you have Java installed +You'll need to install Java first. + +At the time of writing, we use a Java 21 JDK downloaded from https://adoptium.net/ + +> Java 21 is a 'Long Term Support' release - which is why we use it instead of the very latest version. + +### 1. Get QuPath's source code +You can find instructions at https://qupath.readthedocs.io/en/stable/docs/reference/building.html + +### 2. Create an `include-extra` file +Create a file called `include-extra` in the root directory of the QuPath source code (*not* the extension code!). + +Set the contents of this file to: +``` +[includeBuild] +/path/to/your/extension + +[dependencies] +extension-group:extension-name +``` +replacing the default lines where needed. -There are a few fixed steps to customizing the extension, and then the main creative part where you add your own code. +For example, to build the extension with the names given above you'd use +``` +[includeBuild] +../qupath-extension-template + +[dependencies] +io.github.qupath:qupath-extension-template +``` + +### 3. Run QuPath +Run QuPath from the command line using +``` +gradlew run +``` +If all goes well, QuPath should launch and you can check the *Extensions* mention to confirm the extension is installed. -### Update `settings.gradle.kts` -Open `settings.gradle.kts` and check the comment lines flagged with `\\TODO`. -These point you towards parts you may well need to change. +## Set up in an IDE (optional) + +During development, things are likely to be much easier if you work within an IDE. + +QuPath itself is developed using IntelliJ, and you can import the extension template there. + +The setup process is as above, and you'll need a a [Run configuration](https://www.jetbrains.com/help/idea/run-debug-configuration.html) +to call `gradlew run`. + + +## Customize the extension -### Update `build.gradle.kts` +Now you're ready for the creative part. -Open `build.gradle.kts` and follow a similar process to with `settings.gradle.kts`, to update the bits flagged with `\\TODO`. +You can develop the extension using either Java or Groovy - the template includes examples of both. ### Create the extension Java or Groovy file(s) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd4917707c1f8861d8cb53dd15194d4248596..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch delta 34592 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 delta 34555 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9355b41..e2847c8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..f5feea6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 6689b85..9b42019 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/qupath-intellij.png b/qupath-intellij.png deleted file mode 100644 index bcbd52660dacae9679e03d243c9e857f7b25a640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82535 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 diff --git a/settings.gradle.kts b/settings.gradle.kts index edb3bc2..2299e46 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -14,5 +14,5 @@ qupath { // Apply QuPath Gradle settings plugin to handle configuration plugins { - id("io.github.qupath.qupath-extension-settings") version "0.1.0" + id("io.github.qupath.qupath-extension-settings") version "0.2.1" } From 349c4cbedbecb58d3775a23f2b3272c8effdf61f Mon Sep 17 00:00:00 2001 From: Pete Date: Fri, 10 Jan 2025 17:06:36 +0000 Subject: [PATCH 6/7] Fix plugin ordering Needed to resolve issue reported by @carlocastoldi --- build.gradle.kts | 4 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index cab776f..134683f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,10 @@ plugins { - // QuPath Gradle extension convention plugin - id("qupath-conventions") // Support writing the extension in Groovy (remove this if you don't want to) groovy // To optionally create a shadow/fat jar that bundle up any non-core dependencies id("com.gradleup.shadow") version "8.3.5" + // QuPath Gradle extension convention plugin + id("qupath-conventions") } // TODO: Configure your extension here (please change the defaults!) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c8..cea7a79 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 65a8ab762668ae3909875664ea1402c5238bb809 Mon Sep 17 00:00:00 2001 From: Pete Date: Fri, 10 Jan 2025 17:48:58 +0000 Subject: [PATCH 7/7] Switch to v0.5.1 Since it's the current stable release. --- README.md | 2 +- settings.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 693a111..038f18f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ You'll be prompted to create a user directory if you don't already have one. The minimal extension here doesn't do much, but it should at least install a new command under the 'Extensions' menu in QuPath. -> In case your exte[settings.gradle.kts](../qupath/settings.gradle.kts)nsion contains external dependencies beyond what QuPath already includes, you can create a +> In case your extension contains external dependencies beyond what QuPath already includes, you can create a > [single jar file](https://imperceptiblethoughts.com/shadow/introduction/#benefits-of-shadow) that bundles these along > with your extension by using > ```bash diff --git a/settings.gradle.kts b/settings.gradle.kts index 2299e46..5c6ca66 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.6.0-SNAPSHOT" + version = "0.5.1" } // Apply QuPath Gradle settings plugin to handle configuration