Skip to content

Commit 5d92911

Browse files
committed
Convert client to jar
Fix related problems like org.apache.httpcomponents package collision. bintray publish now controlled by property Fixed 404 test. Migrated client androidTest to test and JUnit
1 parent 7d6570d commit 5d92911

File tree

29 files changed

+222
-245
lines changed

29 files changed

+222
-245
lines changed

src/AndroidClient/.idea/gradle.xml

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/AndroidClient/.idea/modules.xml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/AndroidClient/AndroidClient.iml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
<facet type="java-gradle" name="Java-Gradle">
55
<configuration>
66
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
7-
<option name="BUILDABLE" value="false" />
87
</configuration>
98
</facet>
109
</component>

src/AndroidClient/android/android.iml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.id=":android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="net.servicestack" external.system.module.version="1.0.10" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="net.servicestack" external.system.module.version="1.0.20" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -12,9 +12,8 @@
1212
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1313
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1414
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15-
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
1615
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
17-
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
16+
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
1817
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" />
1918
<option name="ALLOW_USER_CONFIGURATION" value="false" />
2019
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -83,14 +82,17 @@
8382
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
8483
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
8584
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
85+
<excludeFolder url="file://$MODULE_DIR$/build/poms" />
86+
<excludeFolder url="file://$MODULE_DIR$/build/reports" />
87+
<excludeFolder url="file://$MODULE_DIR$/build/test-results" />
8688
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
8789
</content>
8890
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
8991
<orderEntry type="sourceFolder" forTests="false" />
90-
<orderEntry type="library" exported="" name="gson-2.3.1" level="project" />
9192
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
92-
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
93+
<orderEntry type="library" exported="" name="gson-2.3.1" level="project" />
9394
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
95+
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
9496
<orderEntry type="module" module-name="client" exported="" />
9597
</component>
9698
</module>

src/AndroidClient/android/build.gradle

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
22
apply plugin: 'com.github.dcendents.android-maven'
33
apply plugin: 'com.jfrog.bintray'
44

5-
version = "1.0.19"
5+
version = "1.0.20"
66

77
android {
88
compileSdkVersion 21
@@ -20,6 +20,13 @@ android {
2020
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
2121
}
2222
}
23+
packagingOptions {
24+
exclude 'META-INF/DEPENDENCIES'
25+
exclude 'META-INF/NOTICE'
26+
exclude 'META-INF/NOTICE.txt'
27+
exclude 'META-INF/LICENSE'
28+
exclude 'META-INF/LICENSE.txt'
29+
}
2330
}
2431

