
com.android.build.gradle.ndk.internal.NdkExtensionConvention Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-experimental Show documentation
Show all versions of gradle-experimental Show documentation
Gradle plug-in to build Android applications.
package com.android.build.gradle.ndk.internal;
import com.android.build.gradle.internal.core.Toolchain;
import com.android.build.gradle.managed.NdkConfig;
import com.google.common.primitives.Ints;
import org.gradle.api.InvalidUserDataException;
/**
* Action to setup default values for NdkExtension.
*/
public class NdkExtensionConvention {
public static final String DEFAULT_STL = "system";
/**
* Validate the NdkExtension and provide default values.
*/
public static void setExtensionDefault(NdkConfig ndkConfig) {
if (ndkConfig.getToolchain().isEmpty()) {
ndkConfig.setToolchain(Toolchain.getDefault().getName());
} else {
if (!ndkConfig.getToolchain().equals("gcc") &&
!ndkConfig.getToolchain().equals("clang")) {
throw new InvalidUserDataException(String.format(
"Invalid toolchain '%s'. Supported toolchains are 'gcc' and 'clang'.",
ndkConfig.getToolchain()));
}
}
if (ndkConfig.getStl().isEmpty()) {
ndkConfig.setStl(DEFAULT_STL);
} else {
StlConfiguration.checkStl(ndkConfig.getStl());
}
if (ndkConfig.getPlatformVersion() != null
&& !ndkConfig.getPlatformVersion().startsWith("android-")
&& Ints.tryParse(ndkConfig.getPlatformVersion()) != null) {
ndkConfig.setPlatformVersion("android-" + ndkConfig.getPlatformVersion());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy