716359580536b197b0f6bf2f49176fc5e4a6ce79
wiki/info/mobile/racecommittee-app-environment.md
| ... | ... | @@ -0,0 +1,102 @@ |
| 1 | +# RaceCommittee App (Server Build Environment) |
|
| 2 | + |
|
| 3 | +**This is the build description for building on the server. For your local build see the [[onboarding document|wiki/onboarding]]!** |
|
| 4 | + |
|
| 5 | +Building the RaceCommittee App has been integrated into the maven build process of the project. This document outlines how this environment is setup. Use this description whenever you need to set it up again (build-server, Maven repo, ...) |
|
| 6 | + |
|
| 7 | +## Android SDK |
|
| 8 | + |
|
| 9 | +Before starting to install the Android SDK: **Your server must be capable of running 32bit binaries.** Otherwise installing and using the SDK will fail with errors similiar to "adb exit code -2: file or device not found". |
|
| 10 | + |
|
| 11 | +On CentOS 6.4 you should issue the following commands: |
|
| 12 | + |
|
| 13 | + yum install libstdc++-4.4.7-4.el6.x86_64 # ensure that x86_x64 stdlib is up to date |
|
| 14 | + yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 |
|
| 15 | + |
|
| 16 | +On Ubuntu, use the following instead: |
|
| 17 | + |
|
| 18 | + dpkg --add-architecture i386 |
|
| 19 | + apt-get update |
|
| 20 | + apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 |
|
| 21 | + |
|
| 22 | +On a Debian version 7.6 I succeeded with the following: |
|
| 23 | + |
|
| 24 | + dpkg --add-architecture i386 |
|
| 25 | + apt-get update |
|
| 26 | + apt-get install ia32-libs lib32asound2 lib32v4l-0 libv4l-0=0.8.0-1 libasound2=1.0.23-2.1 |
|
| 27 | + |
|
| 28 | +Now we are ready to install the SDK. Pick up the [SDK Tools](http://developer.android.com/sdk/index.html) and install them on your server. Set an environment variable _ANDROID_HOME_ pointing to the install directory. It's a good idea to append some of the tools to your path: |
|
| 29 | + |
|
| 30 | + PATH=$PATH:$ANDROID_HOME/tools |
|
| 31 | + PATH=$PATH:$ANDROID_HOME/platform-tools |
|
| 32 | + |
|
| 33 | +Now it's time to install all the needed SDK components. List all available components by issuing |
|
| 34 | + |
|
| 35 | + ./android list sdk --no-ui --all |
|
| 36 | + |
|
| 37 | +Each component will have a component ID attached. Mark down all needed component IDs. Install them by issuing |
|
| 38 | + |
|
| 39 | + ./android update sdk --no-ui --all --filter [your-ids-comma-separated] |
|
| 40 | + |
|
| 41 | +At the time being the RaceCommittee App needs the following components (warning: the component IDs will change in the future!): |
|
| 42 | + |
|
| 43 | + 1- Android SDK Tools, revision 22.3 |
|
| 44 | + 2- Android SDK Platform-tools, revision 19 |
|
| 45 | + 3- Android SDK Build-tools, revision 19 |
|
| 46 | + 9- SDK Platform Android 4.4, API 19, revision 1 |
|
| 47 | + 11- SDK Platform Android 4.2.2, API 17, revision 2 |
|
| 48 | + 15- SDK Platform Android 3.2, API 13, revision 1 |
|
| 49 | + 54- Google APIs, Android API 19, revision 1 |
|
| 50 | + 56- Google APIs, Android API 17, revision 3 |
|
| 51 | + 61- Google APIs, Android API 13, revision 1 |
|
| 52 | + 81- Android Support Library, revision 19 |
|
| 53 | + 86- Google Play services, revision 13 |
|
| 54 | + |
|
| 55 | +Install them by |
|
| 56 | + |
|
| 57 | + ./android update sdk --no-ui --all --filter 1,2,3,9,11,15,54,56,61,81,86 |
|
| 58 | + |
|
| 59 | +If you are unsure about the components to install, just install everything with |
|
| 60 | + |
|
| 61 | + ./android update sdk --no-ui --all |
|
| 62 | + |
|
| 63 | +Last but not least make sure that the user executing the build has **full read and write access** on the Android SDK folders. |
|
| 64 | + |
|
| 65 | +## Maven |
|
| 66 | + |
|
| 67 | +Currently there is no Maven plugin available for Android 3.2 on the internets (see [Maven Repository](http://mvnrepository.com/artifact/com.google.android/android)). Therefore we had to build the correct plugins by hand and place them into http://maven.sapsailing.com/maven/. |
|
| 68 | + |
|
| 69 | +This has been done with the help of the [maven-sdk-deployer](https://github.com/mosabua/maven-android-sdk-deployer). If you are ever in the need of recreating http://maven.sapsailing.com/maven/ you'll need to re-do the steps to extract Maven plugins from your local Android SDK installation. Download the maven-sdk-deployer, switch to its root. Issuing |
|
| 70 | + |
|
| 71 | + mvn install -P 3.2 |
|
| 72 | + |
|
| 73 | +will install the needed android.jar as a Maven plugin into your local Maven repository. Now you can copy/remote-deploy this plugin to your target repository (in our case http://maven.sapsailing.com/maven/). Be aware that you might need more SDK components besides the core jar. Check your project's poms to see what you need. For example to get the RaceCommittee App working you need to issue |
|
| 74 | + |
|
| 75 | + maven-android-sdk-deployer/extras/compatibility-v4/mvn clean install # compatibility lib |
|
| 76 | + maven-android-sdk-deployer/add-ons/google-apis-13/mvn clean install # maps and other stuff |
|
| 77 | + maven-android-sdk-deployer/extras/google-play-services/mvn clean install # play integration |
|
| 78 | + |
|
| 79 | +too. |
|
| 80 | + |
|
| 81 | +Now these plugins can be referenced in your project's pom, e.g.: |
|
| 82 | + |
|
| 83 | + <dependency> |
|
| 84 | + <groupId>android</groupId> |
|
| 85 | + <artifactId>android</artifactId> |
|
| 86 | + <version>3.2_r1</version> |
|
| 87 | + <scope>provided</scope> |
|
| 88 | + </dependency> |
|
| 89 | + |
|
| 90 | + <dependency> |
|
| 91 | + <groupId>android.support</groupId> |
|
| 92 | + <artifactId>compatibility-v4</artifactId> |
|
| 93 | + <version>19</version> <!-- Check your local plugin! Might be 19.0.0! See maven-sdk-deployer README! -> |
|
| 94 | + </dependency> |
|
| 95 | + |
|
| 96 | +See https://github.com/mosabua/maven-android-sdk-deployer/ on how to reference other SDK components. Be sure to read the section _Known Problems_. |
|
| 97 | + |
|
| 98 | +## Building and Build-Script |
|
| 99 | + |
|
| 100 | +When executing Maven the **mobile** sub-module (including the RaceCommittee App) will be built by default. The buildAndUpdateProduct.sh has been extended to support disabling building the mobile projects. Check the script's help text to see how. |
|
| 101 | + |
|
| 102 | +buildAndUpdateProduct.sh will check if **ANDROID_HOME** is set. |
|
| ... | ... | \ No newline at end of file |
wiki/racecommittee-app-environment.md
| ... | ... | @@ -1,102 +0,0 @@ |
| 1 | -# RaceCommittee App (Server Build Environment) |
|
| 2 | - |
|
| 3 | -**This is the build description for building on the server. For your local build see the [[onboarding document|wiki/onboarding]]!** |
|
| 4 | - |
|
| 5 | -Building the RaceCommittee App has been integrated into the maven build process of the project. This document outlines how this environment is setup. Use this description whenever you need to set it up again (build-server, Maven repo, ...) |
|
| 6 | - |
|
| 7 | -## Android SDK |
|
| 8 | - |
|
| 9 | -Before starting to install the Android SDK: **Your server must be capable of running 32bit binaries.** Otherwise installing and using the SDK will fail with errors similiar to "adb exit code -2: file or device not found". |
|
| 10 | - |
|
| 11 | -On CentOS 6.4 you should issue the following commands: |
|
| 12 | - |
|
| 13 | - yum install libstdc++-4.4.7-4.el6.x86_64 # ensure that x86_x64 stdlib is up to date |
|
| 14 | - yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 |
|
| 15 | - |
|
| 16 | -On Ubuntu, use the following instead: |
|
| 17 | - |
|
| 18 | - dpkg --add-architecture i386 |
|
| 19 | - apt-get update |
|
| 20 | - apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 |
|
| 21 | - |
|
| 22 | -On a Debian version 7.6 I succeeded with the following: |
|
| 23 | - |
|
| 24 | - dpkg --add-architecture i386 |
|
| 25 | - apt-get update |
|
| 26 | - apt-get install ia32-libs lib32asound2 lib32v4l-0 libv4l-0=0.8.0-1 libasound2=1.0.23-2.1 |
|
| 27 | - |
|
| 28 | -Now we are ready to install the SDK. Pick up the [SDK Tools](http://developer.android.com/sdk/index.html) and install them on your server. Set an environment variable _ANDROID_HOME_ pointing to the install directory. It's a good idea to append some of the tools to your path: |
|
| 29 | - |
|
| 30 | - PATH=$PATH:$ANDROID_HOME/tools |
|
| 31 | - PATH=$PATH:$ANDROID_HOME/platform-tools |
|
| 32 | - |
|
| 33 | -Now it's time to install all the needed SDK components. List all available components by issuing |
|
| 34 | - |
|
| 35 | - ./android list sdk --no-ui --all |
|
| 36 | - |
|
| 37 | -Each component will have a component ID attached. Mark down all needed component IDs. Install them by issuing |
|
| 38 | - |
|
| 39 | - ./android update sdk --no-ui --all --filter [your-ids-comma-separated] |
|
| 40 | - |
|
| 41 | -At the time being the RaceCommittee App needs the following components (warning: the component IDs will change in the future!): |
|
| 42 | - |
|
| 43 | - 1- Android SDK Tools, revision 22.3 |
|
| 44 | - 2- Android SDK Platform-tools, revision 19 |
|
| 45 | - 3- Android SDK Build-tools, revision 19 |
|
| 46 | - 9- SDK Platform Android 4.4, API 19, revision 1 |
|
| 47 | - 11- SDK Platform Android 4.2.2, API 17, revision 2 |
|
| 48 | - 15- SDK Platform Android 3.2, API 13, revision 1 |
|
| 49 | - 54- Google APIs, Android API 19, revision 1 |
|
| 50 | - 56- Google APIs, Android API 17, revision 3 |
|
| 51 | - 61- Google APIs, Android API 13, revision 1 |
|
| 52 | - 81- Android Support Library, revision 19 |
|
| 53 | - 86- Google Play services, revision 13 |
|
| 54 | - |
|
| 55 | -Install them by |
|
| 56 | - |
|
| 57 | - ./android update sdk --no-ui --all --filter 1,2,3,9,11,15,54,56,61,81,86 |
|
| 58 | - |
|
| 59 | -If you are unsure about the components to install, just install everything with |
|
| 60 | - |
|
| 61 | - ./android update sdk --no-ui --all |
|
| 62 | - |
|
| 63 | -Last but not least make sure that the user executing the build has **full read and write access** on the Android SDK folders. |
|
| 64 | - |
|
| 65 | -## Maven |
|
| 66 | - |
|
| 67 | -Currently there is no Maven plugin available for Android 3.2 on the internets (see [Maven Repository](http://mvnrepository.com/artifact/com.google.android/android)). Therefore we had to build the correct plugins by hand and place them into http://maven.sapsailing.com/maven/. |
|
| 68 | - |
|
| 69 | -This has been done with the help of the [maven-sdk-deployer](https://github.com/mosabua/maven-android-sdk-deployer). If you are ever in the need of recreating http://maven.sapsailing.com/maven/ you'll need to re-do the steps to extract Maven plugins from your local Android SDK installation. Download the maven-sdk-deployer, switch to its root. Issuing |
|
| 70 | - |
|
| 71 | - mvn install -P 3.2 |
|
| 72 | - |
|
| 73 | -will install the needed android.jar as a Maven plugin into your local Maven repository. Now you can copy/remote-deploy this plugin to your target repository (in our case http://maven.sapsailing.com/maven/). Be aware that you might need more SDK components besides the core jar. Check your project's poms to see what you need. For example to get the RaceCommittee App working you need to issue |
|
| 74 | - |
|
| 75 | - maven-android-sdk-deployer/extras/compatibility-v4/mvn clean install # compatibility lib |
|
| 76 | - maven-android-sdk-deployer/add-ons/google-apis-13/mvn clean install # maps and other stuff |
|
| 77 | - maven-android-sdk-deployer/extras/google-play-services/mvn clean install # play integration |
|
| 78 | - |
|
| 79 | -too. |
|
| 80 | - |
|
| 81 | -Now these plugins can be referenced in your project's pom, e.g.: |
|
| 82 | - |
|
| 83 | - <dependency> |
|
| 84 | - <groupId>android</groupId> |
|
| 85 | - <artifactId>android</artifactId> |
|
| 86 | - <version>3.2_r1</version> |
|
| 87 | - <scope>provided</scope> |
|
| 88 | - </dependency> |
|
| 89 | - |
|
| 90 | - <dependency> |
|
| 91 | - <groupId>android.support</groupId> |
|
| 92 | - <artifactId>compatibility-v4</artifactId> |
|
| 93 | - <version>19</version> <!-- Check your local plugin! Might be 19.0.0! See maven-sdk-deployer README! -> |
|
| 94 | - </dependency> |
|
| 95 | - |
|
| 96 | -See https://github.com/mosabua/maven-android-sdk-deployer/ on how to reference other SDK components. Be sure to read the section _Known Problems_. |
|
| 97 | - |
|
| 98 | -## Building and Build-Script |
|
| 99 | - |
|
| 100 | -When executing Maven the **mobile** sub-module (including the RaceCommittee App) will be built by default. The buildAndUpdateProduct.sh has been extended to support disabling building the mobile projects. Check the script's help text to see how. |
|
| 101 | - |
|
| 102 | -buildAndUpdateProduct.sh will check if **ANDROID_HOME** is set. |
|
| ... | ... | \ No newline at end of file |