diff --git a/lib/services/android-plugin-build-service.ts b/lib/services/android-plugin-build-service.ts index 30515d1b12..3494169ae5 100644 --- a/lib/services/android-plugin-build-service.ts +++ b/lib/services/android-plugin-build-service.ts @@ -408,7 +408,8 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService { ); const allGradleTemplateFiles = path.join(gradleTemplatePath, "*"); const buildGradlePath = path.join(pluginTempDir, "build.gradle"); - + const settingsGradlePath = path.join(pluginTempDir, "settings.gradle"); + this.$fs.copyFile(allGradleTemplateFiles, pluginTempDir); this.addCompileDependencies(platformsAndroidDirPath, buildGradlePath); const runtimeGradleVersions = await this.getRuntimeGradleVersions( @@ -423,6 +424,7 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService { runtimeGradleVersions.gradleAndroidPluginVersion ); this.replaceFileContent(buildGradlePath, "{{pluginName}}", pluginName); + this.replaceFileContent(settingsGradlePath, "{{pluginName}}", pluginName); } private async getRuntimeGradleVersions( diff --git a/vendor/gradle-plugin/settings.gradle b/vendor/gradle-plugin/settings.gradle index 8b13789179..ac173898e3 100644 --- a/vendor/gradle-plugin/settings.gradle +++ b/vendor/gradle-plugin/settings.gradle @@ -1 +1,25 @@ +import groovy.json.JsonSlurper +def USER_PROJECT_ROOT = "$rootDir/../../../" +def PLATFORMS_ANDROID = "platforms/android" +def PLUGIN_NAME = "{{pluginName}}" + +def dependenciesJson = file("${USER_PROJECT_ROOT}/${PLATFORMS_ANDROID}/dependencies.json") +def appDependencies = new JsonSlurper().parseText(dependenciesJson.text) +def pluginData = appDependencies.find { it.name == PLUGIN_NAME } +def nativescriptDependencies = appDependencies.findAll{pluginData.name == it.name} + +def getDepPlatformDir = { dep -> + file("$USER_PROJECT_ROOT/$PLATFORMS_ANDROID/${dep.directory}/$PLATFORMS_ANDROID") +} + +def applyIncludeSettingsGradlePlugin = { + nativescriptDependencies.each { dep -> + def includeSettingsGradlePath = "${getDepPlatformDir(dep)}/include-settings.gradle" + if (file(includeSettingsGradlePath).exists()) { + apply from: includeSettingsGradlePath + } + } +} + +applyIncludeSettingsGradlePlugin() \ No newline at end of file