Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
eyedol committed May 4, 2015
2 parents 8732293 + b109093 commit 41093de
Show file tree
Hide file tree
Showing 108 changed files with 1,266 additions and 1,123 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ gradle-app.setting
gradle.properties
Gemfile.lock
*~
public
104 changes: 78 additions & 26 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,58 @@
## How To Build SMSSync app

The build setup here supports Android Studio and the new Gradle build system.
To build this project make sure you've either set `ANDROID_HOME` to point to where
you have your Android SDK installed or you have defined the location of the Android
SDK in the local.property file. In local.property file, make sure `sdk.dir` points to the location of the Android SDK.
This is a Gradle based project. You can build it using Android Studio or from the command line. To
do so follow the steps below:

1. Install the following software:
- Android SDK:
http://developer.android.com/sdk/index.html
- Gradle:
http://www.gradle.org/downloads
- Android Studio - Optional:
http://developer.android.com/sdk/installing/studio.html

2. Run the Android SDK Manager by pressing the SDK Manager toolbar button
in Android Studio or by running the 'android' command in a terminal
window.

3. In the Android SDK Manager, ensure that the following are installed,
and are updated to the latest available version:
- Tools -> Android SDK Platform-tools (rev 20 or above)
- Tools -> Android SDK Tools (rev 23.0.2 or above)
- Tools -> Android SDK Build-tools version 20
- Tools -> Android SDK Build-tools version 19.1
- Android 4.4 -> SDK Platform (API 8) at least
- Android L (API 22)
- Extras -> Android Support Repository
- Extras -> Android Support Library
- Extras -> Google Play services
- Extras -> Google Repository

4. Create a file in the root of the project called local.properties. Enter the path to your Android SDK.
Eg. `sdk.dir=/opt/android-studio/sdk`

5. Import the project in Android Studio:

1. Press File > Import Project
2. Navigate to and choose the settings.gradle file in this project
3. Press OK

Step 1:

Create a local.properties file in the root document of the project and insert the absolute path where you have
your sdk stored. Eg. `sdk.dir=/home/username/android-sdk-linux_x86`

Step 2:

Build the app on the command line `./build.sh`

OR

Build with Android Studio.

* Go to File
* Select Import Project...
* Select `build.gradle` located in the project's root document.
* After it finishes the import, hit Shift + F10 to build the project.

## How To Build SMSSync website

### Preview website

