wiki/info/landscape/building-and-deploying.md
... ...
@@ -97,9 +97,7 @@ As a result of handling the request, Final Assembly will trigger builds on [http
97 97
98 98
### xMake Build for Android Apps
99 99
100
-We currently release the Android apps off a branch called ``android-xmake-release`` and referred to in the sequel as the "Android release branch."
101
-
102
-The Android release branch holds the changes required to run a successful Android build in xMake. The actual build is still the Gradle build that xMake invokes like this:
100
+We currently release the Android apps off a branch called ``android-xmake-release`` and referred to in the sequel as the "Android release branch." The Android release branch holds the changes required to run a successful Android build in xMake, particularly some adjustments to the top-level "Gradle Wrapper" (``/gradlew``) and its properties (``/gradle/wrapper/gradle-wrapper.properties``), such as obtaining the Gradle ZIP file from an SAP-internal sources instead of from an external repository. Other diffs between ``android-xmake-release`` are rather a legacy from the earlier Maven-based build and could in principal be reverted, such as the specific version adjustments along all ``pom.xml`` files. The actual build is still the Gradle build that xMake invokes like this:
103 101
```
104 102
./gradlew -Pxmake -Pversion=1.4.116 -PcommonRepoURL=https://int.repositories.cloud.sap/artifactory/build-releases/
105 103
```
... ...
@@ -108,7 +106,7 @@ We have various branches on which Android mobile app features are being develope
108 106
109 107
Also note that once released to Nexus / Artifactory, the next release build will have to use at least an incremented micro version, such as 1.4.1.
110 108
111
-In order to get the Android release branch merged into the ``rel-x.y`` branch, the same process as explained above for the merge of iOS branches into ``fa/rel-x.y`` is required. In particular, this means that a Java Correction Workbench Correction Request [needs to be created](https://css.wdf.sap.corp/sap/bc/bsp/spn/jcwb/default.htm?newCMForProject=sapsailingcapture&newCMComponentName=SV-COE-MSO-CDP) and the latest commit to be pushed to ``refs/for/rel-x.y`` needs to be amended so that it contains a valid ``Change-Id:`` and ``CR-Id:`` line. Then, the commit needs to be voted on. Other than for the MiOS branches under ``fa/rel-x.y`` it seems to be required that _another_ committer votes with +2 to enable a merge. Once this has been done, the blue ``Submit`` button will appear on your change page (something like [https://git.wdf.sap.corp/#/c/1436212/](https://git.wdf.sap.corp/#/c/1436212/)) that you can use to technically get the commit merged into the ``rel-x.y`` branch.
109
+Releasing can happen only from branches in Gerrit (git.wdf.sap.corp) under the ``fa/`` branch name prefix. Our Android branch for releasing therefore currently is ``fa/rel-1.4``. We can simply push the latest version of our ``android-xmake-release`` branch to it.
112 110
113 111
Many of the above steps can be automated by using the script ``configuration/releaseAndroidApps.sh``. Call like this:
114 112
... ...
@@ -123,8 +121,8 @@ Additional options:
123 121
-r The git remote; defaults to origin
124 122
```
125 123
126
-This will checkout the `android-xmake-release` branch, merge the `fa/arel-1.4` release branch into it, push the result again so Gerrit knows this commit / change already. Then, the version substitutions for all `pom.xml` and `MANIFEST.MF` files are carried out automatically by looking at the version currently declared in the root `pom.xml`. If that's a `-SNAPSHOT` version, only the `-SNAPSHOT` suffix is removed to obtain the new release version number. If no `-SNAPSHOT` suffix is found, the micro version is increased by one (e.g., 1.4.18 --> 1.4.19). Furthermore, the `android:versionCode` number is increased by one for each of the three apps in their `AndroidManifest.xml`, and the `android:versionName` which is assumed to have the format major.minor will have the minor version increased by one. The result is committed to git and the resulting commit is pushed to the fa/rel-1.4 branch.
124
+This will checkout the `android-xmake-release` branch, merge the `fa/rel-1.4` release branch into it, push the result again so Gerrit knows this commit / change already. Then, the version substitutions for all ``gradle.properties`` and ``cfg/files2sign.json`` files are carried out automatically by looking at the version currently declared in them and incrementing the micro-version by one (e.g., 1.4.18 --> 1.4.19). The result is committed to git and the resulting commit is pushed to the ``fa/rel-1.4`` branch.
127 125
128
-Once this is done, a [Customer release build can be started](https://xmake-mobile-dev.wdf.sap.corp/job/sapsailingprogram/job/sapsailingcapture.android-SP-REL-common_directshipment/). Select "Build with Parameters" from the left, then select ``Stage`` as the build mode, then ``customer`` as the ``RELEASE_MODE`` and enter the ``fa/rel-x.y`` branch name in the "TREEISH" field, make sure the Maven version 3.1.1 is selected, select Tycho version 1.0.0, switch the "Next development version" to ``no change`` and click the "Build" button. If the build succeeds, Final Assembly should be able to _promote_ the build artifact, such as the ``.apk`` files which should have been signed using the SAP certificate.
126
+Once this is done, a [Customer release build can be started](https://xmake-mobile-dev.wdf.sap.corp/job/sapsailingprogram/job/sapsailingcapture.android-SP-REL-common_directshipment/). Select "Build with Parameters" from the left, then select ``Stage`` as the build mode, then ``customer`` as the ``RELEASE_MODE`` and enter the ``fa/rel-1.4`` branch name in the "TREEISH" field and click the "Build" button. If the build succeeds, Final Assembly should be able to _promote_ the build artifact, such as the ``.apk`` files which should have been signed using the SAP certificate.
129 127
130 128
If the build fails due to missing Nexus artifacts, check out the document describing [how to upload artifacts to Nexus](https://wiki.wdf.sap.corp/wiki/display/LeanDI/Uploading+Third+Party+Artifacts+to+Nexus#UploadingThirdPartyArtifactstoNexus-1.CreateaJiraTicket). You will have to create a JIRA ticked in this process and upload the artifact and its ``pom.xml`` file to Nexus. Usually, these requests get handled within less than 48 hours. Good luck...
... ...
\ No newline at end of file
wiki/info/mobile/android-and-release-build.md
... ...
@@ -20,22 +20,6 @@ The build job also copies them to ``java/com.sap.sailing.www/apps`` from where,
20 20
21 21
If this build works without errors, it will also be part of all full product builds, as seen on [https://hudson.sapsailing.com](https://hudson.sapsailing.com).
22 22
23
-## Backend Build vs Android Build
24
-
25
-Due to some incompatibilities of the Android Build with specifics of the Tycho Build, it's not possible to build the backend and Android apps in one execution. That's why there are several profiles that control, what is part of the specific build.
26
-
27
-The default activation of the profiles causes the backend build to run. The relevant profiles to switch between backend and Android build are:
28
-* with-mobile (defauts to off)
29
-* with-not-android-relevant (defauts to on)
30
-
31
-So to run the Android apps build you have to add "-P -with-not-android-relevant -P with-mobile" to the Maven command line.
32
-
33 23
## Release build overview
34 24
35
-There are several differences when running the build on Lean DI. Due to this, it's necessary to implement some changes in the build. To realize the build for Lean DI there is a specific branch "android-xmake-release". It is intended that most of the Lean DI specific logic is implemented on "master" in specific Maven profiles. This causes the release branch to only have few differences compared to "master". The most notable differences are:
36
-
37
-* Configuration of parent POM "com.sap.ldi:ldi-parent" in workspace POM
38
-* Versions are set to not be *-SNAPSHOT but release versions
39
-* Some profile activation conditions are changed
40
-
41
-See also [https://wiki.sapsailing.com/wiki/info/landscape/building-and-deploying#building-deploying-stopping-and-starting-server-instances_app-build-process-for-ios-and-android](https://wiki.sapsailing.com/wiki/info/landscape/building-and-deploying#building-deploying-stopping-and-starting-server-instances_app-build-process-for-ios-and-android).
... ...
\ No newline at end of file
0
+See [here](https://wiki.sapsailing.com/wiki/info/landscape/building-and-deploying#building-deploying-stopping-and-starting-server-instances_app-build-process-for-ios-and-android_xmake-build-for-android-apps).
... ...
\ No newline at end of file