blob: 6f0a6761553b821bfbf8e0b0719f828e1f37fc28 [file] [log] [blame]
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.build.gradle.integration.library
import com.android.build.gradle.integration.common.fixture.GradleTestProject
import com.android.build.gradle.integration.common.fixture.app.HelloWorldApp
import org.gradle.tooling.BuildException
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import static org.junit.Assert.assertEquals
import static org.junit.Assert.fail
class DslTest {
@Rule
public GradleTestProject project = GradleTestProject.builder()
.fromTestApp(new HelloWorldApp())
.create()
@Before
public void setUp() {
project.getBuildFile() << """
apply plugin: 'com.android.library'
android {
compileSdkVersion $GradleTestProject.DEFAULT_COMPILE_SDK_VERSION
buildToolsVersion "$GradleTestProject.DEFAULT_BUILD_TOOL_VERSION"
}
"""
}
@Test
public void applicationIdInDefaultConfig() {
project.getBuildFile() << """
android {
defaultConfig {
applicationId = 'foo'
}
}
"""
// Just need to run the 'tasks' task to trigger error
try {
project.execute("tasks")
fail('Broken build file did not throw exception')
} catch (BuildException e) {
Throwable cause = e
while (cause.getCause() != null) {
cause = cause.getCause()
}
String expectedMsg = "Library projects cannot set applicationId. applicationId is set to 'foo' in default config."
assertEquals(expectedMsg, cause.getMessage())
}
}
@Test
public void applicationIdSuffix() {
project.getBuildFile() << """
android {
buildTypes {
debug {
applicationIdSuffix = 'foo'
}
}
}
"""
// Just need to run the 'tasks' task to trigger error
try {
project.execute("tasks")
fail('Broken build file did not throw exception')
} catch (BuildException e) {
Throwable cause = e
while (cause.getCause() != null) {
cause = cause.getCause()
}
String expectedMsg = "Library projects cannot set applicationId. applicationIdSuffix is set to 'foo' in build type 'debug'."
assertEquals(expectedMsg, cause.getMessage())
}
}
@Test
public void applicationIdInProductFlavor() {
project.getBuildFile() << """
android {
productFlavors {
myFlavor {
applicationId = 'foo'
}
}
}
"""
// Just need to run the 'tasks' task to trigger error
try {
project.execute("tasks")
fail('Broken build file did not throw exception')
} catch (BuildException e) {
Throwable cause = e
while (cause.getCause() != null) {
cause = cause.getCause()
}
String expectedMsg = "Library projects cannot set applicationId. applicationId is set to 'foo' in flavor 'myFlavor'."
assertEquals(expectedMsg, cause.getMessage())
}
}
}