The SMSSync website hosted on github pages is generated using [ruhoh](http://ruhoh.com).
Please refer to the [ruhoh installation](http://ruhoh.com/docs/2/installation/) guide on how to get it running.
The SMSSync website hosted on github pages is generated using [hugo](http://gohugo.io/).
Please refer to the [hugo's installation](http://gohugo.io/overview/installing/) guide on how to get it running.

```
$ cd website-src
$ bundle exec ruhoh server 9292
$ hugo server -w
```

You then preview the site at [http://localhost:9292]( http://localhost:9292)
You then preview the site at [http://localhost:1313]( http://localhost:1313)

### Compile HTML files

Expand All @@ -57,7 +72,7 @@ $ bundle exec ruhoh compile '<path_to_a_folder_to_compile_the_html_into>'
Publish the compiled HTML files to [github pages](http://ushahidi.github.io/SMSSync/)

```
$ cd <path_compiled_html_folder>
$ cd website-src/public
$ git init .
Expand All @@ -68,3 +83,40 @@ $ git commit -m "<update_message>"
$ git push [email protected]:ushahidi/SMSSync.git master:gh-pages --force
```
## Release Build

To make a release make sure you have `gradle.properties` in the root of the `app` module with the
following content.

**gradle.properties**
```
releaseKeyStore=<key_store_file>
releaseKeyPassword=<key_password>
releaseKeyStorePassword=<key_store_password>
releaseKeyAlias=key_alias
googleDocsForm=<link_to_google_docs_feedback_form>
gPlaystoreServiceAccountEmailAddress=<playstore_service_account_email>
gPlaystorePKFile=<google-playstore-pk-file.p12>
inAppPurchasePubKey=<In-app_purchase_public_key>
googleAnalyticsCode=<google-analytics-code>
```

A typical `gradle.properties` content should look like this:
```
releaseKeyStore=/home/username/.android/debug.keystore
releaseKeyStorePassword=android
releaseKeyAlias=androiddebugkey
releaseKeyPassword=android
googleDocsForm=https://docs.google.com/forms/d/1lL/formResponse
gPlaystoreServiceAccountEmailAddress=9323892392132-842jajdkdadummy@developer.gserviceaccount.com
gPlaystorePKFile=/home/username/pdummy-pk-file.p12
inAppPurchasePubKey=MIDKDLSkdakidkkse8283-23jjkasdk
googleAnalyticsCode=UA-1234567890
```

Then in the project's root directory, issue:

`./release major milestone alpha`

This should build the app, version it, create a tag and push it to the remote repo and publish
to the Google Playstore's alpha track.
78 changes: 0 additions & 78 deletions CREDITS

This file was deleted.

4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.0-beta1'
classpath 'com.android.tools.build:gradle:1.2.2'
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'
classpath 'com.github.triplet.gradle:play-publisher:1.0.2'
classpath 'com.github.triplet.gradle:play-publisher:1.0.4'
classpath 'org.ajoberstar:gradle-git:1.1.0'
}
}
Expand Down
80 changes: 51 additions & 29 deletions changelog.json
Original file line number Diff line number Diff line change
@@ -1,80 +1,102 @@
[
{
"version": "v2.8.0",
"date": "4th May, 2015",
"features": [
"Allow alert phone number field to accept international dialing prefix.",
"Styled app support API level 10 and below.",
"Added Android 5.1 support.",
"Enabled auto deletion of pending of messages after a configured number of retry is exceeded.",
"Updated Japanese, German and Indonesian translations.",
"Refreshes Sync URL list view when a new Sync URL is added.",
"Re-activated donation button.",
"Brought back HTTP client support for devices running Android v2.2."
],
"bugs": [
"Fixed inconsistency with Message Result API codes.",
"Fixed issue with multi Sync URL support.",
"Fixed issue with date format being null.",
"Fixed logs not propagating with activities.",
"Fixed Alert Debug crashing when the app receives a query code.",
"Fixed so Message Result API is started from the settings screen when enabled."
]
},
{
"version": "v2.8.0-rc.1",
"date": "Apr 20, 2015",
"features": [
"Allow alert phone number field accept international dialing prefix",
"Style app for API level 10 and below to display edittext hint text properly"
"Allowed alert phone number field accept international dialing prefix",
"Styleed app for API level 10 and below to display edittext hint text properly"
],
"bugs": [
"Fix donation list to display both the donation title and the amount.",
"Fix so task and message results when enabled from settings screen actually starts.",
"Fix data migration from v2.7.3 to v2.8.0"
"Fixed donation list to display both the donation title and the amount.",
"Fixed so task and message results when enabled from settings screen actually starts.",
"Fixed data migration from v2.7.3 to v2.8.0"
]
},
{
"version": "v2.8.0-beta.1",
"date": "Mar 30, 2015",
"features": [],
"bugs": [
"Fix donation screen crashing on Lollipop devices.",
"Fix random stalls of enabled services.",
"Fix retries so it only deletes pending message when it's enabled"
"Fixed donation screen crashing on Lollipop devices.",
"Fixed random stalls of enabled services.",
"Fixed retries so it only deletes pending message when it's enabled"
]
},
{
"version": "v2.8.0-alpha.3",
"date": "Mar 25, 2015",
"features": [
"Style ActionMode background to accommodate changes in the new theme."
"Styled ActionMode background to accommodate changes in the new theme."
],
"bugs": [
"Fix logs not propagating.",
"Fix Sync URL list view to reload when a new Sync URL is added.",
"Fix alert debug crashing when the app receives a key code."
"Fixed logs not propagating.",
"Fixed Sync URL list view to reload when a new Sync URL is added.",
"Fixed alert debug crashing when the app receives a key code."
]
},
{
"version": "v2.8.0-alpha.2",
"date": "March 23, 2015",
"features": [
"Add Japanese German and Indonesian translations"
"Added Japanese German and Indonesian translations"
],
"bugs": [
"Fix inconsistency with message result API codes.",
"Fix issue with sync to only one Sync URL even though multiple have been enabled.",
"Disable proguard minification"
"Fixed inconsistency with message result API codes.",
"Fixed issue with sync to only one Sync URL even though multiple have been enabled.",
"Disabled proguard minification"
]
},
{
"version": "v2.8.0-alpha.1",
"date": "March 23, 2015",
"features": [
"Add Android 5.1 support.",
"Enable auto delete of pending of message after a configured number of retry is exceed.",
"Added Android 5.1 support.",
"Enabled auto delete of pending of message after a configured number of retry is exceed.",
"Brought back HTTP client support for devices running Android v2.2.",
"Re-activate donation button."
"Re-activated donation button."
],
"bugs": [
"Fix inconsistency with message result API codes.",
"Fix issue with sync to only one Sync URL even though multiple have been enabled."
"Fixed inconsistency with message result API codes.",
"Fixed issue with sync to only one Sync URL even though multiple have been enabled."
]
},
{
"version": "v2.7.3",
"date": "January 12, 2015",
"features": [
"Refactor how responses from server are processed.",
"Refactored how responses from server are processed.",
"Switched to using GSON for JSON de/serializations.",
"Remove survey feedback form.",
"Switch to using OkHttp library as the main http client.",
"Start using mockito for testing.",
"Add more debug info to log messages."
"Switched to using OkHttp library as the main http client.",
"Started using mockito for testing.",
"Added more debug info to log messages."
],
"bugs": [
"Fix issue with server not sending message from server as SMS.",
"Fix broken sync scheme's configurations.",
"Fix so message result api processes the response."
"Fixed issue with server not sending message from server as SMS.",
"Fixed broken sync scheme's configurations.",
"Fixed so message result api processes the response."
]
},
{
Expand All @@ -83,7 +105,7 @@
"features": [
"Added secret to result API",
"Updated failed notification icon.",
"Change message result API to use the same time frequency as task checking feautre. "
"Changed message result API to use the same time frequency as task checking feautre. "
],
"bugs": [
"Fixed wrong use of result API GET param.",
Expand Down
11 changes: 11 additions & 0 deletions contributors.json
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,17 @@
"longitude": 105.318756
}
},
{
"name": "Sorin Pohontu",
"email": "[email protected]",
"website": "http://www.frontline.ro",
"description": "Stress testing, bugs reports, suggested improvements and code hints.",
"country": {
"name": "Romania",
"latitude": 47.637849,
"longitude": 26.231793
}
},
{
"name": "Tobias Quinn",
"email": "[email protected]",
Expand Down
Loading

0 comments on commit 41093de

Please sign in to comment.