2532
Properties properties = System.properties;
@@ -42,7 +49,7 @@ bintray {
4249
websiteUrl = siteUrl
4350
vcsUrl = gitUrl
4451
licenses = ["BSD 3-Clause"]
45-
publish = true
52+
publish = properties.getProperty('bintray.publish') == 'true'
4653
userOrg = 'servicestack'
4754
}
4855
}
@@ -92,7 +99,11 @@ install {
9299

93100

94101
dependencies {
95-
compile fileTree(dir: 'libs', include: ['*.jar'])
96102
compile 'com.android.support:appcompat-v7:21.0.3'
97103
compile project(':client')
104+
compile fileTree(dir: 'libs', include: '*.jar')
105+
testCompile 'junit:junit:4.11'
106+
testCompile 'org.mockito:mockito-core:1.9.5'
98107
}
108+
109+
configurations.compile.exclude group: 'org.apache.httpcomponents'

src/AndroidClient/android/src/androidTest/java/net/servicestack/android/TestServiceTestsAsync.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ public void complete() {
187187

188188
ResponseStatus status = thrownError[0].getResponseStatus();
189189

190-
assertEquals("not here", status.getErrorCode());
190+
assertEquals("NotFound", status.getErrorCode());
191191
assertEquals("not here", status.getMessage());
192192
assertNotNull(status.getStackTrace());
193193
}

src/AndroidClient/android/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
<application android:allowBackup="true" android:label="@string/app_name">
55

66
</application>
7+
<uses-permission android:name="android.permission.INTERNET" />
78

89
</manifest>

src/AndroidClient/app/app.iml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1313
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1414
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15-
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
1615
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
17-
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
16+
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
1817
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" />
1918
<option name="ALLOW_USER_CONFIGURATION" value="false" />
2019
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -86,10 +85,11 @@
8685
</content>
8786
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
8887
<orderEntry type="sourceFolder" forTests="false" />
89-
<orderEntry type="library" exported="" name="gson-2.3.1" level="project" />
9088
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
91-
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
89+
<orderEntry type="library" exported="" name="gson-2.3.1" level="project" />
9290
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
91+
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
9392
<orderEntry type="module" module-name="android" exported="" />
93+
<orderEntry type="module" module-name="client" exported="" />
9494
</component>
9595
</module>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id=":client-new" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="AndroidClient" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="android-gradle" name="Android-Gradle">
5+
<configuration>
6+
<option name="GRADLE_PROJECT_PATH" value=":client-new" />
7+
</configuration>
8+
</facet>
9+
</component>
10+
<component name="NewModuleRootManager" inherit-compiler-output="true">
11+
<exclude-output />
12+
<orderEntry type="inheritedJdk" />
13+
<orderEntry type="sourceFolder" forTests="false" />
14+
</component>
15+
</module>
Lines changed: 56 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,67 @@
1-
apply plugin: 'com.android.library'
2-
apply plugin: 'com.github.dcendents.android-maven'
31
apply plugin: 'com.jfrog.bintray'
2+
apply plugin: 'java'
3+
apply plugin: 'idea'
4+
apply plugin: 'maven'
45

5-
version = "1.0.19"
6-
group = "net.servicestack" // Maven Group ID for the artifact
7-
String packageId = "client"
8-
9-
android {
10-
compileSdkVersion 21
11-
buildToolsVersion "21.1.2"
12-
13-
defaultConfig {
14-
minSdkVersion 15
15-
targetSdkVersion 21
16-
versionCode 1
17-
versionName version
18-
}
19-
buildTypes {
20-
release {
21-
minifyEnabled false
22-
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
23-
}
24-
}
25-
}
266

277
dependencies {
288
compile 'com.google.code.gson:gson:2.3.1'
9+
compile 'org.apache.httpcomponents:httpmime:4.2.3'
10+
testCompile 'junit:junit:4.11'
11+
testCompile 'org.mockito:mockito-core:1.9.5'
2912
}
3013

14+
version = "1.0.21"
15+
group = "net.servicestack" // Maven Group ID for the artifact
16+
String packageId = "client"
17+
18+
String siteUrl = 'https://github.com/ServiceStack/ServiceStack.Java' // Homepage URL of the library
19+
String gitUrl = 'https://github.com/ServiceStack/ServiceStack.Java.git' // Git repository URL
20+
3121
Properties properties = System.properties;
3222
if(properties.getProperty("bintray.user", null) == null) {
3323
properties.load(project.file('./local.properties').newDataInputStream())
3424
}
3525

26+
task createPom {
27+
pom {
28+
project {
29+
packaging 'jar'
30+
31+
// Add your description here
32+
name 'ServiceStack.Client'
33+
description 'A client library to call your ServiceStack webservices.'
34+
url siteUrl
35+
36+
// Set your license
37+
licenses {
38+
license {
39+
name 'The BSD 3-Clause License'
40+
url 'https://raw.githubusercontent.com/ServiceStack/Assets/master/docs/license/LICENSE-BSD3.txt'
41+
}
42+
}
3643

37-
def siteUrl = 'https://github.com/ServiceStack/ServiceStack.Java' // Homepage URL of the library
38-
def gitUrl = 'https://github.com/ServiceStack/ServiceStack.Java.git' // Git repository URL
44+
developers {
45+
developer {
46+
id 'mythz'
47+
name 'Demis Bellot'
48+
email 'team@servicestack.net'
49+
}
50+
developer {
51+
id 'layoric'
52+
name 'Darren Reid'
53+
email 'team@servicestack.net'
54+
}
55+
}
56+
scm {
57+
connection 'https://github.com/ServiceStack/ServiceStack.Java'
58+
developerConnection 'https://github.com/ServiceStack/ServiceStack.Java'
59+
url 'https://github.com/ServiceStack/ServiceStack.Java'
60+
}
61+
}
62+
}.writeTo("pom.xml")
63+
}
64+
build.dependsOn createPom
3965

4066
bintray {
4167
user = properties.getProperty("bintray.user")
@@ -49,84 +75,21 @@ bintray {
4975
websiteUrl = siteUrl
5076
vcsUrl = gitUrl
5177
licenses = ["BSD 3-Clause"]
52-
publish = true
78+
publish = properties.getProperty('bintray.publish') == 'true'
5379
}
5480
}
5581

56-
task makeJar(type: Copy) {
57-
from('build/intermediates/bundles/release/')
58-
into('build/libs/')
59-
include('classes.jar')
60-
rename ('classes.jar', packageId + '-' + version + '.jar')
61-
}
62-
63-
install {
64-
repositories.mavenInstaller {
65-
// This generates POM.xml with proper parameters
66-
pom {
67-
project {
68-
packaging 'jar'
69-
70-
// Add your description here
71-
name 'ServiceStack.Client'
72-
description 'A client library to call your ServiceStack webservices.'
73-
url siteUrl
74-
75-
// Set your license
76-
licenses {
77-
license {
78-
name 'The BSD 3-Clause License'
79-
url 'https://raw.githubusercontent.com/ServiceStack/Assets/master/docs/license/LICENSE-BSD3.txt'
80-
}
81-
}
82-
83-
developers {
84-
developer {
85-
id 'mythz'
86-
name 'Demis Bellot'
87-
email 'team@servicestack.net'
88-
}
89-
developer {
90-
id 'layoric'
91-
name 'Darren Reid'
92-
email 'team@servicestack.net'
93-
}
94-
}
95-
scm {
96-
connection 'https://github.com/ServiceStack/ServiceStack.Java'
97-
developerConnection 'https://github.com/ServiceStack/ServiceStack.Java'
98-
url 'https://github.com/ServiceStack/ServiceStack.Java'
99-
}
100-
}
101-
}
102-
}
103-
}.dependsOn makeJar
104-
105-
task sourcesJar(type: Jar) {
106-
from android.sourceSets.main.java.srcDirs
82+
task sourcesJar(type: Jar, dependsOn: classes) {
10783
classifier = 'sources'
108-
}
109-
110-
task javadoc(type: Javadoc) {
111-
source = android.sourceSets.main.java.srcDirs
112-
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
84+
from sourceSets.main.allSource
11385
}
11486

11587
task javadocJar(type: Jar, dependsOn: javadoc) {
11688
classifier = 'javadoc'
11789
from javadoc.destinationDir
11890
}
11991

120-
task clearJar(type: Delete) {
121-
delete ("build/libs/" + packageId + '-' + version + '.jar')
122-
}
123-
12492
artifacts {
125-
archives javadocJar
12693
archives sourcesJar
127-
archives file: new File(project.projectDir,'build/libs/' + packageId + '-' + version + '.jar'), name: packageId, type: 'jar'
128-
}
129-
130-
task findConventions << {
131-
println project.getConvention()
132-
}
94+
archives javadocJar
95+
}

0 commit comments

Comments
 (0)