/*
 * Copyright (C) 2026 Huawei Device Co., Ltd.
 * Dynamic module selection for JNI integration testing.
 *
 * Usage: ./gradlew -Pmodule=<module> connectedAndroidTest
 *
 * To add a new module, add an entry to modules.json in the project root directory.
 */
import groovy.json.JsonSlurper

rootProject.name = 'ArkUIXJniTest'

def moduleAppDirs = new JsonSlurper().parse(file("${rootDir}/modules.json"))

def moduleName = settings.gradle.startParameter.projectProperties.get('module')
if (moduleName == null) {
    throw new GradleException("Module must be specified. Usage: ./integration-test.sh <module> or ./gradlew -Pmodule=<name>. Available modules: ${moduleAppDirs.keySet()}")
}

if (!moduleAppDirs.containsKey(moduleName)) {
    throw new GradleException("Unknown module '${moduleName}'. Available: ${moduleAppDirs.keySet()}")
}

include ':app'
project(':app').projectDir = file(moduleAppDirs[moduleName])

// Export common directory for use in module build.gradle
gradle.ext.commonDir = "${rootDir}/common"