nitro-codegen
Version:
The code-generator for react-native-nitro-modules.
44 lines (37 loc) • 1.11 kB
text/typescript
import { NitroConfig } from '../../config/NitroConfig.js'
import { createFileMetadataString } from '../../syntax/helpers.js'
import type { SourceFile } from '../../syntax/SourceFile.js'
export interface GradleFile extends Omit<SourceFile, 'language'> {
language: 'gradle'
}
export function createGradleExtension(): GradleFile {
const name = NitroConfig.getAndroidCxxLibName()
const code = `
${createFileMetadataString(`${name}+autolinking.gradle`)}
/// This is a Gradle file that adds all files generated by Nitrogen
/// to the current Gradle project.
///
/// To use it, add this to your build.gradle:
/// \`\`\`gradle
/// apply from: '../nitrogen/generated/android/${name}+autolinking.gradle'
/// \`\`\`
logger.warn("[NitroModules] 🔥 ${name} is boosted by nitro!")
android {
sourceSets {
main {
java.srcDirs += [
// Nitrogen files
"\${project.projectDir}/../nitrogen/generated/android/kotlin"
]
}
}
}
`.trim()
return {
content: code,
language: 'gradle',
name: `${name}+autolinking.gradle`,
platform: 'android',
subdirectory: [],
}
}