aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/.classpath2
-rw-r--r--main/build.properties7
-rw-r--r--main/build.xml127
-rw-r--r--main/build_cgeo.xml206
-rw-r--r--main/default.properties11
-rw-r--r--main/proguard.cfg37
-rw-r--r--tests/.classpath2
-rw-r--r--tests/default.properties11
8 files changed, 209 insertions, 194 deletions
diff --git a/main/.classpath b/main/.classpath
index 9a2bd80..db7b7b6 100644
--- a/main/.classpath
+++ b/main/.classpath
@@ -7,5 +7,5 @@
<classpathentry kind="lib" path="libs/locus-api-4.0.jar"/>
<classpathentry kind="lib" path="libs/mapsforge-map-0.2.4.jar"/>
<classpathentry kind="lib" path="libs/commons-collections-3.2.1.jar"/>
- <classpathentry kind="output" path="bin"/>
+ <classpathentry kind="output" path="bin/classes"/>
</classpath>
diff --git a/main/build.properties b/main/build.properties
deleted file mode 100644
index a4502d6..0000000
--- a/main/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-
-# Set the output directory for class files to the same directory Eclipse uses. Was bin/classes
-out.classes.dir=bin
-
-# Proguard configuration
-proguard.config=proguard.cfg
-proguard.jar=support/proguard.jar
diff --git a/main/build.xml b/main/build.xml
index da7e888..502216d 100644
--- a/main/build.xml
+++ b/main/build.xml
@@ -1,40 +1,87 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="cgeo">
- <property file="local.properties" />
-
- <property name="cgeo.buildxml" value="./build_cgeo.xml"/>
-
- <target name="help" description="Display available targets">
- <ant antfile="${cgeo.buildxml}" target="help"/>
- </target>
-
- <target name="clean" description="Remove output files">
- <ant antfile="${cgeo.buildxml}" target="clean"/>
- </target>
-
- <target name="compile" description="Compile project">
- <ant antfile="${cgeo.buildxml}" target="compile"/>
- </target>
-
- <target name="debug" description="Build application">
- <ant antfile="${cgeo.buildxml}" target="debug"/>
- </target>
-
- <target name="release" description="Build application">
- <ant antfile="${cgeo.buildxml}" target="release"/>
- </target>
-
- <target name="install" description="Install application">
- <ant antfile="${cgeo.buildxml}" target="install"/>
- </target>
-
- <target name="uninstall" description="Uninstall application">
- <ant antfile="${cgeo.buildxml}" target="uninstall"/>
- </target>
-
- <target name="install_release" description="Install signed release application" depends="release">
- <exec executable="${sdk.dir}/platform-tools/adb">
- <arg line="install -r ./bin/${ant.project.name}-release.apk" />
- </exec>
- </target>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="cgeo">
+
+ <!-- The local.properties file is created and updated by the 'android' tool.
+ It contains the path to the SDK. It should *NOT* be checked into
+ Version Control Systems. -->
+ <loadproperties srcFile="local.properties" />
+
+ <!-- The ant.properties file can be created by you. It is only edited by the
+ 'android' tool to add properties to it.
+ This is the place to change some Ant specific build properties.
+ Here are some properties you may want to change/update:
+
+ source.dir
+ The name of the source directory. Default is 'src'.
+ out.dir
+ The name of the output directory. Default is 'bin'.
+
+ For other overridable properties, look at the beginning of the rules
+ files in the SDK, at tools/ant/build.xml
+
+ Properties related to the SDK location or the project target should
+ be updated using the 'android' tool with the 'update' action.
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems.
+
+ -->
+ <property file="ant.properties" />
+
+ <!-- The project.properties file is created and updated by the 'android'
+ tool, as well as ADT.
+
+ This contains project specific properties such as project target, and library
+ dependencies. Lower level build properties are stored in ant.properties
+ (or in .classpath for Eclipse projects).
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems. -->
+ <loadproperties srcFile="project.properties" />
+
+ <!-- quick check on sdk.dir -->
+ <fail
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
+ unless="sdk.dir"
+ />
+
+ <import file="build_cgeo.xml"/>
+
+
+<!-- extension targets. Uncomment the ones where you want to do custom work
+ in between standard targets -->
+<!--
+ <target name="-pre-build">
+ </target>
+ <target name="-pre-compile">
+ </target>
+
+ /* This is typically used for code obfuscation.
+ Compiled code location: ${out.classes.absolute.dir}
+ If this is not done in place, override ${out.dex.input.absolute.dir} */
+ <target name="-post-compile">
+ </target>
+-->
+
+ <!-- Import the actual build file.
+
+ To customize existing targets, there are two options:
+ - Customize only one target:
+ - copy/paste the target into this file, *before* the
+ <import> task.
+ - customize it to your needs.
+ - Customize the whole content of build.xml
+ - copy/paste the content of the rules files (minus the top node)
+ into this file, replacing the <import> task.
+ - customize to your needs.
+
+ ***********************
+ ****** IMPORTANT ******
+ ***********************
+ In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+ in order to avoid having your file be overridden by tools such as "android update project"
+ -->
+ <!-- version-tag: custom -->
+ <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>
diff --git a/main/build_cgeo.xml b/main/build_cgeo.xml
index 7088814..b0736a1 100644
--- a/main/build_cgeo.xml
+++ b/main/build_cgeo.xml
@@ -1,101 +1,105 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="cgeo">
-
-<!-- The local.properties file is created and updated by the 'android'
- tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the
- default property values used by the Ant rules.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="build.properties" />
-
- <!-- The default.properties file is created and updated by the 'android'
- tool, as well as ADT.
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <property file="default.properties" />
-
- <!-- The private.properties file sets api-keys as well as keystore,
- certificate and passwords (if you want).
- See /templates/private.properties for more information. -->
- <property file="private.properties" />
-
-
- <!-- Required pre-setup import -->
- <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-
- <target name="-pre-build">
- <if condition="${build.mode.release}">
- <then>
- <filterset id="build-tokens">
- <filter token="maps.api.key" value="${maps.api.key.market}"/>
- </filterset>
- </then>
- <else>
- <filterset id="build-tokens">
- <filter token="maps.api.key" value="${maps.api.key}"/>
- </filterset>
- </else>
- </if>
- <copy file="./templates/mapsapikey.xml" todir="./res/values/" overwrite="true">
- <filterset refid="build-tokens" />
- </copy>
- </target>
- <target name="-pre-compile">
- </target>
-
- <!-- [This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir}] -->
- <target name="-post-compile">
- </target>
-
- <target name="debugAPI" depends="-pre-build"
- description="Changes API key to debug">
- </target>
- <!-- Execute the Android Setup task that will setup some properties
- specific to the target, and import the build rules files.
-
- The rules file is imported from
- <SDK>/tools/ant/
- Depending on the project type it can be either:
- - main_rules.xml
- - lib_rules.xml
- - test_rules.xml
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <setup> task.
- - customize it to your needs.
- - Customize the whole script.
- - copy/paste the content of the rules files (minus the top node)
- into this file, *after* the <setup> task
- - disable the import of the rules by changing the setup task
- below to <setup import="false" />.
- - customize to your needs.
- -->
- <setup />
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="cgeo-include">
+
+<!-- The local.properties file is created and updated by the 'android'
+ tool.
+ It contains the path to the SDK. It should *NOT* be checked into
+ Version Control Systems. -->
+ <property file="local.properties" />
+
+ <!-- The build.properties file can be created by you and is never touched
+ by the 'android' tool. This is the place to change some of the
+ default property values used by the Ant rules.
+ Here are some properties you may want to change/update:
+
+ source.dir
+ The name of the source directory. Default is 'src'.
+ out.dir
+ The name of the output directory. Default is 'bin'.
+
+ Properties related to the SDK location or the project target should
+ be updated using the 'android' tool with the 'update' action.
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems.
+
+ -->
+ <property file="build.properties" />
+
+ <!-- The default.properties file is created and updated by the 'android'
+ tool, as well as ADT.
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems. -->
+ <property file="default.properties" />
+
+ <!-- The private.properties file sets api-keys as well as keystore,
+ certificate and passwords (if you want).
+ See /templates/private.properties for more information. -->
+ <property file="private.properties" />
+
+ <target name="install_release" description="Install signed release application" depends="release">
+ <exec executable="${sdk.dir}/platform-tools/adb">
+ <arg line="install -r ./bin/${ant.project.name}-release.apk" />
+ </exec>
+ </target>
+
+<!-- extension targets. Uncomment the ones where you want to do custom work
+ in between standard targets -->
+
+ <target name="-pre-build">
+ <condition property="build.mode.release" else="false">
+ <equals arg1="${build.target}" arg2="release" />
+ </condition>
+
+ <if condition="${build.mode.release}">
+ <then>
+ <filterset id="build-tokens">
+ <filter token="maps.api.key" value="${maps.api.key.market}"/>
+ </filterset>
+ </then>
+ <else>
+ <filterset id="build-tokens">
+ <filter token="maps.api.key" value="${maps.api.key}"/>
+ </filterset>
+ </else>
+ </if>
+ <copy file="./templates/mapsapikey.xml" todir="./res/values/" overwrite="true">
+ <filterset refid="build-tokens" />
+ </copy>
+ </target>
+ <target name="-pre-compile">
+ </target>
+
+ <!-- [This is typically used for code obfuscation.
+ Compiled code location: ${out.classes.absolute.dir}
+ If this is not done in place, override ${out.dex.input.absolute.dir}] -->
+ <target name="-post-compile">
+ </target>
+
+ <target name="debugAPI" depends="-pre-build"
+ description="Changes API key to debug">
+ </target>
+ <!-- Execute the Android Setup task that will setup some properties
+ specific to the target, and import the build rules files.
+
+ The rules file is imported from
+ <SDK>/tools/ant/
+ Depending on the project type it can be either:
+ - main_rules.xml
+ - lib_rules.xml
+ - test_rules.xml
+
+ To customize existing targets, there are two options:
+ - Customize only one target:
+ - copy/paste the target into this file, *before* the
+ <setup> task.
+ - customize it to your needs.
+ - Customize the whole script.
+ - copy/paste the content of the rules files (minus the top node)
+ into this file, *after* the <setup> task
+ - disable the import of the rules by changing the setup task
+ below to <setup import="false" />.
+ - customize to your needs.
+ -->
+
+</project>
diff --git a/main/default.properties b/main/default.properties
deleted file mode 100644
index 420db56..0000000
--- a/main/default.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=Google Inc.:Google APIs:8
diff --git a/main/proguard.cfg b/main/proguard.cfg
index 02ab774..e989bf5 100644
--- a/main/proguard.cfg
+++ b/main/proguard.cfg
@@ -1,8 +1,9 @@
-optimizationpasses 2
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
-dontpreverify
--dontobfuscate
--allowaccessmodification
--optimizations !code/simplification/arithmetic,!code/allocation/variable
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-dontwarn java.beans.*
-dontwarn org.mapsforge.android.maps.Test*
@@ -12,16 +13,25 @@
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
--keep public class cgeo.geocaching.*
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
-keepclasseswithmembernames class * {
+ native <methods>;
+}
+
+-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
--keepclasseswithmembernames class * {
+-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
+-keepclassmembers class * extends android.app.Activity {
+ public void *(android.view.View);
+}
+
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
@@ -31,23 +41,6 @@
public static final android.os.Parcelable$Creator *;
}
--keepclassmembers class **.R$* {
- public static <fields>;
-}
-
--keepclassmembers class cgeo.geocaching.** {
- public void *(android.view.View);
-}
-
--keep public class * extends android.view.View {
- public <init>(android.content.Context);
- public <init>(android.content.Context, android.util.AttributeSet);
- public <init>(android.content.Context, android.util.AttributeSet, int);
- public void set*(...);
-}
-
--keep public class cgeo.geocaching.backup.CentralBackupAgent
-
-keepclassmembers class cgeo.geocaching.compatibility.AndroidLevel8 {
public static <methods>;
}
diff --git a/tests/.classpath b/tests/.classpath
index 03e9cf5..f351d98 100644
--- a/tests/.classpath
+++ b/tests/.classpath
@@ -4,5 +4,5 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry combineaccessrules="false" kind="src" path="/cgeo"/>
- <classpathentry kind="output" path="bin"/>
+ <classpathentry kind="output" path="bin/classes"/>
</classpath>
diff --git a/tests/default.properties b/tests/default.properties
deleted file mode 100644
index 420db56..0000000
--- a/tests/default.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=Google Inc.:Google APIs:8