Project re-initialization with latest react native (npx create-react-native-library)

This commit is contained in:
Tiago Daniel Jacobs
2022-08-16 08:02:45 -03:00
parent 00adc46c19
commit c2a32bc38f
105 changed files with 7290 additions and 6684 deletions

View File

@@ -1,60 +1,137 @@
buildscript {
if (project == rootProject) {
repositories {
google()
mavenCentral()
jcenter()
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
}
}
def isNewArchitectureEnabled() {
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
}
apply plugin: 'com.android.library'
def safeExtGet(prop, fallback) {
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
if (isNewArchitectureEnabled()) {
apply plugin: 'com.facebook.react'
}
def getExtOrDefault(name) {
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['BigBlueButtonTabletSdk_' + name]
}
def getExtOrIntegerDefault(name) {
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['BigBlueButtonTabletSdk_' + name]).toInteger()
}
android {
compileSdkVersion safeExtGet('BigbluebuttonMobileSdk_compileSdkVersion', 29)
defaultConfig {
minSdkVersion safeExtGet('BigbluebuttonMobileSdk_minSdkVersion', 16)
targetSdkVersion safeExtGet('BigbluebuttonMobileSdk_targetSdkVersion', 29)
versionCode 1
versionName "1.0"
compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
defaultConfig {
minSdkVersion getExtOrIntegerDefault('minSdkVersion')
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
}
buildTypes {
release {
minifyEnabled false
}
}
buildTypes {
release {
minifyEnabled false
}
}
lintOptions {
disable 'GradleCompatible'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
disable 'GradleCompatible'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
repositories {
mavenLocal()
mavenCentral()
google()
def found = false
def defaultDir = null
def androidSourcesName = 'React Native sources'
if (rootProject.ext.has('reactNativeAndroidRoot')) {
defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
} else {
defaultDir = new File(
projectDir,
'/../../../node_modules/react-native/android'
)
}
if (defaultDir.exists()) {
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
url defaultDir.toString()
name androidSourcesName
}
google()
mavenCentral()
jcenter()
logger.info(":${project.name}:reactNativeAndroidRoot ${defaultDir.canonicalPath}")
found = true
} else {
def parentDir = rootProject.projectDir
1.upto(5, {
if (found) return true
parentDir = parentDir.parentFile
def androidSourcesDir = new File(
parentDir,
'node_modules/react-native'
)
def androidPrebuiltBinaryDir = new File(
parentDir,
'node_modules/react-native/android'
)
if (androidPrebuiltBinaryDir.exists()) {
maven {
url androidPrebuiltBinaryDir.toString()
name androidSourcesName
}
logger.info(":${project.name}:reactNativeAndroidRoot ${androidPrebuiltBinaryDir.canonicalPath}")
found = true
} else if (androidSourcesDir.exists()) {
maven {
url androidSourcesDir.toString()
name androidSourcesName
}
logger.info(":${project.name}:reactNativeAndroidRoot ${androidSourcesDir.canonicalPath}")
found = true
}
})
}
if (!found) {
throw new GradleException(
"${project.name}: unable to locate React Native android sources. " +
"Ensure you have you installed React Native as a dependency in your project and try again."
)
}
}
dependencies {
implementation project(':react-native-webview')
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "com.facebook.react:react-native:+"
// From node_modules
}
if (isNewArchitectureEnabled()) {
react {
jsRootDir = file("../src/")
libraryName = "BigBlueButtonTabletSdk"
codegenJavaPackageName = "com.bigbluebuttontabletsdk"
}
}

View File

@@ -0,0 +1,5 @@
BigBlueButtonTabletSdk_kotlinVersion=1.7.0
BigBlueButtonTabletSdk_minSdkVersion=21
BigBlueButtonTabletSdk_targetSdkVersion=31
BigBlueButtonTabletSdk_compileSdkVersion=31
BigBlueButtonTabletSdk_ndkversion=21.4.7075529

View File

@@ -1,4 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bigbluebuttonmobilesdk">
package="com.bigbluebuttontabletsdk">
</manifest>

View File

@@ -1,4 +1,4 @@
package com.bigbluebuttonmobilesdk;
package com.bigbluebuttontabletsdk;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
@@ -9,7 +9,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class BigbluebuttonMobileSdkPackage implements ReactPackage {
public class BigBlueButtonTabletSdkPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
@@ -17,6 +17,6 @@ public class BigbluebuttonMobileSdkPackage implements ReactPackage {
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(new BigbluebuttonMobileManager());
return Arrays.<ViewManager>asList(new BigBlueButtonTabletSdkViewManager());
}
}

View File

@@ -1,4 +1,4 @@
package com.bigbluebuttonmobilesdk;
package com.bigbluebuttontabletsdk;
import android.graphics.Color;
import android.view.View;
@@ -9,8 +9,8 @@ import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.annotations.ReactProp;
public class BigbluebuttonMobileManager extends SimpleViewManager<View> {
public static final String REACT_CLASS = "BigbluebuttonMobile";
public class BigBlueButtonTabletSdkViewManager extends SimpleViewManager<View> {
public static final String REACT_CLASS = "BigBlueButtonTabletSdkView";
@Override
@NonNull