Skip to content

Commit 276e89d

Browse files
committed
U get default toolchain from context
1 parent b50ce38 commit 276e89d

File tree

4 files changed

+33
-29
lines changed

4 files changed

+33
-29
lines changed

src/main/java/io/github/fvarrui/javapackager/gradle/GradleContext.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@
33
import java.io.File;
44

55
import org.gradle.api.Project;
6+
import org.gradle.api.internal.provider.Providers;
67
import org.gradle.api.logging.Logger;
8+
import org.gradle.api.plugins.JavaPluginExtension;
9+
import org.gradle.api.provider.Provider;
10+
import org.gradle.jvm.toolchain.JavaLauncher;
11+
import org.gradle.jvm.toolchain.JavaToolchainService;
12+
import org.gradle.jvm.toolchain.JavaToolchainSpec;
713

814
import edu.sc.seis.launch4j.tasks.Launch4jLibraryTask;
915
import io.github.fvarrui.javapackager.packagers.Context;
@@ -78,5 +84,24 @@ public Launch4jLibraryTask getLibraryTask() {
7884
public void setLibraryTask(Launch4jLibraryTask libraryTask) {
7985
this.libraryTask = libraryTask;
8086
}
87+
88+
/**
89+
* Returns project's default toolchain
90+
* @param project Gradle project
91+
* @return Default toolchain
92+
*/
93+
public File getDefaultToolchain() {
94+
// Default toolchain
95+
JavaToolchainSpec toolchain = project.getExtensions().getByType(JavaPluginExtension.class).getToolchain();
96+
97+
// acquire a provider that returns the launcher for the toolchain
98+
JavaToolchainService service = project.getExtensions().getByType(JavaToolchainService.class);
99+
Provider<JavaLauncher> defaultLauncher = service.launcherFor(toolchain).orElse(Providers.notDefined());
100+
101+
if (defaultLauncher.isPresent()) {
102+
return defaultLauncher.get().getMetadata().getInstallationPath().getAsFile();
103+
}
104+
return super.getDefaultToolchain();
105+
}
81106

82107
}

src/main/java/io/github/fvarrui/javapackager/gradle/PackagePluginExtension.java

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@
55
import java.util.HashMap;
66

77
import org.gradle.api.Project;
8-
import org.gradle.api.internal.provider.Providers;
9-
import org.gradle.api.plugins.JavaPluginExtension;
10-
import org.gradle.api.provider.Provider;
11-
import org.gradle.jvm.toolchain.JavaLauncher;
12-
import org.gradle.jvm.toolchain.JavaToolchainService;
13-
import org.gradle.jvm.toolchain.JavaToolchainSpec;
148

159
import groovy.lang.Closure;
1610
import io.github.fvarrui.javapackager.model.LinuxConfig;
@@ -55,7 +49,6 @@ public PackagePluginExtension(Project project) {
5549
this.vmArgs = new ArrayList<>();
5650
this.winConfig = new WindowsConfig();
5751
this.outputDirectory = project.getBuildDir();
58-
this.packagingJdk = getDefaultToolchain(project);
5952
}
6053

6154
public LinuxConfig linuxConfig(Closure<LinuxConfig> closure) {
@@ -81,24 +74,5 @@ public Manifest manifest(Closure<Manifest> closure) {
8174
project.configure(manifest, closure);
8275
return manifest;
8376
}
84-
85-
/**
86-
* Returns project's default toolchain
87-
* @param project Gradle project
88-
* @return Default toolchain
89-
*/
90-
public File getDefaultToolchain(Project project) {
91-
// Default toolchain
92-
JavaToolchainSpec toolchain = project.getExtensions().getByType(JavaPluginExtension.class).getToolchain();
93-
94-
// acquire a provider that returns the launcher for the toolchain
95-
JavaToolchainService service = project.getExtensions().getByType(JavaToolchainService.class);
96-
Provider<JavaLauncher> defaultLauncher = service.launcherFor(toolchain).orElse(Providers.notDefined());
97-
98-
if (defaultLauncher.isPresent()) {
99-
return defaultLauncher.get().getMetadata().getInstallationPath().getAsFile();
100-
}
101-
return new File(System.getProperty("java.home")); // Use java.home as fallback
102-
}
10377

10478
}

src/main/java/io/github/fvarrui/javapackager/gradle/PackageTask.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.github.fvarrui.javapackager.model.Manifest;
2020
import io.github.fvarrui.javapackager.model.Platform;
2121
import io.github.fvarrui.javapackager.model.WindowsConfig;
22+
import io.github.fvarrui.javapackager.packagers.Context;
2223
import io.github.fvarrui.javapackager.packagers.Packager;
2324
import io.github.fvarrui.javapackager.packagers.PackagerFactory;
2425

@@ -544,10 +545,9 @@ protected Packager createPackager() throws Exception {
544545
.additionalModulePaths(defaultIfNull(additionalModulePaths, extension.getAdditionalModulePaths()))
545546
.additionalResources(defaultIfNull(additionalResources, extension.getAdditionalResources()))
546547
.administratorRequired(defaultIfNull(administratorRequired, extension.getAdministratorRequired()))
547-
.version(defaultIfNull(version, extension.getVersion(), getProject().getVersion().toString()))
548-
.packagingJdk(defaultIfNull(packagingJdk, extension.getPackagingJdk()))
549548
.assetsDir(defaultIfNull(assetsDir, extension.getAssetsDir()))
550549
.bundleJre(defaultIfNull(bundleJre, extension.getBundleJre()))
550+
.classpath(defaultIfNull(classpath, extension.getClasspath()))
551551
.copyDependencies(defaultIfNull(copyDependencies, extension.getCopyDependencies()))
552552
.createTarball(defaultIfNull(createTarball, extension.getCreateTarball()))
553553
.createZipball(defaultIfNull(createZipball, extension.getCreateZipball()))
@@ -573,10 +573,11 @@ protected Packager createPackager() throws Exception {
573573
.organizationName(defaultIfNull(organizationName, extension.getOrganizationName()))
574574
.organizationUrl(defaultIfNull(organizationUrl, extension.getOrganizationUrl()))
575575
.outputDirectory(defaultIfNull(outputDirectory, extension.getOutputDirectory()))
576-
.classpath(defaultIfNull(classpath, extension.getClasspath()))
576+
.packagingJdk(defaultIfNull(packagingJdk, extension.getPackagingJdk(), Context.getContext().getDefaultToolchain()))
577577
.runnableJar(defaultIfNull(runnableJar, extension.getRunnableJar()))
578578
.useResourcesAsWorkingDir(defaultIfNull(useResourcesAsWorkingDir, extension.isUseResourcesAsWorkingDir()))
579579
.url(defaultIfNull(url, extension.getUrl()))
580+
.version(defaultIfNull(version, extension.getVersion(), getProject().getVersion().toString()))
580581
.vmArgs(defaultIfNull(vmArgs, extension.getVmArgs()))
581582
.winConfig(defaultIfNull(winConfig, extension.getWinConfig()));
582583

src/main/java/io/github/fvarrui/javapackager/packagers/Context.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,8 @@ public static GradleContext getGradleContext() {
8585
return (GradleContext) context;
8686
}
8787

88+
public File getDefaultToolchain() {
89+
return new File(System.getProperty("java.home")); // Use java.home as fallback
90+
}
91+
8892
}

0 commit comments

Comments
 (0)