Skip to content

Commit

Permalink
Utlises jpackager plugin 5.5.1 and adds windows start menu group
Browse files Browse the repository at this point in the history
  • Loading branch information
rgozim committed Jun 10, 2019
1 parent 4f80276 commit 1948b9f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 10 deletions.
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,4 @@ test {
excludeTestsMatching "TestExecCommandStateTrans.testExecutingCancelled"
}
}

2 changes: 1 addition & 1 deletion buildSrc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ repositories {
}

dependencies {
implementation "org.openmicroscopy:omero-javapackager-plugin:5.5.0"
implementation "org.openmicroscopy:omero-javapackager-plugin:5.5.1"
}

gradlePlugin {
Expand Down
27 changes: 18 additions & 9 deletions buildSrc/src/main/groovy/org/openmicroscopy/PackagerPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import org.gradle.api.tasks.Sync
import org.gradle.jvm.tasks.Jar
import org.openmicroscopy.extensions.InstallOptions
import org.openmicroscopy.extensions.InstallOptionsContainer
import org.openmicroscopy.extensions.implementation.WinOptions

@CompileStatic
class PackagerPlugin implements Plugin<Project> {
Expand All @@ -51,13 +52,13 @@ class PackagerPlugin implements Plugin<Project> {
InstallOptions main = installOptionsContainer.getByName(JavaPackagerPlugin.MAIN_DEPLOY_NAME)
main.icon = "${project.projectDir}/icons/omeroInsight"
main.arguments = ["container.xml"]
main.exe(winOptions)
main.msi(winOptions)

createImporterInstaller(installOptionsContainer)
}

private void createImporterInstaller(InstallOptionsContainer container) {
final String[] outputTypes = Platform.installerTypesAsString

JavaExec exec = project.tasks.getByName(InsightPlugin.TASK_RUN_IMPORTER) as JavaExec
Jar jar = project.tasks.getByName(JavaPlugin.JAR_TASK_NAME) as Jar
Sync distTask = project.tasks.getByName(
Expand All @@ -67,7 +68,6 @@ class PackagerPlugin implements Plugin<Project> {
container.create("importer", new Action<InstallOptions>() {
@Override
void execute(InstallOptions importer) {
importer.outputTypes = outputTypes
importer.icon = "${project.projectDir}/icons/omeroImporter.ico"
importer.arguments = ["containerImporter.xml"]
importer.mainClassName = exec.main
Expand All @@ -78,15 +78,24 @@ class PackagerPlugin implements Plugin<Project> {
importer.applicationName = distTask.destinationDir.name
importer.sourceDir = distTask.destinationDir
importer.sourceFiles.from(project.fileTree(distTask.destinationDir).include("**/*.*"))
importer.exe(winOptions)
importer.msi(winOptions)
}
})

project.afterEvaluate {
outputTypes.each { String type ->
String name = JavaPackagerPlugin.makeTaskName("importer", type)
project.tasks.named(name).configure { Task task ->
task.dependsOn(distTask)
}
Platform.installerTypesAsString.each { String type ->
String name = JavaPackagerPlugin.makeTaskName("importer", type)
project.tasks.named(name).configure { Task task ->
task.dependsOn(distTask)
}
}
}

static Action<? extends WinOptions> getWinOptions() {
return new Action<WinOptions>() {
@Override
void execute(WinOptions opts) {
opts.startMenuGroup = "OMERO insight"
}
}
}
Expand Down

0 comments on commit 1948b9f

Please sign in to comment.