Search in sources :

Example 1 with Nested

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());
}
Also used : CurrentJvmJavaToolChain(org.gradle.api.internal.tasks.CurrentJvmJavaToolChain) File(java.io.File) JavaHomeBasedJavaToolChain(org.gradle.api.internal.tasks.JavaHomeBasedJavaToolChain) Nested(org.gradle.api.tasks.Nested) Incubating(org.gradle.api.Incubating)

Example 2 with Nested

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();
}
Also used : NativeToolChainInternal(org.gradle.nativeplatform.toolchain.internal.NativeToolChainInternal) PlatformToolProvider(org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider) VersionAwareCompiler(org.gradle.language.base.internal.compile.VersionAwareCompiler) NativePlatformInternal(org.gradle.nativeplatform.platform.internal.NativePlatformInternal) Optional(org.gradle.api.tasks.Optional) Nested(org.gradle.api.tasks.Nested) Nullable(javax.annotation.Nullable)

Aggregations

Nested (org.gradle.api.tasks.Nested)2 File (java.io.File)1 Nullable (javax.annotation.Nullable)1 Incubating (org.gradle.api.Incubating)1 CurrentJvmJavaToolChain (org.gradle.api.internal.tasks.CurrentJvmJavaToolChain)1 JavaHomeBasedJavaToolChain (org.gradle.api.internal.tasks.JavaHomeBasedJavaToolChain)1 Optional (org.gradle.api.tasks.Optional)1 VersionAwareCompiler (org.gradle.language.base.internal.compile.VersionAwareCompiler)1 NativePlatformInternal (org.gradle.nativeplatform.platform.internal.NativePlatformInternal)1 NativeToolChainInternal (org.gradle.nativeplatform.toolchain.internal.NativeToolChainInternal)1 PlatformToolProvider (org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider)1