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()); } } }