1import java.nio.file.Paths 2 3 4def normalizeProjectName(String projectRoot) { 5 return projectRoot.replace('/', '_') 6} 7 8/** 9 * Link vendored modules into settings.gradle 10 */ 11ext.useVendoredModulesForSettingsGradle = { String sdkVersion -> 12 def vendoredRoot = Paths.get(rootDir.toString(), 'vendored', sdkVersion).toString() 13 fileTree(dir: vendoredRoot, include: '**/build.gradle').each { gradleFile -> 14 def projectRoot = rootDir.toPath().relativize(gradleFile.toPath()).getParent().getParent().toString() 15 def projectName = normalizeProjectName(projectRoot) 16 17 include(":${projectName}") 18 project(":${projectName}").projectDir = gradleFile.getParentFile() 19 } 20} 21 22 23/** 24 * Link vendored modules into settings.gradle 25 */ 26ext.useVendoredModulesForExpoView = { String sdkVersion -> 27 def vendoredRoot = Paths.get(rootDir.toString(), 'vendored', sdkVersion).toString() 28 fileTree(dir: vendoredRoot, include: '**/build.gradle').each { gradleFile -> 29 def projectRoot = rootDir.toPath().relativize(gradleFile.toPath()).getParent().getParent().toString() 30 def projectName = normalizeProjectName(projectRoot) 31 32 dependencies.add('implementation', project(":${projectName}")) 33 } 34} 35