use of org.gradle.api.tasks.Nested in project gradle by gradle.
the class JavaCompile method getToolChain.
/**
* Returns the tool chain that will be used to compile the Java source.
*
* @return The tool chain.
*/
@Nested
@Incubating
public JavaToolChain getToolChain() {
if (getOptions().isFork()) {
ForkOptions forkOptions = getOptions().getForkOptions();
File javaHome = forkOptions.getJavaHome();
if (javaHome != null) {
return new JavaHomeBasedJavaToolChain(javaHome, getJavaCompilerFactory(), getExecActionFactory(), getJvmVersionDetector());
}
}
return new CurrentJvmJavaToolChain(getJavaCompilerFactory(), getExecActionFactory());
}
use of org.gradle.api.tasks.Nested in project gradle by gradle.
the class AbstractNativeSourceCompileTask method getCompilerVersion.
/**
* The compiler used, including the type and the version.
*
* @since 4.4
*/
@Nullable
@Optional
@Nested
protected CompilerVersion getCompilerVersion() {
NativeToolChainInternal toolChain = (NativeToolChainInternal) getToolChain().get();
NativePlatformInternal targetPlatform = (NativePlatformInternal) getTargetPlatform().get();
PlatformToolProvider toolProvider = toolChain.select(targetPlatform);
Compiler<? extends NativeCompileSpec> compiler = toolProvider.newCompiler(createCompileSpec().getClass());
if (!(compiler instanceof VersionAwareCompiler)) {
return null;
}
return ((VersionAwareCompiler) compiler).getVersion();
}
Aggregations