Skip to content

Commit c66777b

Browse files
committed
bugfixes and more
1 parent 1771363 commit c66777b

File tree

60 files changed

+1913
-715
lines changed

Some content is hidden

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

60 files changed

+1913
-715
lines changed

.travis.yml

+7-3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ before_script:
3737
- android-wait-for-emulator
3838

3939
script:
40-
- ./gradlew assemble
41-
- ./gradlew build check # Local unit tests
42-
- ./gradlew build connectedCheck # Instrumented unit tests
40+
- ./gradlew clean
41+
- ./gradlew check # Local unit tests
42+
- ./gradlew connectedCheck # Instrumented unit tests
43+
- ./gradlew jacocoTestReport
44+
45+
after_success:
46+
- bash <(curl -s https://codecov.io/bash)

androidlib.gradle

-23
This file was deleted.

app/build.gradle

+5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ android {
1515
targetSdkVersion project.targetSdkVersion
1616
versionCode project.gitCommitCount
1717
versionName project.gitTag
18+
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
1819
}
1920

2021
buildTypes {
@@ -43,6 +44,10 @@ dependencies {
4344
compile "com.android.support:appcompat-v7:$project.supportLibVersion"
4445
compile "com.jakewharton.timber:timber:$project.timberVersion"
4546

47+
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
48+
exclude group: 'com.android.support', module: 'support-annotations'
49+
}
50+
4651
// test local version of realm-browser
4752
normalCompile project(':realm-browser')
4853
noopCompile project(':realm-browser-no-op')

app/src/main/java/de/jonasrottmann/realmsample/MainActivity.java

+10-9
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,23 @@
44
import android.os.Bundle;
55
import android.view.View;
66
import android.widget.TextView;
7-
8-
import java.util.ArrayList;
9-
import java.util.Date;
10-
import java.util.List;
11-
import java.util.UUID;
12-
137
import de.jonasrottmann.realmbrowser.RealmBrowser;
148
import de.jonasrottmann.realmsample.data.Address;
159
import de.jonasrottmann.realmsample.data.Contact;
1610
import de.jonasrottmann.realmsample.data.RealmString;
1711
import de.jonasrottmann.realmsample.data.User;
1812
import io.realm.Realm;
13+
import io.realm.RealmConfiguration;
1914
import io.realm.RealmList;
15+
import java.util.ArrayList;
16+
import java.util.Date;
17+
import java.util.List;
18+
import java.util.UUID;
2019

2120
public class MainActivity extends Activity implements View.OnClickListener {
2221

2322
private TextView mTxtTitle;
2423

25-
2624
@Override
2725
protected void onCreate(Bundle savedInstanceState) {
2826
super.onCreate(savedInstanceState);
@@ -96,7 +94,7 @@ private void insertUsers(int count) {
9694
user.setAge(i);
9795
user.setAddress(address);
9896
user.setUuid(UUID.randomUUID().toString());
99-
user.setByteArray(new byte[]{1, 2, 3});
97+
user.setByteArray(new byte[] { 1, 2, 3 });
10098
user.setCreationDate(new Date(System.currentTimeMillis()));
10199

102100
RealmList<RealmString> emailList = new RealmList<>();
@@ -134,6 +132,9 @@ private void startRealmFilesActivity() {
134132

135133

136134
private void startRealmModelsActivity() {
137-
RealmBrowser.startRealmModelsActivity(this, Realm.getDefaultInstance().getConfiguration());
135+
Realm realm = Realm.getDefaultInstance();
136+
RealmConfiguration configuration = realm.getConfiguration();
137+
realm.close();
138+
RealmBrowser.startRealmModelsActivity(this, configuration);
138139
}
139140
}

build.gradle

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@ buildscript {
1010
minSdkVersion = 15
1111

1212
// plugins
13-
androidGradlePluginVersion = '2.2.3'
14-
realmVersion = '2.3.1'
13+
androidGradlePluginVersion = '2.3.0'
14+
realmVersion = '3.0.0'
1515
dexcountVersion = '0.6.2'
1616

1717
// dependencies
1818
timberVersion = '4.3.0'
19-
supportLibVersion = '25.2.0'
19+
supportLibVersion = '25.3.0'
20+
lombokVersion = '1.12.6'
2021
}
2122

2223
repositories {

coverage.gradle

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
apply plugin: 'jacoco'
2+
3+
jacoco {
4+
toolVersion = "0.7.9"
5+
}
6+
7+
/**
8+
* The correct path of the report is $rootProjectDir/app/build/reports/jacoco/index.html
9+
* to run this task use: ./gradlew clean jacocoTestReport
10+
*/
11+
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) { //we use "debug" build type for test coverage (can be other)
12+
group = "reporting"
13+
description = "Generate unified JaCoCo code coverage report"
14+
15+
reports {
16+
xml.enabled = true
17+
html.enabled = true
18+
csv.enabled = false
19+
xml.destination = "${buildDir}/reports/jacocoTestReport.xml"
20+
html.destination = "${buildDir}/reports/jacoco"
21+
csv.destination = "${buildDir}/reports/jacocoTestReport.csv"
22+
}
23+
24+
def fileFilter = [
25+
'**/*Test*.*',
26+
'**/AutoValue_*.*',
27+
'**/*JavascriptBridge.class',
28+
'**/R.class',
29+
'**/R$*.class',
30+
'**/Manifest*.*',
31+
'android/**/*.*',
32+
'**/BuildConfig.*',
33+
'**/*$ViewBinder*.*',
34+
'**/*$ViewInjector*.*',
35+
'**/Lambda$*.class',
36+
'**/Lambda.class',
37+
'**/*Lambda.class',
38+
'**/*Lambda*.class',
39+
'**/*$InjectAdapter.class',
40+
'**/*$ModuleAdapter.class',
41+
'**/*$ViewInjector*.class',
42+
'**/*_MembersInjector.class', //Dagger2 generated code
43+
'*/*_MembersInjector*.*', //Dagger2 generated code
44+
'**/*_*Factory*.*', //Dagger2 generated code
45+
'*/*Component*.*', //Dagger2 generated code
46+
'**/*Module*.*' //Dagger2 generated code
47+
]
48+
def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter) //we use "debug" build type for test coverage (can be other)
49+
def mainSrc = "${project.projectDir}/src/main/java"
50+
51+
sourceDirectories = files([mainSrc])
52+
classDirectories = files([debugTree])
53+
executionData = fileTree(dir: "$buildDir", includes: [
54+
"jacoco/testDebugUnitTest.exec", //we use "debug" build type for test coverage (can be other)
55+
"outputs/code-coverage/connected/*coverage.ec"
56+
])
57+
}

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-all.zip

publish.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apply plugin: 'android-maven'
22

3-
group = 'de.jonasrottmann.realmbrowser'
3+
group = 'de.jonasrottmann.realm-browser'
44

55
// build a jar with source files
66
task sourcesJar(type: Jar) {

realm-browser-no-op/build.gradle

+17-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,23 @@ apply plugin: 'com.android.library'
22
apply plugin: 'realm-android'
33
apply plugin: 'com.getkeepsafe.dexcount'
44

5-
apply from: rootProject.file('androidlib.gradle')
5+
android {
6+
compileSdkVersion project.compileSdkVersion
7+
buildToolsVersion project.buildToolsVersion
8+
resourcePrefix 'realm_browser_'
9+
10+
defaultConfig {
11+
minSdkVersion project.minSdkVersion
12+
targetSdkVersion project.targetSdkVersion
13+
versionCode project.gitCommitCount
14+
versionName project.gitTag
15+
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
16+
}
17+
18+
lintOptions {
19+
abortOnError false
20+
}
21+
}
622

723
dependencies {
824
compile fileTree(dir: 'libs', include: ['*.jar'])

realm-browser/build.gradle

+58-3
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,77 @@ apply plugin: 'com.android.library'
22
apply plugin: 'realm-android'
33
apply plugin: 'com.getkeepsafe.dexcount'
44

5-
apply from: rootProject.file('androidlib.gradle')
5+
android {
6+
compileSdkVersion project.compileSdkVersion
7+
buildToolsVersion project.buildToolsVersion
8+
resourcePrefix 'realm_browser_'
9+
10+
defaultConfig {
11+
minSdkVersion project.minSdkVersion
12+
targetSdkVersion project.targetSdkVersion
13+
versionCode project.gitCommitCount
14+
versionName project.gitTag
15+
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
16+
}
17+
18+
lintOptions {
19+
abortOnError false
20+
}
21+
22+
buildTypes {
23+
debug {
24+
testCoverageEnabled true
25+
}
26+
}
27+
28+
testOptions {
29+
unitTests.returnDefaultValues = true
30+
unitTests.all {
31+
jacoco {
32+
includeNoLocationClasses = true
33+
}
34+
}
35+
}
36+
37+
sourceSets {
38+
String sharedTestDir = 'src/sharedTest/java'
39+
test {
40+
java.srcDir sharedTestDir
41+
}
42+
androidTest {
43+
java.srcDir sharedTestDir
44+
}
45+
}
46+
47+
compileOptions {
48+
sourceCompatibility JavaVersion.VERSION_1_7
49+
targetCompatibility JavaVersion.VERSION_1_7
50+
}
51+
52+
// This enables long timeouts required on slow environments, e.g. Travis
53+
adbOptions {
54+
timeOutInMs 10 * 60 * 1000 // 10 minutes
55+
installOptions "-d", "-t"
56+
}
57+
}
658

759
dependencies {
860
compile fileTree(dir: 'libs', include: ['*.jar'])
61+
962
compile "com.android.support:appcompat-v7:$project.supportLibVersion"
1063
compile "com.android.support:recyclerview-v7:$project.supportLibVersion"
1164
compile "com.android.support:design:$project.supportLibVersion"
1265
compile "com.android.support:support-annotations:$project.supportLibVersion"
1366
compile "com.jakewharton.timber:timber:$project.timberVersion"
67+
1468
testCompile "junit:junit:4.12"
1569
androidTestCompile "junit:junit:4.12"
1670
androidTestCompile "com.android.support:support-annotations:$project.supportLibVersion"
1771
androidTestCompile "com.android.support.test:runner:0.5"
1872
androidTestCompile "com.android.support.test:rules:0.5"
19-
// androidTestApt "io.realm:realm-annotations:$project.realmVersion"
20-
// androidTestApt "io.realm:realm-annotations-processor:$project.realmVersion"
73+
androidTestAnnotationProcessor "io.realm:realm-annotations:$project.realmVersion"
74+
androidTestAnnotationProcessor "io.realm:realm-annotations-processor:$project.realmVersion"
2175
}
2276

77+
apply from: rootProject.file('coverage.gradle')
2378
apply from: rootProject.file('publish.gradle')

realm-browser/src/androidTest/java/de/jonasrottmann/realmbrowser/RealmBrowserTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package de.jonasrottmann.realmbrowser;
22

3+
import de.jonasrottmann.realmbrowser.helper.TestRealmConfigurationFactory;
34
import io.realm.DynamicRealm;
45
import io.realm.Realm;
56
import io.realm.RealmConfiguration;

0 commit comments

Comments
 (0)