Silence uses Gradle to build the project and to maintain dependencies.
The following steps should help you (re)build Silence from the command line.
-
Checkout the source somewhere on your filesystem with
git clone --recursive https://github.com/SilenceIM/Silence.git
-
Make sure you have the Android SDK installed somewhere on your system.
-
Ensure that the following packages are installed from the Android SDK manager:
- Android SDK Build Tools
- SDK Platform
- Android Support Repository
- Google Repository
-
Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it.
sdk.dir=\<path to your sdk installation\>
-
(Optional) Build Gradle-Witness
./scripts/build-witness.sh
-
Execute Gradle:
./gradlew assembleDebug
If you get a Configuration with name 'default' not found.
, please update submodules:
git submodule init && git submodule update
Sample command for generating our audio placeholder image:
pngs_from_svg.py ic_audio.svg /path/to/Silence/res/ 150 --color #000 --opacity 0.54 --suffix _light
pngs_from_svg.py ic_audio.svg /path/to/Silence/res/ 150 --color #fff --opacity 1.00 --suffix _light
Install the Transifex Client to update project strings
Pull down all new translation updates:
tx pull -af --minimum-perc=1
Pull down specific locales:
tx pull -l <locales>
Push updated default strings:
tx push -s
Push specific locales:
tx push -t -l <locales>
Changing the source strings (this is a pain):
- Make the string change
- Pull the latest translations -
tx pull -af --minimum-perc=1
- Push your latest source strings -
tx push -s
(this will delete all the translations of the source strings you changed) - Push your local translations -
tx push -t
(this will restore the deleted translations)
NOTES:
- If anyone knows of a better way to do this, please contribute it, this way sucks.
- This should only be done where the meaning of the source string doesn't change (ie. fixing a typo/rewording).
- This will cause the restored translations to look like they're from you, not the original translator.
Full documentation at http://docs.transifex.com/developer/client/
Android Studio is the recommended development environment.
- Install Android Studio.
- Make sure the "Android Support Repository" is installed in the Android Studio SDK.
- Make sure the latest "Android SDK build-tools" is installed in the Android Studio SDK.
- Create a new Android Studio project. from the Quickstart pannel (use File > Close Project to see it), choose "Checkout from Version Control" then "git".
- Paste the URL for the Silence project when prompted (https://github.com/SilenceIM/Silence.git).
- Android studio should detect the presence of a project file and ask you whether to open it. Click "yes".
- Default config options should be good enough.
- Project initialisation and build should proceed.
Code contributions should be sent via github as pull requests, from feature branches as explained here.