Skip to content

Commit 08b1104

Browse files
committed
Merge pull request #10 from studyplus/android-studio-1.0
Android studio 1.0
2 parents b8bf005 + b83b144 commit 08b1104

File tree

13 files changed

+112
-114
lines changed

13 files changed

+112
-114
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
gradle.properties
33
/local.properties
44

5-
/.idea/workspace.xml
5+
/build
6+
/reports
67
*.iml
78
.idea
89

910
*.tmp
11+
*~
1012
.DS_Store

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ try {
8585

8686
* See also [actual examples](https://github.com/studyplus/Studyplus-Android-SDK/blob/master/SDKExample/src/main/java/jp/studyplus/android/sdk/example/ExampleActivity.java).
8787

88+
### For contributor
89+
90+
* Developed on AndroidStudio 1.0.0 or higher
91+
8892
## License
8993

9094
* [MIT License](http://opensource.org/licenses/MIT)
95+

SDKExample/build.gradle

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
apply plugin: 'android'
1+
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 18
5-
buildToolsVersion "19.0.3"
4+
compileSdkVersion 21
5+
buildToolsVersion "21.1.2"
66

77
defaultConfig {
88
minSdkVersion 8
9-
targetSdkVersion 16
9+
targetSdkVersion 21
1010
versionCode 1
1111
versionName "1.0"
1212
}
@@ -22,22 +22,22 @@ android {
2222
release {
2323
debuggable false
2424
signingConfig signingConfigs.release
25-
runProguard true
25+
minifyEnabled true
2626
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
2727
}
2828
}
2929
productFlavors {
3030
production {
31-
packageName 'jp.studyplus.android.sdk.example'
31+
applicationId 'jp.studyplus.android.sdk.example'
3232
}
3333
development {
34-
packageName 'jp.studyplus.android.sdk.example.dev'
34+
applicationId 'jp.studyplus.android.sdk.example.dev'
3535
}
3636
}
3737
}
3838

3939
dependencies {
40-
compile 'com.android.support:appcompat-v7:19.0.1'
40+
compile 'com.android.support:appcompat-v7:21.0.0'
4141
compile 'com.google.code.findbugs:jsr305:1.3.9'
4242
compile project(':StudyplusAndroidSDK')
4343
}

StudyplusAndroidSDK/build.gradle

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,40 @@
11

2-
apply plugin: 'android-library'
3-
apply plugin: 'android-test'
2+
apply plugin: 'com.android.library'
3+
apply plugin: 'robolectric'
44

55
android {
6-
compileSdkVersion 19
7-
buildToolsVersion "19.0.3"
6+
compileSdkVersion 21
7+
buildToolsVersion "21.1.2"
88

99
defaultConfig {
1010
minSdkVersion 8
11-
targetSdkVersion 16
11+
targetSdkVersion 21
1212
versionCode 1
1313
versionName "1.0"
1414
}
15-
sourceSets {
16-
instrumentTest.setRoot('src/test')
15+
16+
packagingOptions {
17+
exclude 'LICENSE.txt'
18+
}
19+
}
20+
21+
robolectric {
22+
// configure the set of classes for JUnit tests
23+
include '**/*Test.class'
24+
25+
// Specify max number of processes (default is 1)
26+
maxParallelForks = 4
27+
28+
// Specify max number of test classes to execute in a test process
29+
// before restarting the process (default is unlimited)
30+
forkEvery = 150
31+
32+
// configure whether failing tests should fail the build
33+
ignoreFailures true
34+
35+
// use afterTest to listen to the test execution results
36+
afterTest { descriptor, result ->
37+
println "Executing test for ${descriptor.name} with result: ${result.resultType}"
1738
}
1839
}
1940

@@ -22,16 +43,14 @@ tasks.withType(Test) {
2243
}
2344

2445
dependencies {
25-
compile 'com.android.support:appcompat-v7:19.0.1'
2646
compile 'com.google.guava:guava:16.0'
2747

28-
def forTesting = [
29-
'junit:junit:4.11',
30-
'org.robolectric:robolectric:2.3-SNAPSHOT',
31-
'com.squareup:fest-android:1.0.7',
32-
]
33-
forTesting.each{ testCompile it }
34-
forTesting.each{ instrumentTestCompile it }
48+
androidTestCompile('junit:junit:4.11')
49+
androidTestCompile('org.robolectric:robolectric:2.4') {
50+
exclude module: 'commons-logging'
51+
exclude module: 'httpclient'
52+
}
53+
androidTestCompile('com.squareup:fest-android:1.0.7')
3554
}
3655

3756
apply from: 'gradle/build.values.gradle'

StudyplusAndroidSDK/gradle/build.publish.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ task sdkJar(type: Jar) {
1010
}
1111

1212
task androidJavadocs(type: Javadoc) {
13-
source = android.sourceSets.main.allJava
13+
source = android.sourceSets.main.java.getSrcDirs()
1414
}
1515

1616
task androidJavadocsJar(type: Jar) {
@@ -20,7 +20,7 @@ task androidJavadocsJar(type: Jar) {
2020

2121
task androidSourcesJar(type: Jar) {
2222
classifier = 'sources'
23-
from android.sourceSets.main.allSource
23+
from android.sourceSets.main.java.getSrcDirs()
2424
}
2525

2626
artifacts {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package jp.studyplus.android.sdk.test;
2+
3+
import android.app.Activity;
4+
5+
import org.robolectric.Robolectric;
6+
7+
public final class MockActivityCreator {
8+
9+
private MockActivityCreator() {}
10+
11+
public static Activity createActivity() {
12+
return Robolectric.buildActivity(Activity.class).create().get();
13+
}
14+
15+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package jp.studyplus.android.sdk.test.auth;
2+
3+
import android.content.ActivityNotFoundException;
4+
5+
import org.junit.Before;
6+
import org.junit.Test;
7+
import org.junit.runner.RunWith;
8+
import org.robolectric.Robolectric;
9+
import org.robolectric.RobolectricTestRunner;
10+
import org.robolectric.annotation.Config;
11+
12+
import jp.studyplus.android.sdk.service.auth.AuthTransit;
13+
import jp.studyplus.android.sdk.test.MockActivityCreator;
14+
15+
@Config(emulateSdk = 18)
16+
@RunWith(RobolectricTestRunner.class)
17+
public class AuthTransitTest {
18+
19+
@Before
20+
public void setUp(){
21+
Robolectric.checkActivities(true);
22+
}
23+
24+
@Test(expected = ActivityNotFoundException.class)
25+
public void shouldThrowActivityNotFound() {
26+
AuthTransit.from(MockActivityCreator.createActivity())
27+
.startActivity("dummy_key", "dummy_key_secret");
28+
}
29+
30+
}
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
package jp.studyplus.android.sdk.test.service.api;
22

33
import org.junit.Test;
4+
import org.junit.runner.RunWith;
5+
import org.robolectric.RobolectricTestRunner;
6+
import org.robolectric.annotation.Config;
47

58
import jp.studyplus.android.sdk.service.api.ApiRequest;
69
import jp.studyplus.android.sdk.service.api.StudyplusApi;
710
import jp.studyplus.android.sdk.service.auth.AccessTokenNotFound;
811
import jp.studyplus.android.sdk.service.studyrecord.StudyRecordBuilder;
912
import jp.studyplus.android.sdk.service.studyrecord.StudyRecordPostRequest;
10-
import jp.studyplus.android.sdk.test.RobolectricTest;
13+
import jp.studyplus.android.sdk.test.MockActivityCreator;
1114

12-
public class StudyplusApiTest extends RobolectricTest{
15+
@Config(emulateSdk = 18)
16+
@RunWith(RobolectricTestRunner.class)
17+
public class StudyplusApiTest {
1318

1419
@Test(expected = AccessTokenNotFound.class)
1520
public void testCatchAccessToken(){
1621
ApiRequest request = StudyRecordPostRequest.of(new StudyRecordBuilder().build());
17-
StudyplusApi.getClient(getActivity()).send(request);
22+
StudyplusApi.getClient(MockActivityCreator.createActivity()).send(request);
1823
}
24+
1925
}

StudyplusAndroidSDK/src/test/java/jp/studyplus/android/sdk/test/RobolectricGradleTestRunner.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

StudyplusAndroidSDK/src/test/java/jp/studyplus/android/sdk/test/RobolectricTest.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)