public BuildConfigGenerator addField( @NonNull String type, @NonNull String name, @NonNull String value) { mFields.add(new ClassFieldImpl(type, name, value)); return this; }
public ResValueGenerator addResource( @NonNull String type, @NonNull String name, @NonNull String value) { mFields.add(new ClassFieldImpl(type, name, value)); return this; }
/** * Adds a variant-specific BuildConfig field. * @param type the type of the field * @param name the name of the field * @param value the value of the field */ public void addBuildConfigField(@NonNull String type, @NonNull String name, @NonNull String value) { ClassField classField = new ClassFieldImpl(type, name, value); mBuildConfigFields.put(name, classField); }
/** * Adds a variant-specific res value. * @param type the type of the field * @param name the name of the field * @param value the value of the field */ public void addResValue(@NonNull String type, @NonNull String name, @NonNull String value) { ClassField classField = new ClassFieldImpl(type, name, value); mResValues.put(name, classField); }
@NonNull public static ClassField createClassField(@NonNull String type, @NonNull String name, @NonNull String value) { return new ClassFieldImpl(type, name, value); }
/** * Adds a new generated resource. * * <p>This is equivalent to specifying a resource in res/values. * * <p>See <a href="http://developer.android.com/guide/topics/resources/available-resources.html">Resource Types</a>. * * @param type the type of the resource * @param name the name of the resource * @param value the value of the resource */ public void resValue( @NonNull String type, @NonNull String name, @NonNull String value) { ClassField alreadyPresent = getResValues().get(name); if (alreadyPresent != null) { logger.info("BuildType({}): resValue '{}' value is being replaced: {} -> {}", getName(), name, alreadyPresent.getValue(), value); } addResValue(new ClassFieldImpl(type, name, value)); }
/** * Adds a new field to the generated BuildConfig class. * * <p>The field is generated as: {@code <type> <name> = <value>;} * * <p>This means each of these must have valid Java content. If the type is a String, then the * value should include quotes. * * @param type the type of the field * @param name the name of the field * @param value the value of the field */ public void buildConfigField( @NonNull String type, @NonNull String name, @NonNull String value) { ClassField alreadyPresent = getBuildConfigFields().get(name); if (alreadyPresent != null) { logger.info("BuildType({}): buildConfigField '{}' value is being replaced: {} -> {}", getName(), name, alreadyPresent.getValue(), value); } addBuildConfigField(new ClassFieldImpl(type, name, value)); }
/** * Adds a new generated resource. * * <p>This is equivalent to specifying a resource in res/values. * * <p>See <a href="http://developer.android.com/guide/topics/resources/available-resources.html">Resource Types</a>. * * @param type the type of the resource * @param name the name of the resource * @param value the value of the resource */ public void resValue( @NonNull String type, @NonNull String name, @NonNull String value) { ClassField alreadyPresent = getResValues().get(name); if (alreadyPresent != null) { String flavorName = getName(); if (BuilderConstants.MAIN.equals(flavorName)) { logger.info( "DefaultConfig: resValue '{}' value is being replaced: {} -> {}", name, alreadyPresent.getValue(), value); } else { logger.info( "ProductFlavor({}): resValue '{}' value is being replaced: {} -> {}", flavorName, name, alreadyPresent.getValue(), value); } } addResValue(new ClassFieldImpl(type, name, value)); }
addBuildConfigField(new ClassFieldImpl(type, name, value));