blob: 90b691f622232856e878a8e9c66661a3f9093983 [file] [log] [blame]
package com.android.build.gradle.ndk.internal;
import com.android.build.gradle.internal.core.Toolchain;
import com.android.build.gradle.managed.NdkConfig;
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());
}
}
}