in plugin/src/functionalTest/kotlin/com/android/gradle/replicator/BuildFeaturesTests.kt [667:954]
fun testResources() {
val projectSetup = setup()
//setup resources
val androidResourceFolder = File(projectSetup.projectDir, "src/main/res")
val javaResourceFolder = File(projectSetup.projectDir, "src/main/resources")
val androidResources = listOf(
"drawable/ic_launcher_background.xml",
"drawable-v24/ic_launcher_background.xml",
"layout/activity_main.xml",
"layout/content_main.xml",
"layout/fragment_first.xml",
"layout/fragment_second.xml",
"menu/menu_main.xml",
"mipmap-anydpi-v26/ic_launcher_round.xml",
"mipmap-anydpi-v26/ic_launcher.xml",
"mipmap-hdpi/ic_launcher.webp",
"mipmap-hdpi/ic_launcher_round.webp",
"mipmap-mdpi/ic_launcher.webp",
"mipmap-mdpi/ic_launcher_round.webp",
"mipmap-xhdpi/ic_launcher.webp",
"mipmap-xhdpi/ic_launcher_round.webp",
"mipmap-xxhdpi/ic_launcher.webp",
"mipmap-xxhdpi/ic_launcher_round.webp",
"mipmap-xxxhdpi/ic_launcher.webp",
"mipmap-xxxhdpi/ic_launcher_round.webp",
"navigation/nav_graph.xml"
)
val valuesResources = listOf(
"values/colors.xml",
"values/dimens.xml",
"values/strings.xml",
"values/themes.xml",
"values-night/themes.xml"
)
val javaResources = listOf(
"foo.txt",
"bar.json"
)
androidResources.forEach {
val resourceFile = File(androidResourceFolder, it)
resourceFile.parentFile.mkdirs()
resourceFile.createNewFile()
}
valuesResources.forEach {
val resourceFile = File(androidResourceFolder, it)
resourceFile.parentFile.mkdirs()
resourceFile.createNewFile()
resourceFile.writeText("<resources>\n</resources>")
}
javaResources.forEach {
val resourceFile = File(javaResourceFolder, it)
resourceFile.parentFile.mkdirs()
resourceFile.createNewFile()
}
projectSetup.runner.build()
// Verify the result
Truth.assertThat(projectSetup.projectDir.resolve("build/project-structure.json").readText()).isEqualTo("""
{
"gradle": "$GRADLE_VERSION",
"agp": "$AGP_VERSION",
"kotlin": "n/a",
"properties": [],
"rootModule": {
"path": ":",
"plugins": [
"com.android.application"
],
"javaSources": {
"fileCount": 0
},
"androidResources": {
"animator": [],
"anim": [],
"color": [],
"drawable": [
{
"qualifiers": "",
"extension": "xml",
"quantity": 1,
"fileData": [
0
]
},
{
"qualifiers": "v24",
"extension": "xml",
"quantity": 1,
"fileData": [
0
]
}
],
"font": [],
"layout": [
{
"qualifiers": "",
"extension": "xml",
"quantity": 4,
"fileData": [
0,
0,
0,
0
]
}
],
"menu": [
{
"qualifiers": "",
"extension": "xml",
"quantity": 1,
"fileData": [
0
]
}
],
"mipmap": [
{
"qualifiers": "anydpi-v26",
"extension": "xml",
"quantity": 2,
"fileData": [
0,
0
]
},
{
"qualifiers": "hdpi",
"extension": "webp",
"quantity": 2,
"fileData": [
0,
0
]
},
{
"qualifiers": "mdpi",
"extension": "webp",
"quantity": 2,
"fileData": [
0,
0
]
},
{
"qualifiers": "xhdpi",
"extension": "webp",
"quantity": 2,
"fileData": [
0,
0
]
},
{
"qualifiers": "xxhdpi",
"extension": "webp",
"quantity": 2,
"fileData": [
0,
0
]
},
{
"qualifiers": "xxxhdpi",
"extension": "webp",
"quantity": 2,
"fileData": [
0,
0
]
}
],
"navigation": [
{
"qualifiers": "",
"extension": "xml",
"quantity": 1,
"fileData": [
0
]
}
],
"raw": [],
"transition": [],
"values": [
{
"qualifiers": "",
"extension": "xml",
"quantity": 4,
"valuesFileList": [
{
"stringCount": 0,
"intCount": 0,
"boolCount": 0,
"colorCount": 0,
"dimenCount": 0,
"idCount": 0,
"integerArrayCount": [],
"arrayCount": [],
"styleCount": []
},
{
"stringCount": 0,
"intCount": 0,
"boolCount": 0,
"colorCount": 0,
"dimenCount": 0,
"idCount": 0,
"integerArrayCount": [],
"arrayCount": [],
"styleCount": []
},
{
"stringCount": 0,
"intCount": 0,
"boolCount": 0,
"colorCount": 0,
"dimenCount": 0,
"idCount": 0,
"integerArrayCount": [],
"arrayCount": [],
"styleCount": []
},
{
"stringCount": 0,
"intCount": 0,
"boolCount": 0,
"colorCount": 0,
"dimenCount": 0,
"idCount": 0,
"integerArrayCount": [],
"arrayCount": [],
"styleCount": []
}
]
},
{
"qualifiers": "night",
"extension": "xml",
"quantity": 1,
"valuesFileList": [
{
"stringCount": 0,
"intCount": 0,
"boolCount": 0,
"colorCount": 0,
"dimenCount": 0,
"idCount": 0,
"integerArrayCount": [],
"arrayCount": [],
"styleCount": []
}
]
}
],
"xml": []
},
"javaResources": {
"json": [
0
],
"txt": [
0
]
},
"assets": {},
"dependencies": [],
"android": {
"compileSdkVersion": "android-30",
"minSdkVersion": 24,
"targetSdkVersion": 30,
"buildFeatures": {}
}
},
"modules": []
}
""".trimIndent())
}