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