adding a 'publishAndroid' task to generate the AAR with prebuilt .so files
This commit is contained in:
parent
918b140030
commit
7afdbba2ed
|
@ -99,7 +99,7 @@ node_modules/
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
|
||||||
# Android/IJ
|
# Android/IJ
|
||||||
#
|
/android/
|
||||||
.idea
|
.idea
|
||||||
.gradle
|
.gradle
|
||||||
local.properties
|
local.properties
|
||||||
|
|
|
@ -74,5 +74,5 @@ android {
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'com.android.support:appcompat-v7:23.0.1'
|
compile 'com.android.support:appcompat-v7:23.0.1'
|
||||||
compile 'com.facebook.react:react-native:0.18.0-patched'
|
compile 'com.facebook.react:react-native:0.18.0-patched'
|
||||||
compile 'io.realm.react:realm-react-native:0.0.1-SNAPSHOT'
|
compile project(':realm')
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
rootProject.name = 'ReactExample'
|
rootProject.name = 'ReactExample'
|
||||||
|
|
||||||
include ':app'
|
include ':app'
|
||||||
|
|
||||||
|
include ':realm'
|
||||||
|
project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"files": [
|
"files": [
|
||||||
|
"android",
|
||||||
"lib",
|
"lib",
|
||||||
"react-native",
|
"react-native",
|
||||||
"scripts",
|
"scripts",
|
||||||
|
@ -12,7 +13,7 @@
|
||||||
"RealmJS.xcodeproj"
|
"RealmJS.xcodeproj"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "scripts/create-symlinks.sh",
|
"test": "scripts/test.sh",
|
||||||
"test": "scripts/test.sh"
|
"prepublish": "rm -rf android && cd react-native/android && ./gradlew publishAndroid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
app/build/
|
build/
|
||||||
|
|
||||||
.idea
|
.idea
|
||||||
.gradle
|
.gradle
|
||||||
|
|
|
@ -1,175 +0,0 @@
|
||||||
// Copyright 2015-present Facebook. All Rights Reserved.
|
|
||||||
|
|
||||||
apply plugin: 'com.android.library'
|
|
||||||
apply plugin: 'maven'
|
|
||||||
|
|
||||||
apply plugin: 'de.undercouch.download'
|
|
||||||
|
|
||||||
import de.undercouch.gradle.tasks.download.Download
|
|
||||||
import org.apache.tools.ant.taskdefs.condition.Os
|
|
||||||
import org.apache.tools.ant.filters.ReplaceTokens
|
|
||||||
|
|
||||||
// We download various C++ open-source dependencies into downloads.
|
|
||||||
// We then copy both the downloaded code and our custom makefiles and headers into third-party-ndk.
|
|
||||||
// After that we build native code from src/main/jni with module path pointing at third-party-ndk.
|
|
||||||
|
|
||||||
def downloadsDir = new File("$buildDir/downloads")
|
|
||||||
def jscDownloadDir = new File("$projectDir/src/main/jni/jsc")
|
|
||||||
def coreDownloadDir = new File("$projectDir/src/main/jni")
|
|
||||||
ext.coreVersion = '0.95.6'
|
|
||||||
def thirdPartyNdkDir = new File("$buildDir/third-party-ndk")
|
|
||||||
|
|
||||||
|
|
||||||
task createNativeDepsDirectories {
|
|
||||||
downloadsDir.mkdirs()
|
|
||||||
thirdPartyNdkDir.mkdirs()
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadJSCHeaders(type: Download) {
|
|
||||||
def jscAPIBaseURL = 'https://svn.webkit.org/repository/webkit/!svn/bc/174650/trunk/Source/JavaScriptCore/API/'
|
|
||||||
def jscHeaderFiles = ['JSBase.h', 'JSContextRef.h', 'JSObjectRef.h', 'JSRetainPtr.h', 'JSStringRef.h', 'JSValueRef.h', 'WebKitAvailability.h']
|
|
||||||
|
|
||||||
def output = new File(jscDownloadDir, 'JavaScriptCore')
|
|
||||||
output.mkdirs()
|
|
||||||
src(jscHeaderFiles.collect { headerName -> "$jscAPIBaseURL$headerName" })
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest output
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadRealmCore(type: Download) {
|
|
||||||
src "http://static.realm.io/downloads/core/realm-core-android-${project.coreVersion}.tar.gz"
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest new File(downloadsDir, "realm-core-android-${project.coreVersion}.tar.gz")
|
|
||||||
}
|
|
||||||
|
|
||||||
task prepareRealmCore(dependsOn: downloadRealmCore, type:Copy) {
|
|
||||||
from tarTree(downloadRealmCore.dest)
|
|
||||||
into "$coreDownloadDir/core"
|
|
||||||
//Fixing Core file naming 'arm-*' to 'armeabi-*'
|
|
||||||
doLast {
|
|
||||||
exec {
|
|
||||||
workingDir = "$coreDownloadDir/core"
|
|
||||||
commandLine = [
|
|
||||||
"bash",
|
|
||||||
"-c",
|
|
||||||
"find . -name \"*-arm-*\" -exec sh -c \"echo {} | sed -e s/arm/armeabi/g | xargs mv {} \" \\;"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def getNdkBuildName() {
|
|
||||||
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
||||||
return "ndk-build.cmd"
|
|
||||||
} else {
|
|
||||||
return "ndk-build"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def findNdkBuildFullPath() {
|
|
||||||
// we allow to provide full path to ndk-build tool
|
|
||||||
if (hasProperty('ndk.command')) {
|
|
||||||
return property('ndk.command')
|
|
||||||
}
|
|
||||||
// or just a path to the containing directory
|
|
||||||
if (hasProperty('ndk.path')) {
|
|
||||||
def ndkDir = property('ndk.path')
|
|
||||||
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
|
||||||
}
|
|
||||||
if (System.getenv('ANDROID_NDK') != null) {
|
|
||||||
def ndkDir = System.getenv('ANDROID_NDK')
|
|
||||||
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
|
||||||
}
|
|
||||||
def ndkDir = android.hasProperty('plugin') ? android.plugin.ndkFolder :
|
|
||||||
plugins.getPlugin('com.android.library').sdkHandler.getNdkFolder()
|
|
||||||
if (ndkDir) {
|
|
||||||
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
def getNdkBuildFullPath() {
|
|
||||||
def ndkBuildFullPath = findNdkBuildFullPath()
|
|
||||||
if (ndkBuildFullPath == null) {
|
|
||||||
throw new GradleScriptException(
|
|
||||||
"ndk-build binary cannot be found, check if you've set " +
|
|
||||||
"\$ANDROID_NDK environment variable correctly or if ndk.dir is " +
|
|
||||||
"setup in local.properties",
|
|
||||||
null)
|
|
||||||
}
|
|
||||||
if (!new File(ndkBuildFullPath).canExecute()) {
|
|
||||||
throw new GradleScriptException(
|
|
||||||
"ndk-build binary " + ndkBuildFullPath + " doesn't exist or isn't executable.\n" +
|
|
||||||
"Check that the \$ANDROID_NDK environment variable, or ndk.dir in local.proerties, is set correctly.\n" +
|
|
||||||
"(On Windows, make sure you escape backslashes in local.properties or use forward slashes, e.g. C:\\\\ndk or C:/ndk rather than C:\\ndk)",
|
|
||||||
null)
|
|
||||||
}
|
|
||||||
return ndkBuildFullPath
|
|
||||||
}
|
|
||||||
|
|
||||||
task buildReactNdkLib(dependsOn: [downloadJSCHeaders,prepareRealmCore], type: Exec) {
|
|
||||||
inputs.file('src/main/jni')
|
|
||||||
outputs.dir("$buildDir/react-ndk/all")
|
|
||||||
commandLine getNdkBuildFullPath(),
|
|
||||||
'NDK_PROJECT_PATH=null',
|
|
||||||
"NDK_APPLICATION_MK=$projectDir/src/main/jni/Application.mk",
|
|
||||||
'NDK_OUT=' + temporaryDir,
|
|
||||||
"NDK_LIBS_OUT=$buildDir/react-ndk/all",
|
|
||||||
"THIRD_PARTY_NDK_DIR=$buildDir/third-party-ndk",
|
|
||||||
'-C', file('src/main/jni').absolutePath,
|
|
||||||
'NDK_LOG=1',
|
|
||||||
'NDK_DEBUG=1',
|
|
||||||
'--jobs', Runtime.runtime.availableProcessors(),
|
|
||||||
'V=1'
|
|
||||||
}
|
|
||||||
|
|
||||||
task cleanReactNdkLib(type: Exec) {
|
|
||||||
commandLine getNdkBuildFullPath(),
|
|
||||||
'-C', file('src/main/jni').absolutePath,
|
|
||||||
'clean'
|
|
||||||
}
|
|
||||||
|
|
||||||
task packageReactNdkLibs(dependsOn: buildReactNdkLib, type: Copy) {
|
|
||||||
from "$buildDir/react-ndk/all"
|
|
||||||
exclude '**/libjsc.so'
|
|
||||||
into "$buildDir/react-ndk/exported"
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
compileSdkVersion 23
|
|
||||||
buildToolsVersion "23.0.1"
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
minSdkVersion 16
|
|
||||||
targetSdkVersion 22
|
|
||||||
versionCode 1
|
|
||||||
versionName "1.0"
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets.main {
|
|
||||||
jni.srcDirs = []
|
|
||||||
jniLibs.srcDir "$buildDir/react-ndk/exported"
|
|
||||||
res.srcDirs = ['src/main/res/devsupport', 'src/main/res/shell']
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.withType(JavaCompile) {
|
|
||||||
compileTask -> compileTask.dependsOn packageReactNdkLibs
|
|
||||||
}
|
|
||||||
|
|
||||||
clean.dependsOn cleanReactNdkLib
|
|
||||||
|
|
||||||
lintOptions {
|
|
||||||
abortOnError false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
|
||||||
compile 'org.nanohttpd:nanohttpd:2.2.0'
|
|
||||||
compile 'com.facebook.react:react-native:0.18.0-patched'
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: 'release.gradle'
|
|
|
@ -1,14 +0,0 @@
|
||||||
VERSION_NAME=0.0.1-SNAPSHOT
|
|
||||||
GROUP=io.realm.react
|
|
||||||
|
|
||||||
POM_NAME=RealmReactAndroid
|
|
||||||
POM_ARTIFACT_ID=realm-react-native
|
|
||||||
POM_PACKAGING=aar
|
|
||||||
|
|
||||||
android.useDeprecatedNdk=true
|
|
||||||
|
|
||||||
MOCKITO_CORE_VERSION=1.+
|
|
||||||
POWERMOCK_VERSION=1.6.2
|
|
||||||
ROBOLECTRIC_VERSION=3.0
|
|
||||||
JUNIT_VERSION=4.12
|
|
||||||
FEST_ASSERT_CORE_VERSION=2.0M10
|
|
|
@ -1 +0,0 @@
|
||||||
../../../../../../src
|
|
|
@ -1 +0,0 @@
|
||||||
../../../../../../vendor
|
|
|
@ -1,7 +1,4 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Copyright 2015-present Facebook. All Rights Reserved.
|
||||||
|
|
||||||
apply plugin: "java"
|
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
|
@ -21,3 +18,211 @@ allprojects {
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apply plugin: 'com.android.library'
|
||||||
|
apply plugin: 'maven'
|
||||||
|
|
||||||
|
apply plugin: 'de.undercouch.download'
|
||||||
|
|
||||||
|
import de.undercouch.gradle.tasks.download.Download
|
||||||
|
import org.apache.tools.ant.taskdefs.condition.Os
|
||||||
|
import org.apache.tools.ant.filters.ReplaceTokens
|
||||||
|
|
||||||
|
// We download various C++ open-source dependencies into downloads.
|
||||||
|
// We then copy both the downloaded code and our custom makefiles and headers into third-party-ndk.
|
||||||
|
// After that we build native code from src/main/jni with module path pointing at third-party-ndk.
|
||||||
|
|
||||||
|
def downloadsDir = new File("$buildDir/downloads")
|
||||||
|
def jscDownloadDir = new File("$projectDir/src/main/jni/jsc")
|
||||||
|
def coreDownloadDir = new File("$projectDir/src/main/jni")
|
||||||
|
ext.coreVersion = '0.95.6'
|
||||||
|
def thirdPartyNdkDir = new File("$buildDir/third-party-ndk")
|
||||||
|
def publishDir = new File("$projectDir/../../android/")
|
||||||
|
|
||||||
|
task publishAndroid(dependsOn: assembleDebug, type: Copy) {
|
||||||
|
// Copy task can only have one top level
|
||||||
|
into "$publishDir"
|
||||||
|
|
||||||
|
// copy java source
|
||||||
|
into ('/src/main') {
|
||||||
|
from "$projectDir/src/main"
|
||||||
|
exclude '**/jni/**'
|
||||||
|
}
|
||||||
|
|
||||||
|
// add compiled shared object
|
||||||
|
into ('/src/main/jniLibs') {
|
||||||
|
from "$buildDir/intermediates/bundles/debug/jni/"
|
||||||
|
}
|
||||||
|
|
||||||
|
// copy gradle wrapper files
|
||||||
|
FileTree gradleWrapper = fileTree(projectDir).include('gradlew*').include('gradle/**')
|
||||||
|
into ('/') {
|
||||||
|
from gradleWrapper
|
||||||
|
}
|
||||||
|
|
||||||
|
// copy and rename template build.gradle
|
||||||
|
|
||||||
|
into ('/') {
|
||||||
|
from "$projectDir/publish_android_template"
|
||||||
|
rename { String fileName ->
|
||||||
|
'build.gradle'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Use a closure to map the file name
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
task createNativeDepsDirectories {
|
||||||
|
downloadsDir.mkdirs()
|
||||||
|
thirdPartyNdkDir.mkdirs()
|
||||||
|
}
|
||||||
|
|
||||||
|
task downloadJSCHeaders(type: Download) {
|
||||||
|
def jscAPIBaseURL = 'https://svn.webkit.org/repository/webkit/!svn/bc/174650/trunk/Source/JavaScriptCore/API/'
|
||||||
|
def jscHeaderFiles = ['JSBase.h', 'JSContextRef.h', 'JSObjectRef.h', 'JSRetainPtr.h', 'JSStringRef.h', 'JSValueRef.h', 'WebKitAvailability.h']
|
||||||
|
|
||||||
|
def output = new File(jscDownloadDir, 'JavaScriptCore')
|
||||||
|
output.mkdirs()
|
||||||
|
src(jscHeaderFiles.collect { headerName -> "$jscAPIBaseURL$headerName" })
|
||||||
|
onlyIfNewer true
|
||||||
|
overwrite false
|
||||||
|
dest output
|
||||||
|
}
|
||||||
|
|
||||||
|
task downloadRealmCore(type: Download) {
|
||||||
|
src "http://static.realm.io/downloads/core/realm-core-android-${project.coreVersion}.tar.gz"
|
||||||
|
onlyIfNewer true
|
||||||
|
overwrite false
|
||||||
|
dest new File(downloadsDir, "realm-core-android-${project.coreVersion}.tar.gz")
|
||||||
|
}
|
||||||
|
|
||||||
|
task prepareRealmCore(dependsOn: downloadRealmCore, type:Copy) {
|
||||||
|
from tarTree(downloadRealmCore.dest)
|
||||||
|
into "$coreDownloadDir/core"
|
||||||
|
//Fixing Core file naming 'arm-*' to 'armeabi-*'
|
||||||
|
doLast {
|
||||||
|
exec {
|
||||||
|
workingDir = "$coreDownloadDir/core"
|
||||||
|
commandLine = [
|
||||||
|
"bash",
|
||||||
|
"-c",
|
||||||
|
"find . -name \"*-arm-*\" -exec sh -c \"echo {} | sed -e s/arm/armeabi/g | xargs mv {} \" \\;"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def getNdkBuildName() {
|
||||||
|
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
||||||
|
return "ndk-build.cmd"
|
||||||
|
} else {
|
||||||
|
return "ndk-build"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def findNdkBuildFullPath() {
|
||||||
|
// we allow to provide full path to ndk-build tool
|
||||||
|
if (hasProperty('ndk.command')) {
|
||||||
|
return property('ndk.command')
|
||||||
|
}
|
||||||
|
// or just a path to the containing directory
|
||||||
|
if (hasProperty('ndk.path')) {
|
||||||
|
def ndkDir = property('ndk.path')
|
||||||
|
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
||||||
|
}
|
||||||
|
if (System.getenv('ANDROID_NDK') != null) {
|
||||||
|
def ndkDir = System.getenv('ANDROID_NDK')
|
||||||
|
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
||||||
|
}
|
||||||
|
def ndkDir = android.hasProperty('plugin') ? android.plugin.ndkFolder :
|
||||||
|
plugins.getPlugin('com.android.library').sdkHandler.getNdkFolder()
|
||||||
|
if (ndkDir) {
|
||||||
|
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
def getNdkBuildFullPath() {
|
||||||
|
def ndkBuildFullPath = findNdkBuildFullPath()
|
||||||
|
if (ndkBuildFullPath == null) {
|
||||||
|
throw new GradleScriptException(
|
||||||
|
"ndk-build binary cannot be found, check if you've set " +
|
||||||
|
"\$ANDROID_NDK environment variable correctly or if ndk.dir is " +
|
||||||
|
"setup in local.properties",
|
||||||
|
null)
|
||||||
|
}
|
||||||
|
if (!new File(ndkBuildFullPath).canExecute()) {
|
||||||
|
throw new GradleScriptException(
|
||||||
|
"ndk-build binary " + ndkBuildFullPath + " doesn't exist or isn't executable.\n" +
|
||||||
|
"Check that the \$ANDROID_NDK environment variable, or ndk.dir in local.proerties, is set correctly.\n" +
|
||||||
|
"(On Windows, make sure you escape backslashes in local.properties or use forward slashes, e.g. C:\\\\ndk or C:/ndk rather than C:\\ndk)",
|
||||||
|
null)
|
||||||
|
}
|
||||||
|
return ndkBuildFullPath
|
||||||
|
}
|
||||||
|
|
||||||
|
task buildReactNdkLib(dependsOn: [downloadJSCHeaders,prepareRealmCore], type: Exec) {
|
||||||
|
inputs.file('src/main/jni')
|
||||||
|
outputs.dir("$buildDir/react-ndk/all")
|
||||||
|
commandLine getNdkBuildFullPath(),
|
||||||
|
'NDK_PROJECT_PATH=null',
|
||||||
|
"NDK_APPLICATION_MK=$projectDir/src/main/jni/Application.mk",
|
||||||
|
'NDK_OUT=' + temporaryDir,
|
||||||
|
"NDK_LIBS_OUT=$buildDir/react-ndk/all",
|
||||||
|
"THIRD_PARTY_NDK_DIR=$buildDir/third-party-ndk",
|
||||||
|
'-C', file('src/main/jni').absolutePath,
|
||||||
|
'NDK_LOG=1',
|
||||||
|
'NDK_DEBUG=1',
|
||||||
|
'--jobs', Runtime.runtime.availableProcessors(),
|
||||||
|
'V=1'
|
||||||
|
}
|
||||||
|
|
||||||
|
task cleanReactNdkLib(type: Exec) {
|
||||||
|
commandLine getNdkBuildFullPath(),
|
||||||
|
'-C', file('src/main/jni').absolutePath,
|
||||||
|
'clean'
|
||||||
|
}
|
||||||
|
|
||||||
|
task packageReactNdkLibs(dependsOn: buildReactNdkLib, type: Copy) {
|
||||||
|
from "$buildDir/react-ndk/all"
|
||||||
|
exclude '**/libjsc.so'
|
||||||
|
into "$buildDir/react-ndk/exported"
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 23
|
||||||
|
buildToolsVersion "23.0.1"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
minSdkVersion 16
|
||||||
|
targetSdkVersion 22
|
||||||
|
versionCode 1
|
||||||
|
versionName "1.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets.main {
|
||||||
|
jni.srcDirs = []
|
||||||
|
jniLibs.srcDir "$buildDir/react-ndk/exported"
|
||||||
|
res.srcDirs = ['src/main/res/devsupport', 'src/main/res/shell']
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.withType(JavaCompile) {
|
||||||
|
compileTask -> compileTask.dependsOn packageReactNdkLibs
|
||||||
|
}
|
||||||
|
|
||||||
|
clean.dependsOn cleanReactNdkLib
|
||||||
|
|
||||||
|
lintOptions {
|
||||||
|
abortOnError false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
compile 'org.nanohttpd:nanohttpd:2.2.0'
|
||||||
|
compile 'com.facebook.react:react-native:0.18.0-patched'
|
||||||
|
}
|
||||||
|
|
||||||
|
apply from: 'release.gradle'
|
||||||
|
|
|
@ -1,22 +1,14 @@
|
||||||
# Project-wide Gradle settings.
|
VERSION_NAME=0.0.1-SNAPSHOT
|
||||||
|
GROUP=io.realm.react
|
||||||
|
|
||||||
# IDE (e.g. Android Studio) users:
|
POM_NAME=RealmReactAndroid
|
||||||
# Gradle settings configured through the IDE *will override*
|
POM_ARTIFACT_ID=realm-react-native
|
||||||
# any settings specified in this file.
|
POM_PACKAGING=aar
|
||||||
|
|
||||||
# For more details on how to configure your build environment visit
|
|
||||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
|
||||||
|
|
||||||
# Specifies the JVM arguments used for the daemon process.
|
|
||||||
# The setting is particularly useful for tweaking memory settings.
|
|
||||||
# Default value: -Xmx10248m -XX:MaxPermSize=256m
|
|
||||||
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
|
||||||
|
|
||||||
# When configured, Gradle will run in incubating parallel mode.
|
|
||||||
# This option should only be used with decoupled projects. More details, visit
|
|
||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
|
||||||
# org.gradle.parallel=true
|
|
||||||
|
|
||||||
android.useDeprecatedNdk=true
|
android.useDeprecatedNdk=true
|
||||||
org.gradle.daemon=true
|
|
||||||
|
|
||||||
|
MOCKITO_CORE_VERSION=1.+
|
||||||
|
POWERMOCK_VERSION=1.6.2
|
||||||
|
ROBOLECTRIC_VERSION=3.0
|
||||||
|
JUNIT_VERSION=4.12
|
||||||
|
FEST_ASSERT_CORE_VERSION=2.0M10
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
#Wed Feb 10 01:35:36 GMT 2016
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-bin.zip
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath 'com.android.tools.build:gradle:1.3.1'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 23
|
||||||
|
buildToolsVersion "23.0.1"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
minSdkVersion 16
|
||||||
|
targetSdkVersion 22
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
compile 'org.nanohttpd:nanohttpd:2.2.0'
|
||||||
|
compile 'com.facebook.react:react-native:0.18.0-patched'
|
||||||
|
}
|
|
@ -1,4 +0,0 @@
|
||||||
rootProject.name = 'RealmReactNative'
|
|
||||||
|
|
||||||
include ':app'
|
|
||||||
include ':react-native'
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../src/
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../vendor
|
Binary file not shown.
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
symlink() {
|
|
||||||
[ -e "$(basename "$1")" ] || ln -s "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
cd "$(dirname "$0")/.."
|
|
||||||
|
|
||||||
# A top-level "android" directory is expected by `react-native link`
|
|
||||||
symlink react-native/android
|
|
||||||
|
|
||||||
# NPM doesn't support publishing symlinks, so these must be re-created
|
|
||||||
cd react-native/android/app/src/main/jni
|
|
||||||
symlink ../../../../../../src
|
|
||||||
symlink ../../../../../../vendor
|
|
Loading…
Reference in New Issue