Search in sources :

Example 1 with ProductFlavorModel

use of com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel in project android by JetBrains.

the class GradleValueTest method testMapOfGradleValuesInApplicationStatements.

public void testMapOfGradleValuesInApplicationStatements() throws Exception {
    String text = "android {\n" + "  defaultConfig {\n" + "    manifestPlaceholders activityLabel1:\"defaultName1\", activityLabel2:\"defaultName2\"\n" + "    testInstrumentationRunnerArguments size:\"medium\", foo:\"bar\"\n" + "  }\n" + "}";
    writeToBuildFile(text);
    AndroidModel android = getGradleBuildModel().android();
    assertNotNull(android);
    ProductFlavorModel defaultConfig = android.defaultConfig();
    Map<String, GradleNotNullValue<Object>> manifestPlaceholders = defaultConfig.manifestPlaceholders();
    assertNotNull(manifestPlaceholders);
    GradleNotNullValue<Object> activityLabel1 = manifestPlaceholders.get("activityLabel1");
    assertNotNull(activityLabel1);
    verifyGradleValue(activityLabel1, "android.defaultConfig.manifestPlaceholders.activityLabel1", "\"defaultName1\"");
    GradleNotNullValue<Object> activityLabel2 = manifestPlaceholders.get("activityLabel2");
    assertNotNull(activityLabel2);
    verifyGradleValue(activityLabel2, "android.defaultConfig.manifestPlaceholders.activityLabel2", "\"defaultName2\"");
    Map<String, GradleNotNullValue<String>> testInstrumentationRunnerArguments = defaultConfig.testInstrumentationRunnerArguments();
    assertNotNull(testInstrumentationRunnerArguments);
    GradleNotNullValue<String> size = testInstrumentationRunnerArguments.get("size");
    assertNotNull(size);
    verifyGradleValue(size, "android.defaultConfig.testInstrumentationRunnerArguments.size", "\"medium\"");
    GradleNotNullValue<String> foo = testInstrumentationRunnerArguments.get("foo");
    assertNotNull(foo);
    verifyGradleValue(foo, "android.defaultConfig.testInstrumentationRunnerArguments.foo", "\"bar\"");
}
Also used : AndroidModel(com.android.tools.idea.gradle.dsl.model.android.AndroidModel) ProductFlavorModel(com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel)

Example 2 with ProductFlavorModel

use of com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel in project android by JetBrains.

the class ExtModelTest method testResolveVariableInMapProperty.

// TODO: Support this use case to get this test pass.
/*public void testMapReferenceInMapProperty() throws IOException {
    String text = "ext.TEST_MAP = [test1:\"value1\", test2:\"value2\"]\n" +
                  "android.defaultConfig {\n" +
                  "    testInstrumentationRunnerArguments TEST_MAP\n" +
                  "}";

    writeToBuildFile(text);

    GradleBuildModel buildModel = getGradleBuildModel();
    assertNotNull(buildModel);

    ExtModel extModel = buildModel.ext();
    assertNotNull(extModel);

    GradleDslExpressionMap expressionMap = extModel.getProperty("TEST_MAP", GradleDslExpressionMap.class);
    assertNotNull(expressionMap);
    assertEquals(ImmutableMap.of("test1", "value1", "test2", "value2"), expressionMap.getValues(String.class));

    AndroidModel androidModel = buildModel.android();
    assertNotNull(androidModel);
    ProductFlavorModel defaultConfig = androidModel.defaultConfig();
    assertNotNull(defaultConfig);
    assertEquals("testInstrumentationRunnerArguments", ImmutableMap.of("test1", "value1", "test2", "value2"),
                 defaultConfig.testInstrumentationRunnerArguments());
  }*/
public void testResolveVariableInMapProperty() throws IOException {
    String text = "ext.TEST_STRING = \"test\"\n" + "android.defaultConfig {\n" + "    testInstrumentationRunnerArguments size:\"medium\", foo:\"$TEST_STRING\"\n" + "}";
    writeToBuildFile(text);
    GradleBuildModel buildModel = getGradleBuildModel();
    ExtModel extModel = buildModel.ext();
    assertEquals("test", extModel.getLiteralProperty("TEST_STRING", String.class));
    AndroidModel androidModel = buildModel.android();
    assertNotNull(androidModel);
    ProductFlavorModel defaultConfig = androidModel.defaultConfig();
    assertEquals("testInstrumentationRunnerArguments", ImmutableMap.of("size", "medium", "foo", "test"), defaultConfig.testInstrumentationRunnerArguments());
}
Also used : GradleBuildModel(com.android.tools.idea.gradle.dsl.model.GradleBuildModel) AndroidModel(com.android.tools.idea.gradle.dsl.model.android.AndroidModel) ProductFlavorModel(com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel)

Example 3 with ProductFlavorModel

use of com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel in project android by JetBrains.

the class ExtModelTest method testListReferenceInListProperty.

