apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'maven' // Import autolinking script apply from: "../scripts/autolinking.gradle" group = 'org.unimodules' version = '6.3.5' buildscript { // Simple helper that allows the root project to override versions declared by this library. ext.safeExtGet = { prop, fallback -> rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback } repositories { mavenCentral() } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.4.21')}") } } //Upload android library to maven with javadoc and android sources configurations { deployerJars } //Creating sources with comments task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs } //Put the androidSources and javadoc to the artifacts artifacts { archives androidSourcesJar } uploadArchives { repositories { mavenDeployer { configuration = configurations.deployerJars repository(url: mavenLocal().url) } } } // A task generating a package list of expo modules. task generateExpoModulesPackageList { doLast { generateExpoModulesPackageList() } } // Run that task during prebuilding phase. preBuild.dependsOn "generateExpoModulesPackageList" android { compileSdkVersion safeExtGet("compileSdkVersion", 30) compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { minSdkVersion safeExtGet("minSdkVersion", 21) targetSdkVersion safeExtGet("targetSdkVersion", 30) versionCode 23 versionName "6.3.5" } lintOptions { abortOnError false } sourceSets { main { java { srcDirs += new File(project.buildDir, generatedFilesSrcDir) } } } } apply from: project(":unimodules-core").file("../unimodules-core.gradle") dependencies { unimodule 'unimodules-core' unimodule 'expo-modules-core' unimodule 'unimodules-app-loader' //noinspection GradleDynamicVersion implementation 'com.facebook.react:react-native:+' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.4.21')}" } // Link expo modules as dependencies of the adapter. It uses `api` configuration so they all will be visible for the app as well. // A collection of the dependencies depends on the options passed to `useExpoModules` in your project's `settings.gradle`. addExpoModulesDependencies(project)