Skip to content

Commit a1c713e

Browse files
authored
Merge pull request #195 from FormidableLabs/chore/examples
Chore/examples
2 parents 904ac5e + 46fdc78 commit a1c713e

File tree

1,083 files changed

+62185
-1549
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,083 files changed

+62185
-1549
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Example/AndroidExample/README.md

Lines changed: 30 additions & 0 deletions
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# To learn about Buck see [Docs](https://buckbuild.com/).
2+
# To run your application with Buck:
3+
# - install Buck
4+
# - `npm start` - to start the packager
5+
# - `cd android`
6+
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
7+
# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
8+
# - `buck install -r android/app` - compile, install and run application
9+
#
10+
11+
lib_deps = []
12+
13+
for jarfile in glob(['libs/*.jar']):
14+
name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')]
15+
lib_deps.append(':' + name)
16+
prebuilt_jar(
17+
name = name,
18+
binary_jar = jarfile,
19+
)
20+
21+
for aarfile in glob(['libs/*.aar']):
22+
name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')]
23+
lib_deps.append(':' + name)
24+
android_prebuilt_aar(
25+
name = name,
26+
aar = aarfile,
27+
)
28+
29+
android_library(
30+
name = "all-libs",
31+
exported_deps = lib_deps,
32+
)
33+
34+
android_library(
35+
name = "app-code",
36+
srcs = glob([
37+
"src/main/java/**/*.java",
38+
]),
39+
deps = [
40+
":all-libs",
41+
":build_config",
42+
":res",
43+
],
44+
)
45+
46+
android_build_config(
47+
name = "build_config",
48+
package = "com.rnappauthandroidexample",
49+
)
50+
51+
android_resource(
52+
name = "res",
53+
package = "com.rnappauthandroidexample",
54+
res = "src/main/res",
55+
)
56+
57+
android_binary(
58+
name = "app",
59+
keystore = "//android/keystores:debug",
60+
manifest = "src/main/AndroidManifest.xml",
61+
package_type = "debug",
62+
deps = [
63+
":app-code",
64+
],
65+
)
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
apply plugin: "com.android.application"
2+
3+
import com.android.build.OutputFile
4+
5+
/**
6+
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
7+
* and bundleReleaseJsAndAssets).
8+
* These basically call `react-native bundle` with the correct arguments during the Android build
9+
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
10+
* bundle directly from the development server. Below you can see all the possible configurations
11+
* and their defaults. If you decide to add a configuration block, make sure to add it before the
12+
* `apply from: "../../node_modules/react-native/react.gradle"` line.
13+
*
14+
* project.ext.react = [
15+
* // the name of the generated asset file containing your JS bundle
16+
* bundleAssetName: "index.android.bundle",
17+
*
18+
* // the entry file for bundle generation
19+
* entryFile: "index.android.js",
20+
*
21+
* // whether to bundle JS and assets in debug mode
22+
* bundleInDebug: false,
23+
*
24+
* // whether to bundle JS and assets in release mode
25+
* bundleInRelease: true,
26+
*
27+
* // whether to bundle JS and assets in another build variant (if configured).
28+
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
29+
* // The configuration property can be in the following formats
30+
* // 'bundleIn${productFlavor}${buildType}'
31+
* // 'bundleIn${buildType}'
32+
* // bundleInFreeDebug: true,
33+
* // bundleInPaidRelease: true,
34+
* // bundleInBeta: true,
35+
*
36+
* // whether to disable dev mode in custom build variants (by default only disabled in release)
37+
* // for example: to disable dev mode in the staging build type (if configured)
38+
* devDisabledInStaging: true,
39+
* // The configuration property can be in the following formats
40+
* // 'devDisabledIn${productFlavor}${buildType}'
41+
* // 'devDisabledIn${buildType}'
42+
*
43+
* // the root of your project, i.e. where "package.json" lives
44+
* root: "../../",
45+
*
46+
* // where to put the JS bundle asset in debug mode
47+
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
48+
*
49+
* // where to put the JS bundle asset in release mode
50+
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
51+
*
52+
* // where to put drawable resources / React Native assets, e.g. the ones you use via
53+
* // require('./image.png')), in debug mode
54+
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
55+
*
56+
* // where to put drawable resources / React Native assets, e.g. the ones you use via
57+
* // require('./image.png')), in release mode
58+
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
59+
*
60+
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
61+
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
62+
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
63+
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
64+
* // for example, you might want to remove it from here.
65+
* inputExcludes: ["android/**", "ios/**"],
66+
*
67+
* // override which node gets called and with what additional arguments
68+
* nodeExecutableAndArgs: ["node"],
69+
*
70+
* // supply additional arguments to the packager
71+
* extraPackagerArgs: []
72+
* ]
73+
*/
74+
75+
project.ext.react = [
76+
entryFile: "index.js"
77+
]
78+
79+
apply from: "../../node_modules/react-native/react.gradle"
80+
81+
/**
82+
* Set this to true to create two separate APKs instead of one:
83+
* - An APK that only works on ARM devices
84+
* - An APK that only works on x86 devices
85+
* The advantage is the size of the APK is reduced by about 4MB.
86+
* Upload all the APKs to the Play Store and people will download
87+
* the correct one based on the CPU architecture of their device.
88+
*/
89+
def enableSeparateBuildPerCPUArchitecture = false
90+
91+
/**
92+
* Run Proguard to shrink the Java bytecode in release builds.
93+
*/
94+
def enableProguardInReleaseBuilds = false
95+
96+
android {
97+
compileSdkVersion rootProject.ext.compileSdkVersion
98+
buildToolsVersion rootProject.ext.buildToolsVersion
99+
100+
defaultConfig {
101+
applicationId "com.rnappauthandroidexample"
102+
minSdkVersion rootProject.ext.minSdkVersion
103+
targetSdkVersion rootProject.ext.targetSdkVersion
104+
versionCode 1
105+
versionName "1.0"
106+
ndk {
107+
abiFilters "armeabi-v7a", "x86"
108+
}
109+
manifestPlaceholders = [
110+
appAuthRedirectScheme: 'io.identityserver.demo'
111+
]
112+
}
113+
splits {
114+
abi {
115+
reset()
116+
enable enableSeparateBuildPerCPUArchitecture
117+
universalApk false // If true, also generate a universal APK
118+
include "armeabi-v7a", "x86"
119+
}
120+
}
121+
buildTypes {
122+
release {
123+
minifyEnabled enableProguardInReleaseBuilds
124+
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
125+
}
126+
}
127+
// applicationVariants are e.g. debug, release
128+
applicationVariants.all { variant ->
129+
variant.outputs.each { output ->
130+
// For each separate APK per architecture, set a unique version code as described here:
131+
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
132+
def versionCodes = ["armeabi-v7a":1, "x86":2]
133+
def abi = output.getFilter(OutputFile.ABI)
134+
if (abi != null) { // null for the universal-debug, universal-release variants
135+
output.versionCodeOverride =
136+
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
137+
}
138+
}
139+
}
140+
}
141+
142+
dependencies {
143+
compile project(':react-native-app-auth')
144+
implementation fileTree(dir: "libs", include: ["*.jar"])
145+
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
146+
implementation "com.facebook.react:react-native:+" // From node_modules
147+
}
148+
149+
// Run this once to be able to run the application with BUCK
150+
// puts all compile dependencies into folder libs for BUCK to use
151+
task copyDownloadableDepsToLibs(type: Copy) {
152+
from configurations.compile
153+
into 'libs'
154+
}

0 commit comments

Comments
 (0)