Merge branch 'master' into bug2851

This commit is contained in:
Axel Uhl committed 2016-01-13 09:52:31 +01:00
commit 7216a8cee5
45 files changed
+1542 -396

No files matched your search

-1
View File
@@ -32,5 +32,4 @@ out/
.gradle
local.properties
git.xml
build.info
mobile/github-advrecyclerview_lib/bin
+26 -14
View File
@@ -624,17 +624,27 @@ if [[ "$@" == "build" ]] || [[ "$@" == "all" ]]; then
ANDROID="$ANDROID_HOME/tools/android.bat"
fi
RC_APP_VERSION=`grep "def verCode=" mobile/com.sap.$PROJECT_TYPE.racecommittee.app/build.gradle | cut -d "=" -f 2`
mobile_extra="-P -with-not-android-relevant -P with-mobile"
if [ $testing -eq 0 ]; then
echo "INFO: Skipping tests"
mobile_extra="$mobile_extra -Dmaven.test.skip=true -DskipTests=true"
else
mobile_extra="$mobile_extra -DskipTests=false"
fi
RC_APP_VERSION=`grep "android:versionCode=" mobile/com.sap.$PROJECT_TYPE.racecommittee.app/AndroidManifest.xml | cut -d "\"" -f 2`
echo "RC_APP_VERSION=$RC_APP_VERSION"
extra="$extra -Drc-app-version=$RC_APP_VERSION"
TRACKING_APP_VERSION=`grep "def verCode=" mobile/com.sap.$PROJECT_TYPE.android.tracking.app/build.gradle | cut -d "=" -f 2`
TRACKING_APP_VERSION=`grep "android:versionCode=" mobile/com.sap.$PROJECT_TYPE.android.tracking.app/AndroidManifest.xml | cut -d "\"" -f 2`
echo "TRACKING_APP_VERSION=$TRACKING_APP_VERSION"
extra="$extra -Dtracking-app-version=$TRACKING_APP_VERSION"
BUOY_APP_VERSION=`grep "def verCode=" mobile/com.sap.$PROJECT_TYPE.buoy.positioning/build.gradle | cut -d "=" -f 2`
BUOY_APP_VERSION=`grep "android:versionCode=" mobile/com.sap.$PROJECT_TYPE.buoy.positioning/AndroidManifest.xml | cut -d "\"" -f 2`
echo "BUOY_APP_VERSION=$BUOY_APP_VERSION"
extra="$extra -Dbuoy-app-version=$BUOY_APP_VERSION"
APP_VERSION_PARAMS="-Drc-app-version=$RC_APP_VERSION -Dtracking-app-version=$TRACKING_APP_VERSION -Dbuoy.positioning-app-version=$BUOY_APP_VERSION"
extra="$extra $APP_VERSION_PARAMS"
mobile_extra="$mobile_extra $APP_VERSION_PARAMS"
NOW=$(date +"%s")
BUILD_TOOLS=22.0.1
@@ -654,16 +664,19 @@ if [[ "$@" == "build" ]] || [[ "$@" == "all" ]]; then
echo yes | "$ANDROID" update sdk $ANDROID_OPTIONS --filter extra-android-m2repository --no-ui --force --all > /dev/null
echo "Updating Android SDK (extra-google-m2repository)..." | tee -a $START_DIR/build.log
echo yes | "$ANDROID" update sdk $ANDROID_OPTIONS --filter extra-google-m2repository --no-ui --force --all > /dev/null
./gradlew clean build -xtest | tee -a $START_DIR/build.log
echo "Using following command for apps build: mvn $mobile_extra -DargLine=\"$APP_PARAMETERS\" -fae -s $MAVEN_SETTINGS $clean install"
echo "Maven version used: `mvn --version`"
mvn $mobile_extra -DargLine="$APP_PARAMETERS" -fae -s $MAVEN_SETTINGS $clean install 2>&1 | tee -a $START_DIR/build.log
if [[ ${PIPESTATUS[0]} != 0 ]]; then
exit 100
fi
if [ $testing -eq 1 ]; then
echo "Starting JUnit tests..."
./gradlew test | tee -a $START_DIR/build.log
if [[ ${PIPESTATUS[0]} != 0 ]]; then
exit 103
fi
# ./gradlew test | tee -a $START_DIR/build.log
# if [[ ${PIPESTATUS[0]} != 0 ]]; then
# exit 103
# fi
# TODO find a way that the emulator test is stable in hudson
# adb emu kill
# echo "Downloading image (sys-img-${ANDROID_ABI}-android-${TEST_API})..." | tee -a $START_DIR/build.log
@@ -690,9 +703,6 @@ if [[ "$@" == "build" ]] || [[ "$@" == "all" ]]; then
# adb emu kill
# "$ANDROID" delete avd --name ${AVD_NAME}
fi
else
echo "INFO: Deactivating mobile modules"
extra="$extra -P !with-mobile"
fi
if [ $reporting -eq 1 ]; then
@@ -704,6 +714,8 @@ if [[ "$@" == "build" ]] || [[ "$@" == "all" ]]; then
# needed to make sure that tests use the right servers
APP_PARAMETERS="-Dmongo.host=$MONGODB_HOST -Dmongo.port=$MONGODB_PORT -Dexpedition.udp.port=$EXPEDITION_PORT -Dreplication.exchangeHost=$REPLICATION_HOST -Dreplication.exchangeName=$REPLICATION_CHANNEL"
extra="$extra -P with-not-android-relevant,!with-mobile"
echo "Using following command: mvn $extra -DargLine=\"$APP_PARAMETERS\" -fae -s $MAVEN_SETTINGS $clean install"
echo "Maven version used: `mvn --version`"
mvn $extra -DargLine="$APP_PARAMETERS" -fae -s $MAVEN_SETTINGS $clean install 2>&1 | tee -a $START_DIR/build.log
+109
View File
@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>workspace</artifactId>
<groupId>com.sap.sailing</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>install-android-sdk</artifactId>
<packaging>pom</packaging>
<!-- The submodule "install-android-sdk" is only added to the build on Lean DI.
The modules only purpose is to assemble the Android SDK if it doesn't already exist in the build Job. -->
<profiles>
<profile>
<id>install-android-sdk-windows</id>
<activation>
<file>
<missing>${ldi.android.sdk.location}/platform-tools/adb.exe</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>install-android-sdk</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.google.download.android</groupId>
<artifactId>android-sdk-windows</artifactId>
<version>${ldi.download.android.sdk.version}</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${ldi.android.sdk.parent.location}</outputDirectory>
<includes>**/*</includes>
</artifactItem>
<artifactItem>
<groupId>com.google.download.android</groupId>
<artifactId>platform-tools-windows</artifactId>
<version>${ldi.download.android.platform-tools.version}</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${ldi.android.sdk.location}</outputDirectory>
<includes>**/*</includes>
</artifactItem>
<artifactItem>
<groupId>com.google.download.android</groupId>
<artifactId>build-tools-windows</artifactId>
<version>${ldi.download.android.build-tools.version}</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${ldi.android.sdk.location}/build-tools</outputDirectory>
<includes>**/*</includes>
</artifactItem>
<artifactItem>
<groupId>com.google.download.android</groupId>
<artifactId>android</artifactId>
<version>${ldi.download.android.platform.version}</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${ldi.android.sdk.location}/platforms</outputDirectory>
<includes>**/*</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>move_platform_dir</id>
<phase>initialize</phase>
<configuration>
<tasks>
<move file="${ldi.android.sdk.location}/platforms/android-${android.api.version}"
tofile="${ldi.android.sdk.location}/platforms/android-${android.platform.version}"/>
<move file="${ldi.android.sdk.location}/build-tools/android-${ldi.android.build-tools.version}"
tofile="${ldi.android.sdk.location}/build-tools/${ldi.download.android.build-tools.version}"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
+7 -7
View File
@@ -40,7 +40,7 @@
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.gwt.ui</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
@@ -52,37 +52,37 @@
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.domain.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt.adminconsole</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.datamining.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.datamining.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
</dependencies>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.json.simple"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
+25 -3
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>root</artifactId>
@@ -9,7 +10,6 @@
</parent>
<artifactId>com.sap.sailing.domain.common</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
@@ -37,4 +37,26 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.json.simple"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>root</artifactId>
@@ -36,4 +37,27 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>4.3.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
+11 -12
View File
@@ -53,55 +53,55 @@
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.domain.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt.theme</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt.adminconsole</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.datamining.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.datamining.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.datamining.annotations</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.polars.datamining.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
@@ -113,16 +113,15 @@
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.security.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.security.ui</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
</dependencies>
<build>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.json.simple"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
@@ -22,4 +22,26 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="empty" sequenceNumber="-1"/>
-28
View File
@@ -12,32 +12,4 @@
<artifactId>com.sap.sailing.www</artifactId>
<packaging>eclipse-plugin</packaging>
<!-- Optional depedency to delay build after apk has been deployed to apps/
folder -->
<profiles>
<profile>
<!-- deactivate with parameter '-P !with-mobile' -->
<id>with-mobile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.racecommittee.app</artifactId>
<version>1.0.0-SNAPSHOT</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.android.tracking.app</artifactId>
<version>1.0.0-SNAPSHOT</version>
<optional>true</optional>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.json.simple"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
+25 -2
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>root</artifactId>
@@ -37,4 +38,26 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sap.sse.datamining.annotations"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
@@ -28,4 +28,26 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
+2 -2
View File
@@ -25,13 +25,13 @@
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
</dependencies>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sap.sse.security.common"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
+22 -1
View File
@@ -28,5 +28,26 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
+4 -4
View File
@@ -25,25 +25,25 @@
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.gwt</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.security</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.security.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
</dependencies>
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sap.sse.shared.android"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
+22
View File
@@ -22,4 +22,26 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
+8
View File
@@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.json.simple"
android:versionCode="1"
android:versionName="1.1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
+26 -2
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>root</artifactId>
@@ -37,4 +38,27 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>with-mobile</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
Executable → Regular
+191 -55
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
@@ -13,9 +13,65 @@
<packaging>pom</packaging>
<modules>
<module>com.sap.sse</module>
<!-- By default, only the modules are added that are always needed.
These are the module that are needed for both backend and Android builds.
To add additional modules for the backend build, there is a specific profile. -->
<module>com.sap.sse.common</module>
<module>com.sap.sse.shared.android</module>
<module>com.sap.sse.datamining.annotations</module>
<module>com.sap.sse.security.common</module>
<module>org.json.simple</module>
<module>com.sap.sailing.domain.common</module>
<module>com.sap.sailing.domain.shared.android</module>
<module>com.sap.sailing.server.gateway.serialization.shared.android</module>
</modules>
<properties>
<tycho-version>0.21.0</tycho-version>
<gwt.version>2.7.0</gwt.version>
<gwt.minVersion>2.7.0</gwt.minVersion>
<gwt.workers>2</gwt.workers>
<p2-target>race-analysis-p2-remote</p2-target><!--can be overidden through p2-target.local profile -->
<!-- QUESTION: Which properties or settings are system dependent and differ across different machines/environments? QUESTION:
Can we move the system property -Dmongo.dbName to "parameters.mongodb"? If so the IP of the host would be the same for all
profiles. -->
<parameters.common>
-Dfile.encoding=cp1252 -Dmongo.dbName=winddbTest -DspatialWind=true
</parameters.common>
<parameters.vm-settings>
-ea -Xmx1024m -XX:+UseG1GC
</parameters.vm-settings>
<parameters.tractrac>
-Dtractrac.tunnel=true -Dtractrac.tunnel.host=localhost
</parameters.tractrac>
<parameters.mongodb>
-Dmongo.host=127.0.0.1
</parameters.mongodb>
<parameters.debug>
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
</parameters.debug>
<!-- "Forward declaration" for better readability. The actual value should be defined in the local settings.xml, because
of the differences between the CI-Build and the local setup. -->
<parameters.proxy>
-Dhttp.proxyHost=proxy.wdf.sap.corp -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.wdf.sap.corp -Dhttps.proxyPort=8080
</parameters.proxy>
<reportsdirectory>${project.build.directory}/surefire-reports</reportsdirectory>
<skipTests>false</skipTests>
</properties>
<profiles>
<profile>
<!-- This profile activates some configuration (submodules and Tycho) that must not be active when building the Android apps.
On Lean DI this profile is inactive.
In a non Lean DI environment this is active by default and can be deactivated using the parameter "-P !with-not-android-relevant". -->
<id>with-not-android-relevant</id>
<activation>
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<modules>
<module>com.sap.sse</module>
<module>com.sap.sse.mail</module>
<module>com.sap.sse.mail.replication.test</module>
<module>com.sap.sse.mail.replication.testsupport</module>
@@ -23,10 +79,8 @@
<module>com.sap.sse.gwt</module>
<module>com.sap.sse.gwt.adminconsole</module>
<module>com.sap.sse.datamining</module>
<module>com.sap.sse.datamining.annotations</module>
<module>com.sap.sse.datamining.shared</module>
<module>com.sap.sse.security</module>
<module>com.sap.sse.security.common</module>
<module>com.sap.sse.security.ui</module>
<module>com.sap.sse.security.userstore.mongodb</module>
<module>com.sap.sse.operationaltransformation</module>
@@ -34,8 +88,6 @@
<module>com.sap.sse.threadmanager</module>
<module>com.sap.sse.filestorage</module>
<module>com.sap.sse.gwt.theme</module>
<module>com.sap.sailing.domain.common</module>
<module>com.sap.sailing.domain.shared.android</module>
<module>com.sap.sailing.domain</module>
<module>com.sap.sailing.geocoding</module>
<module>com.sap.sailing.datamining</module>
@@ -58,14 +110,12 @@
<module>com.sap.sailing.server</module>
<module>com.sap.sailing.server.gateway</module>
<module>com.sap.sailing.server.gateway.serialization</module>
<module>com.sap.sailing.server.gateway.serialization.shared.android</module>
<module>com.sap.sailing.www</module>
<module>com.sap.sailing.www.events</module>
<module>com.sap.sailing.xmlexport</module>
<module>com.google.gwt.dev</module>
<module>com.google.gwt.osgi</module>
<module>com.tractrac.clientmodule</module>
<module>org.json.simple</module>
<module>com.googlecode.java-diff-utils</module>
<module>com.googlecode.mgwt</module>
<module>com.sap.sailing.dashboards.gwt</module>
@@ -141,41 +191,26 @@
left out on purpose: only invoke maven manually to build target platform
-->
</modules>
<properties>
<tycho-version>0.21.0</tycho-version>
<gwt.version>2.7.0</gwt.version>
<gwt.minVersion>2.7.0</gwt.minVersion>
<gwt.workers>2</gwt.workers>
<p2-target>race-analysis-p2-remote</p2-target><!--can be overidden through p2-target.local profile -->
<!-- QUESTION: Which properties or settings are system dependent and differ across different machines/environments? QUESTION:
Can we move the system property -Dmongo.dbName to "parameters.mongodb"? If so the IP of the host would be the same for all
profiles. -->
<parameters.common>
-Dfile.encoding=cp1252 -Dmongo.dbName=winddbTest -DspatialWind=true
</parameters.common>
<parameters.vm-settings>
-ea -Xmx1024m -XX:+UseG1GC
</parameters.vm-settings>
<parameters.tractrac>
-Dtractrac.tunnel=true -Dtractrac.tunnel.host=localhost
</parameters.tractrac>
<parameters.mongodb>
-Dmongo.host=127.0.0.1
</parameters.mongodb>
<parameters.debug>
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
</parameters.debug>
<!-- "Forward declaration" for better readability. The actual value should be defined in the local settings.xml, because
of the differences between the CI-Build and the local setup. -->
<parameters.proxy>
-Dhttp.proxyHost=proxy.wdf.sap.corp -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.wdf.sap.corp -Dhttps.proxyPort=8080
</parameters.proxy>
<reportsdirectory>${project.build.directory}/surefire-reports</reportsdirectory>
<skipTests>false</skipTests>
</properties>
<profiles>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-plugin</type>
<id>com.google.gwt.dev</id>
<versionRange>0.0.0</versionRange>
</requirement>
</extraRequirements>
</dependency-resolution>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>no-debug.with-proxy</id>
<activation>
@@ -224,6 +259,71 @@
</property>
</activation>
</profile>
<profile>
<id>leandi</id>
<activation>
<!-- Only active on Lean DI. -->
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<properties>
<!-- On Lean DI we do not build any artifact that needs stuff from the target platform.
To avoid problems during target platform resolution,
we use an empty target platform file that simply doesn't reference any artifacts.
The alternative would be to completely deactivate some Tycho configuration on Lean DI,
but this would be much more complex and fragile. -->
<p2-target>race-analysis-p2-empty</p2-target>
</properties>
<dependencies>
<dependency>
<!-- This dependency simply ensures, that the Android SDK installation is completed on Lean DI before anything else is being built. -->
<groupId>com.sap.sailing</groupId>
<artifactId>install-android-sdk</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
<type>pom</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<configuration>
<!-- Toolchan stuff doesn't work on Lean DI,
so we need to hard-code Java 1.7 (Android 5.1 SDK isn't compatible with Java 8)
compatibility for all builds. -->
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>non-leandi</id>
<activation>
<!-- Only active in non Lean DI environments. -->
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<!-- On Lean DI, the toolchains stuff isn't correctly configured, so this can only be used if it isn't a Lean DI build. -->
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<configuration>
<useJDK>BREE</useJDK>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
@@ -247,6 +347,54 @@
<reportsDirectory>${reportsdirectory}</reportsDirectory>
</configuration>
</plugin>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sourceDirectories>src</sourceDirectories>
<destinationManifestFile>AndroidManifest.xml</destinationManifestFile>
<classesJarExcludes>
<classesJarExclude>*.jar</classesJarExclude>
<classesJarExclude>generated-sources/**</classesJarExclude>
<classesJarExclude>maven-archiver/**</classesJarExclude>
<classesJarExclude>sourcebundle-l10n-gen/**</classesJarExclude>
<classesJarExclude>p2*</classesJarExclude>
<classesJarExclude>MANIFEST.MF</classesJarExclude>
<classesJarExclude>*.ap_</classesJarExclude>
<classesJarExclude>local-artifacts.properties</classesJarExclude>
<classesJarExclude>**/*.gwt.xml</classesJarExclude>
</classesJarExcludes>
</configuration>
<executions>
<execution>
<id>aar</id>
<goals>
<goal>aar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<type>aar</type>
<file>${project.build.directory}/${project.build.finalName}.aar</file>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
@@ -263,15 +411,6 @@
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-plugin</type>
<id>com.google.gwt.dev</id>
<versionRange>0.0.0</versionRange>
</requirement>
</extraRequirements>
</dependency-resolution>
<target>
<artifact>
<groupId>${project.groupId}</groupId>
@@ -326,9 +465,6 @@
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<useJDK>BREE</useJDK>
</configuration>
</plugin>
@@ -3,6 +3,6 @@
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
</manifest>
+42 -41
View File
@@ -9,48 +9,68 @@
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.sap.sailing.android.shared</artifactId>
<packaging>apklib</packaging>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>org.json.simple</artifactId>
<version>1.1.0-SNAPSHOT</version>
<scope>compile</scope>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.domain.shared.android</artifactId>
<version>1.0.0-SNAPSHOT</version>
<artifactId>com.sap.sse.security.common</artifactId>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.shared.android</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.server.gateway.serialization.shared.android</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<artifactId>com.sap.sse.datamining.annotations</artifactId>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.domain.common</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.domain.shared.android</artifactId>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sailing.server.gateway.serialization.shared.android</artifactId>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<artifactId>com.sap.sse.common</artifactId>
<version>${project.version}</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
@@ -58,32 +78,18 @@
<groupId>com.sap.sailing</groupId>
<artifactId>org.json.simple</artifactId>
<version>1.1.0-SNAPSHOT</version>
<type>aar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services</artifactId>
<version>6.5.87</version>
<artifactId>play-services-location</artifactId>
<type>aar</type>
</dependency>
<dependency>
<groupId>android</groupId>
<groupId>${android.api.groupId}</groupId>
<artifactId>android</artifactId>
</dependency>
</dependencies>
@@ -93,13 +99,8 @@
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>21</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
@@ -2,9 +2,11 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="src" path="tests-jvm/src"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry combineaccessrules="false" kind="src" path="/com.sap.sailing.domain.common"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
@@ -1,3 +1,3 @@
/gen
/bin
/target
bin/
target/
gen/
@@ -0,0 +1 @@
${git.branch}-${git.commit.id.abbrev} (${git.commit.time})
Whitespace-only changes.
@@ -22,46 +22,36 @@
<dependencies>
<dependency>
<groupId>android</groupId>
<groupId>${android.api.groupId}</groupId>
<artifactId>android</artifactId>
</dependency>
<!--
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-annotations</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
-->
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services</artifactId>
<version>6.5.87</version>
<artifactId>play-services-gcm</artifactId>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<groupId>${project.groupId}</groupId>
<artifactId>com.sap.sailing.android.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>apklib</type>
<version>${project.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.16</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
@@ -69,55 +59,116 @@
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
<extractDuplicates>true</extractDuplicates>
<sdk>
<platform>21</platform>
</sdk>
<release>true</release>
<proguard>
<!-- Someone needs to look into this - quite hard to find a configuration that doesnt break everything -->
<skip>true</skip>
<config>proguard-project.txt</config>
<configs>
<config>${env.ANDROID_HOME}/tools/proguard/proguard-android.txt</config>
</configs>
</proguard>
<zipalign>
<skip>false</skip>
</zipalign>
</configuration>
<executions>
<execution>
<id>alignApk</id>
<phase>install</phase>
<goals>
<goal>apk</goal>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<excludeJarResources>
<!-- Prevents *-sources.jar to be distributed with the APK -->
<excludeJarResource>^com\.sap\..*.jar$</excludeJarResource>
</excludeJarResources>
<sources>
<source>${project.basedir}/tests-jvm/src</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- plugins for generating version file and copying .apk -->
<profiles>
<profile>
<id>non-leandi</id>
<activation>
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<!-- If not running on Lean DI we do the signing by ourselves with our own keystore. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed for copying the *.apk to com.sap.sailing.www project. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed for creation of *.version files for the *.apk in com.sap.sailing.www project. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed to clean the app in com.sap.sailing.www project. -->
<artifactId>maven-clean-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>leandi-no-realsign</id>
<activation>
<property>
<!-- When running on Lean DI but it's not a release build, we do signing on our own. -->
<name>ldi.releaseType</name>
<value>milestone</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>leandi-realsign</id>
<activation>
<property>
<!-- When running on Lean DI and it's a release build, we do SAP signing. -->
<name>ldi.releaseType</name>
<value>customer</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.sap.prd.codesign</groupId>
<artifactId>com.sap.prd.codesign.maven-jarsigner-plugin</artifactId>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin> -->
</plugins>
</build>
</profile>
</profiles>
</project>
@@ -2,8 +2,10 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="src" path="tests-jvm/src"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
@@ -0,0 +1 @@
${git.branch}-${git.commit.id.abbrev} (${git.commit.time})
Whitespace-only changes.
+104 -61
View File
@@ -23,102 +23,145 @@
<dependencies>
<dependency>
<groupId>android</groupId>
<groupId>${android.api.groupId}</groupId>
<artifactId>android</artifactId>
</dependency>
<!--
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-annotations</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
-->
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>22.2.0</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services</artifactId>
<version>7.5.0</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<groupId>${project.groupId}</groupId>
<artifactId>com.sap.sailing.android.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>apklib</type>
<version>${project.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.16</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
<extractDuplicates>true</extractDuplicates>
<sdk>
<platform>21</platform>
</sdk>
<release>true</release>
<proguard>
<!-- Someone needs to look into this - quite hard to find a configuration that doesnt break everything -->
<skip>true</skip>
<config>proguard-project.txt</config>
<configs>
<config>${env.ANDROID_HOME}/tools/proguard/proguard-android.txt</config>
</configs>
</proguard>
<zipalign>
<skip>false</skip>
</zipalign>
</configuration>
<executions>
<execution>
<id>alignApk</id>
<phase>install</phase>
<goals>
<goal>apk</goal>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<excludeJarResources>
<!-- Prevents *-sources.jar to be distributed with the APK -->
<excludeJarResource>^com\.sap\..*.jar$</excludeJarResource>
</excludeJarResources>
<sources>
<source>${project.basedir}/tests-jvm/src</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- plugins for generating version file and copying .apk -->
<profiles>
<profile>
<id>non-leandi</id>
<activation>
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<!-- If not running on Lean DI we do the signing by ourselves with our own keystore. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed for copying the *.apk to com.sap.sailing.www project. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed for creation of *.version files for the *.apk in com.sap.sailing.www project. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed to clean the app in com.sap.sailing.www project. -->
<artifactId>maven-clean-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>leandi-no-realsign</id>
<activation>
<property>
<!-- When running on Lean DI but it's not a release build, we do signing on our own. -->
<name>ldi.releaseType</name>
<value>milestone</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>leandi-realsign</id>
<activation>
<property>
<!-- When running on Lean DI and it's a release build, we do SAP signing. -->
<name>ldi.releaseType</name>
<value>customer</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.sap.prd.codesign</groupId>
<artifactId>com.sap.prd.codesign.maven-jarsigner-plugin</artifactId>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin> -->
</plugins>
</build>
</profile>
</profiles>
</project>
@@ -11,6 +11,6 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-21
target=android-22
android.library.reference.1=../google-play-services_lib
android.library.reference.2=../com.sap.sailing.android.shared
@@ -1,3 +1,3 @@
/gen
/bin
/target
bin/
target/
gen/
@@ -0,0 +1 @@
${git.branch}-${git.commit.id.abbrev} (${git.commit.time})
Whitespace-only changes.
+120 -67
View File
@@ -21,61 +21,52 @@
</properties>
<dependencies>
<!-- needed on remote repository -->
<dependency>
<groupId>android</groupId>
<groupId>${android.api.groupId}</groupId>
<artifactId>android</artifactId>
</dependency>
<!--
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-annotations</artifactId>
<version>21.0.3</version>
<groupId>com.h6ah4i.android.widget.advrecyclerview</groupId>
<artifactId>advrecyclerview</artifactId>
<version>0.6.2</version>
<type>aar</type>
</dependency>
-->
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>21.0.3</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services</artifactId>
<version>6.5.87</version>
<type>aar</type>
</dependency>
<!-- needed on remote repository -->
<dependency>
<groupId>com.mobeta.android.dslv</groupId>
<artifactId>drag-sort-listview</artifactId>
<version>0.6.1-SNAPSHOT</version>
<type>apklib</type>
<exclusions>
<exclusion>
<groupId>com.google.android</groupId>
<artifactId>support-v4</artifactId>
<groupId>com.android.support</groupId>
<artifactId>recyclerview-v7</artifactId>
</exclusion>
<exclusion>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sap.sailing</groupId>
<groupId>com.android.support</groupId>
<artifactId>recyclerview-v7</artifactId>
<type>aar</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>com.sap.sailing.android.shared</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>apklib</type>
<version>${project.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.16</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -84,54 +75,116 @@
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
<extractDuplicates>true</extractDuplicates>
<sdk>
<platform>21</platform>
</sdk>
<release>true</release>
<proguard>
<!-- Someone needs to look into this - quite hard to find a configuration that doesnt break everything -->
<skip>true</skip>
<config>proguard-project.txt</config>
<configs>
<config>${env.ANDROID_HOME}/tools/proguard/proguard-android.txt</config>
</configs>
</proguard>
<zipalign>
<skip>false</skip>
</zipalign>
</configuration>
<executions>
<execution>
<id>alignApk</id>
<phase>install</phase>
<goals>
<goal>apk</goal>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<excludeJarResources>
<!-- Prevents *-sources.jar to be distributed with the APK -->
<excludeJarResource>^com\.sap\..*.jar$</excludeJarResource>
</excludeJarResources>
<sources>
<source>${project.basedir}/tests-jvm/src</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- plugins for generating version file and copying .apk -->
<profiles>
<profile>
<id>non-leandi</id>
<activation>
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<!-- If not running on Lean DI we do the signing by ourselves with our own keystore. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed for copying the *.apk to com.sap.sailing.www project. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed for creation of *.version files for the *.apk in com.sap.sailing.www project. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<plugin>
<!-- Needed to clean the app in com.sap.sailing.www project. -->
<artifactId>maven-clean-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>leandi-no-realsign</id>
<activation>
<property>
<!-- When running on Lean DI but it's not a release build, we do signing on our own. -->
<name>ldi.releaseType</name>
<value>milestone</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>leandi-realsign</id>
<activation>
<property>
<!-- When running on Lean DI and it's a release build, we do SAP signing. -->
<name>ldi.releaseType</name>
<value>customer</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.sap.prd.codesign</groupId>
<artifactId>com.sap.prd.codesign.maven-jarsigner-plugin</artifactId>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin> -->
</plugins>
</build>
</profile>
</profiles>
</project>
+408 -25
View File
@@ -13,12 +13,10 @@
<packaging>pom</packaging>
<modules>
<!--
<module>com.sap.sailing.racecommittee.app</module>
<module>com.sap.sailing.android.shared</module>
<module>com.sap.sailing.adnroid.buoy.positioning.app</module>
<module>com.sap.sailing.racecommittee.app</module>
<module>com.sap.sailing.android.tracking.app</module>
-->
<module>com.sap.sailing.buoy.positioning</module>
</modules>
<properties>
@@ -28,41 +26,324 @@
<!-- redefine in child poms -->
<additional-deployment-version-file></additional-deployment-version-file>
<app-version></app-version>
<android.support.version>22.1.1</android.support.version>
<play.services.version>7.5.0</play.services.version>
<sign.keystore>../android-keystore/STG-debug.jks</sign.keystore>
<sign.alias>stg_debug</sign.alias>
<sign.storepass>stg_debug</sign.storepass>
<sign.keypass>stg_debug</sign.keypass>
</properties>
<dependencyManagement>
<dependencies>
<!-- needed on remote repository -->
<dependency>
<groupId>android</groupId>
<groupId>${android.api.groupId}</groupId>
<artifactId>android</artifactId>
<version>4.4.2_r4</version>
<version>${android.api.version}</version>
<scope>provided</scope>
</dependency>
<!-- needed on remote repository -->
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v4</artifactId>
<version>19</version>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>${android.support.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>${android.support.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>recyclerview-v7</artifactId>
<version>${android.support.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-location</artifactId>
<version>${play.services.version}</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-gcm</artifactId>
<version>${play.services.version}</version>
<type>aar</type>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<resources>
<resource>
<directory>${project.basedir}/assets</directory>
<filtering>true</filtering>
<targetPath>${project.build.directory}/filteredassets</targetPath>
<includes>
<include>build.info</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/assets</directory>
<filtering>false</filtering>
<targetPath>${project.build.directory}/filteredassets</targetPath>
<excludes>
<exclude>build.info</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<verbose>true</verbose>
</configuration>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.9.0-rc.1</version>
<configuration>
<resourceDirectory>res</resourceDirectory>
<assetsDirectory>${project.build.directory}/filteredassets</assetsDirectory>
<sourceDirectories>
<sourceDirectory>${project.basedir}/src</sourceDirectory>
</sourceDirectories>
<failOnDuplicatePackages>false</failOnDuplicatePackages>
<failOnNonStandardStructure>false</failOnNonStandardStructure>
<failOnConflictingLayouts>false</failOnConflictingLayouts>
<failOnDuplicatePackages>false</failOnDuplicatePackages>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
<extractDuplicates>true</extractDuplicates>
<release>false</release>
<outputApk>${project.build.directory}/${project.build.finalName}-unaligned.apk</outputApk>
<proguard>
<!-- Someone needs to look into this - quite hard to find a configuration that doesnt break everything -->
<skip>true</skip>
<configs>
<config>${env.ANDROID_HOME}/tools/proguard/proguard-android.txt</config>
<config>${project.basedir}/proguard-project.txt</config>
<config>${project.basedir}/../proguard-mobile.txt</config>
</configs>
</proguard>
<zipalign>
<skip>false</skip>
<inputApk>${project.build.directory}/${project.build.finalName}-unaligned.apk</inputApk>
<outputApk>${project.build.directory}/${project.build.finalName}.apk</outputApk>
</zipalign>
<excludeJarResources>
<!-- Prevents *-sources.jar to be distributed with the APK -->
<excludeJarResource>^.*-sources.jar$</excludeJarResource>
<excludeJarResource>^android.*.jar$</excludeJarResource>
</excludeJarResources>
<dex>
<jvmArguments>
<jvmArgument>-Xms1024m</jvmArgument>
<jvmArgument>-Xmx2048m</jvmArgument>
</jvmArguments>
</dex>
<classesJarExcludes>
<classesJarExclude>*.jar</classesJarExclude>
<classesJarExclude>generated-sources/**</classesJarExclude>
<classesJarExclude>maven-archiver/**</classesJarExclude>
<classesJarExclude>sourcebundle-l10n-gen/**</classesJarExclude>
<classesJarExclude>p2*</classesJarExclude>
<classesJarExclude>MANIFEST.MF</classesJarExclude>
<classesJarExclude>*.ap_</classesJarExclude>
<classesJarExclude>local-artifacts.properties</classesJarExclude>
<classesJarExclude>android/**</classesJarExclude>
<classesJarExclude>com/google/**</classesJarExclude>
<classesJarExclude>**/R.class</classesJarExclude>
<classesJarExclude>**/R$*.class</classesJarExclude>
</classesJarExcludes>
<sdk>
<platform>19</platform>
<platform>22</platform>
</sdk>
<sign>
<debug>false</debug>
</sign>
</configuration>
<extensions>true</extensions>
<executions>
<execution>
<id>alignApk</id>
<phase>pre-integration-test</phase>
<goals>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>signing</id>
<goals>
<goal>sign</goal>
<goal>verify</goal>
</goals>
<phase>package</phase>
<inherited>true</inherited>
<configuration>
<removeExistingSignatures>true</removeExistingSignatures>
<archive>${project.build.directory}/${project.build.finalName}-unaligned.apk</archive>
<keystore>${sign.keystore}</keystore>
<alias>${sign.alias}</alias>
<storepass>${sign.storepass}</storepass>
<keypass>${sign.keypass}</keypass>
<verbose>true</verbose>
<arguments>
<argument>-sigalg</argument><argument>MD5withRSA</argument>
<argument>-digestalg</argument><argument>SHA1</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<!-- activate with parameter '-P non-leandi-release'-->
<id>non-leandi-release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<sign.keystore>../android-keystore/STG.jks</sign.keystore>
<sign.alias></sign.alias>
<sign.storepass></sign.storepass>
<sign.keypass></sign.keypass>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<release>true</release>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>leandi-release</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
<value>true</value>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<release>true</release>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>leandi</id>
<activation>
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<dependencies>
<dependency>
<!-- This dependency simply ensures, that the Android SDK installation is completed on Lean DI before anything else is being built. -->
<groupId>com.sap.sailing</groupId>
<artifactId>install-android-sdk</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
<type>pom</type>
</dependency>
</dependencies>
</profile>
<profile>
<id>non-leandi</id>
<activation>
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
@@ -92,7 +373,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>generate-version</id>
@@ -131,15 +411,118 @@
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<!-- This turns SAP specific signing on. -->
<id>leandi-realsign</id>
<activation>
<property>
<name>ldi.releaseType</name>
<value>customer</value>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.sap.prd.codesign</groupId>
<artifactId>com.sap.prd.codesign.maven-jarsigner-plugin</artifactId>
<configuration>
<signingTech>ANDROID</signingTech>
<archiveDirectory>${project.build.directory}</archiveDirectory>
<processMainArtifact>false</processMainArtifact>
<processAttachedArtifacts>false</processAttachedArtifacts>
<removeExistingSignatures>true</removeExistingSignatures>
<includes>
<include>${project.build.finalName}-unaligned.apk</include>
</includes>
</configuration>
<executions>
<execution>
<id>sign</id>
<phase>package</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>zip-apk</id>
<phase>integration-test</phase>
<configuration>
<tasks>
<zip
file="${project.build.directory}/${project.build.finalName}.zip">
<fileset dir="${project.build.directory}"
includes="${project.artifactId}.apk" />
</zip>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>integration-test</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.artifactId}.zip
</file>
<type>zip </type>
<classifier>smp</classifier>
</artifact>
TODO implement
<artifact>
<file>${project.build.directory}/AndroidMarketMetadata.zip
</file>
<type>zip </type>
<classifier>AndroidMetadata</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin> -->
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>
Executable → Regular
+116 -6
View File
@@ -15,10 +15,14 @@
<profiles>
<profile>
<!-- deactivate with parameter '-P !with-mobile'-->
<id>with-mobile</id>
<activation>
<activeByDefault>true</activeByDefault>
<!-- This profile is active by default, when running on a Lean DI environment.
On Lean DI, the only things we want to build are the Android apps and everything that's needed for it.
In a non Lean DI build, you can activate this profile with the parameter "-P with-mobile". -->
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<modules>
<module>mobile</module>
@@ -31,13 +35,58 @@
<module>ios</module>
</modules>
</profile>
</profiles>
<profile>
<id>leandi</id>
<activation>
<!-- This profile is active by default, when running on a Lean DI environment.
The definitions in this profile aren't valid when running locally or on hudson.sapsailing.com. -->
<property>
<name>ldi.releaseBuild</name>
</property>
</activation>
<modules>
<!-- The submodule "install-android-sdk" ensures that the Android SDK is being assembled by unzipping severall *.zip files on Lean DI. -->
<module>install-android-sdk</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- By default, the Android API *.jar is hosted in MAven repositories under "android:android".
On Lean DI, the deviant coordinates "com.google.download.android:android".
To make this work without the need of a duplicate definition of the dependencies by profile,
the groupId of this artifact is defined by a property so that we can easily change it for Lean DI. -->
<android.api.groupId>com.google.download.android</android.api.groupId>
<!-- By default, the Android API we use is "5.1.1_r2". On Lean DI this version is uploaded to nexus with a different version.
To make this work without the need of a duplicate definition of the dependencies by profile,
the version of this artifact is defined by a property so that we can easily change it for Lean DI. -->
<android.api.version>5.1.1</android.api.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<!-- On Lean DI ther is no environment variable "ANDROID_HOME" that by default points to the location where the Android SDK is hosted.
That's why we need to explicitly define the location of the SDK. -->
<path>${ldi.android.sdk.location}</path>
</sdk>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>non-leandi</id>
<activation>
<property>
<name>!ldi.releaseBuild</name>
</property>
</activation>
<!-- The repository declarations are only active when running ion a non Lean DI environment.
On Lean DI we are not allowed to define our own repositories because everything must be hosted in SAP's Nexus server. -->
<repositories>
<repository>
<id>equinox-sdk-3.9</id>
@@ -65,4 +114,65 @@
<url>http://www.itm.uni-luebeck.de/projects/maven/releases</url>
</repository>
</repositories>
</profile>
</profiles>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Lean DI specific properties that are needed to assemble the Android SDK. -->
<ldi.download.android.sdk.version>24.4</ldi.download.android.sdk.version>
<ldi.download.android.tools.version>21.1</ldi.download.android.tools.version>
<ldi.download.android.platform-tools.version>23.0.1</ldi.download.android.platform-tools.version>
<ldi.download.android.build-tools.version>22.0.1</ldi.download.android.build-tools.version>
<ldi.android.build-tools.version>5.1</ldi.android.build-tools.version>
<ldi.download.android.platform.version>22_r02</ldi.download.android.platform.version>
<!-- WORKSPACE is an env set by Jenkins pointing to the build job's work directory.-->
<ldi.android.sdk.parent.location>${env.WORKSPACE}</ldi.android.sdk.parent.location>
<ldi.android.sdk.location>${ldi.android.sdk.parent.location}/android-sdk-windows</ldi.android.sdk.location>
<android.platform.version>22</android.platform.version>
<android.api.groupId>android</android.api.groupId>
<android.api.version>5.1.1_r2</android.api.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>activeProfiles</id>
<phase>initialize</phase>
<goals>
<goal>active-profiles</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>4.3.0</version>
<extensions>true</extensions>
<configuration>
<androidManifestFile>AndroidManifest.xml</androidManifestFile>
<destinationManifestFile>${project.build.directory}/AndroidManifest.xml</destinationManifestFile>
<sdk>
<platform>${android.platform}</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
+25
View File
@@ -0,0 +1,25 @@
# Android and release build
[[_TOC_]]
## Basic setup of the Android apps build
The Android Build is based on Maven and is part of the overall multi-module-build. The Android specific projects are hosted in /mobile. The build of the app projects is completely separated from Tycho/p2.
## Backend Build vs Android Build
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.
The default activation of the profiles causes the backend build to run. The relevant profiles to switch between backend and Adnroid build are:
* with-mobile (defauts to off)
* with-not-android-relevant (defauts to on)
So to run the Android apps build you have to add "-P -with-not-android-relevant -P with-mobile" to the Maven command line.
## Release build overview
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-maven-build-bug3190-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:
* Configuration of parent POM "com.sap.ldi:ldi-parent" in workspace POM
* Versions are set to not be *-SNAPSHOT but release versions
* Some profile activation conditions are changed