1 line
7.7 KiB
Plaintext
1 line
7.7 KiB
Plaintext
{"version":3,"file":"Paths.js","sourceRoot":"","sources":["../../src/android/Paths.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs-extra';\nimport { sync as globSync } from 'glob';\nimport * as path from 'path';\n\nimport { assert } from '../utils/errors';\nimport { directoryExistsAsync } from '../utils/modules';\nimport { ResourceKind } from './Resources';\n\nexport interface ProjectFile<L extends string = string> {\n path: string;\n language: L;\n contents: string;\n}\n\nexport type GradleProjectFile = ProjectFile<'groovy' | 'kt'>;\n\nexport type ApplicationProjectFile = ProjectFile<'java' | 'kt'>;\n\nasync function getProjectFileAsync(\n projectRoot: string,\n name: string\n): Promise<ApplicationProjectFile> {\n const mainActivityJavaPath = globSync(\n path.join(projectRoot, `android/app/src/main/java/**/${name}.@(java|kt)`)\n )[0];\n assert(\n mainActivityJavaPath,\n `Project file \"${name}\" does not exist in android project for root \"${projectRoot}\"`\n );\n\n const mainActivityPathJava = path.resolve(mainActivityJavaPath, `../${name}.java`);\n const mainActivityPathKotlin = path.resolve(mainActivityJavaPath, `../${name}.kt`);\n\n const isJava = await fs.pathExists(mainActivityPathJava);\n const isKotlin = !isJava && (await fs.pathExists(mainActivityPathKotlin));\n\n if (!isJava && !isKotlin) {\n throw new Error(`Failed to find '${name}' file for project: ${projectRoot}.`);\n }\n const filePath = isJava ? mainActivityPathJava : mainActivityPathKotlin;\n return {\n path: path.normalize(filePath),\n contents: fs.readFileSync(filePath, 'utf8'),\n language: isJava ? 'java' : 'kt',\n };\n}\n\nexport async function getMainApplicationAsync(\n projectRoot: string\n): Promise<ApplicationProjectFile> {\n return getProjectFileAsync(projectRoot, 'MainApplication');\n}\n\nexport async function getMainActivityAsync(projectRoot: string): Promise<ApplicationProjectFile> {\n return getProjectFileAsync(projectRoot, 'MainActivity');\n}\n\nasync function getGradleFileAsync(\n projectRoot: string,\n gradleName: string\n): Promise<GradleProjectFile> {\n const groovyPath = path.resolve(projectRoot, `${gradleName}.gradle`);\n const ktPath = path.resolve(projectRoot, `${gradleName}.gradle.kts`);\n\n const isGroovy = await fs.pathExists(groovyPath);\n const isKotlin = !isGroovy && (await fs.pathExists(ktPath));\n\n if (!isGroovy && !isKotlin) {\n throw new Error(`Failed to find '${gradleName}.gradle' file for project: ${projectRoot}.`);\n }\n const filePath = isGroovy ? groovyPath : ktPath;\n return {\n path: path.normalize(filePath),\n contents: fs.readFileSync(filePath, 'utf8'),\n language: isGroovy ? 'groovy' : 'kt',\n };\n}\n\nexport async function getProjectBuildGradleAsync(projectRoot: string): Promise<GradleProjectFile> {\n return getGradleFileAsync(path.join(projectRoot, 'android'), 'build');\n}\n\nexport async function getSettingsGradleAsync(projectRoot: string): Promise<GradleProjectFile> {\n return getGradleFileAsync(path.join(projectRoot, 'android'), 'settings');\n}\n\nexport async function getAppBuildGradleAsync(projectRoot: string): Promise<GradleProjectFile> {\n return getGradleFileAsync(path.join(projectRoot, 'android', 'app'), 'build');\n}\n\nexport function getAppBuildGradle(projectRoot: string): string {\n return path.join(projectRoot, 'android', 'app', 'build.gradle');\n}\n\nexport async function getProjectPathOrThrowAsync(projectRoot: string): Promise<string> {\n const projectPath = path.join(projectRoot, 'android');\n if (await directoryExistsAsync(projectPath)) {\n return projectPath;\n }\n throw new Error(`Android project folder is missing in project: ${projectRoot}`);\n}\n\nexport async function getAndroidManifestAsync(projectRoot: string): Promise<string> {\n const projectPath = await getProjectPathOrThrowAsync(projectRoot);\n const filePath = path.join(projectPath, 'app/src/main/AndroidManifest.xml');\n return filePath;\n}\n\nexport async function getResourceFolderAsync(projectRoot: string): Promise<string> {\n const projectPath = await getProjectPathOrThrowAsync(projectRoot);\n return path.join(projectPath, `app/src/main/res`);\n}\n\nexport async function getResourceXMLPathAsync(\n projectRoot: string,\n { kind = 'values', name }: { kind?: ResourceKind; name: 'colors' | 'strings' | 'styles' | string }\n): Promise<string> {\n const resourcePath = await getResourceFolderAsync(projectRoot);\n\n const filePath = path.join(resourcePath, `${kind}/${name}.xml`);\n return filePath;\n}\n"]} |