public void testListReferenceInListProperty() throws IOException {
    String text = "ext.TEST_STRINGS = [\"test1\", \"test2\"]\n" + "android.defaultConfig {\n" + "    proguardFiles TEST_STRINGS\n" + "}";
    writeToBuildFile(text);
    GradleBuildModel buildModel = getGradleBuildModel();
    ExtModel extModel = buildModel.ext();
    GradleDslExpressionList testStringsList = extModel.getPropertyElement("TEST_STRINGS", GradleDslExpressionList.class);
    assertNotNull(testStringsList);
    assertEquals(ImmutableList.of("test1", "test2"), testStringsList.getValues(String.class));
    AndroidModel androidModel = buildModel.android();
    assertNotNull(androidModel);
    ProductFlavorModel defaultConfig = androidModel.defaultConfig();
    assertEquals("proguardFiles", ImmutableList.of("test1", "test2"), defaultConfig.proguardFiles());
}
Also used : GradleDslExpressionList(com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpressionList) GradleBuildModel(com.android.tools.idea.gradle.dsl.model.GradleBuildModel) AndroidModel(com.android.tools.idea.gradle.dsl.model.android.AndroidModel) ProductFlavorModel(com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel)

Example 4 with ProductFlavorModel

use of com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel in project android by JetBrains.

the class ExtModelTest method testStringReferenceInListProperty.

public void testStringReferenceInListProperty() throws IOException {
    String text = "ext.TEST_STRING = \"test\"\n" + "android.defaultConfig {\n" + "    proguardFiles 'proguard-android.txt', TEST_STRING\n" + "}";
    writeToBuildFile(text);
    GradleBuildModel buildModel = getGradleBuildModel();
    ExtModel extModel = buildModel.ext();
    assertEquals("test", extModel.getLiteralProperty("TEST_STRING", String.class));
    AndroidModel androidModel = buildModel.android();
    assertNotNull(androidModel);
    ProductFlavorModel defaultConfig = androidModel.defaultConfig();
    assertEquals("proguardFiles", ImmutableList.of("proguard-android.txt", "test"), defaultConfig.proguardFiles());
}
Also used : GradleBuildModel(com.android.tools.idea.gradle.dsl.model.GradleBuildModel) AndroidModel(com.android.tools.idea.gradle.dsl.model.android.AndroidModel) ProductFlavorModel(com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel)

Example 5 with ProductFlavorModel

use of com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel in project android by JetBrains.

the class GradleValueTest method testListOfGradleValuesInAssignmentStatements.

public void testListOfGradleValuesInAssignmentStatements() throws Exception {
    String text = "android {\n" + "  defaultConfig {\n" + "    consumerProguardFiles = ['con-proguard-android.txt', 'con-proguard-rules.pro']\n" + "    proguardFiles = ['proguard-android.txt', 'proguard-rules.pro']\n" + "  }\n" + "}";
    writeToBuildFile(text);
    AndroidModel android = getGradleBuildModel().android();
    assertNotNull(android);
    ProductFlavorModel defaultConfig = android.defaultConfig();
    List<GradleNotNullValue<String>> consumerProguardFiles = defaultConfig.consumerProguardFiles();
    assertNotNull(consumerProguardFiles);
    assertThat(consumerProguardFiles).hasSize(2);
    verifyGradleValue(consumerProguardFiles.get(0), "android.defaultConfig.consumerProguardFiles.consumerProguardFiles", "'con-proguard-android.txt'");
    verifyGradleValue(consumerProguardFiles.get(1), "android.defaultConfig.consumerProguardFiles.consumerProguardFiles", "'con-proguard-rules.pro'");
    List<GradleNotNullValue<String>> proguardFiles = defaultConfig.proguardFiles();
    assertNotNull(proguardFiles);
    assertThat(proguardFiles).hasSize(2);
    verifyGradleValue(proguardFiles.get(0), "android.defaultConfig.proguardFiles.proguardFiles", "'proguard-android.txt'");
    verifyGradleValue(proguardFiles.get(1), "android.defaultConfig.proguardFiles.proguardFiles", "'proguard-rules.pro'");
}
Also used : AndroidModel(com.android.tools.idea.gradle.dsl.model.android.AndroidModel) ProductFlavorModel(com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel)

Aggregations

AndroidModel (com.android.tools.idea.gradle.dsl.model.android.AndroidModel)13 ProductFlavorModel (com.android.tools.idea.gradle.dsl.model.android.ProductFlavorModel)13 GradleBuildModel (com.android.tools.idea.gradle.dsl.model.GradleBuildModel)8 AbstractFlavorTypeModel (com.android.tools.idea.gradle.dsl.model.android.AbstractFlavorTypeModel)1 BuildTypeModel (com.android.tools.idea.gradle.dsl.model.android.BuildTypeModel)1 GradleDslExpressionList (com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpressionList)1