Giter Club home page Giter Club logo

cgeo's Introduction

c:geo is an open source, full-featured, always ready-to-go client for geocaching.com (unofficial) and offers basic support for other geocaching platforms. It does not require a web browser or exports - just download and start right away.

You want to contribute?

Perfect! Please tell us in the issue tracker before hacking on your great new feature. It would be bad if you have implemented something great, but we can't include it because it doesn't fit the remaining architecture and code. You might also want to chat with the developers on channel #cgeo on the freenode IRC network.

Project status

Build Status
Issue Stats
Issue Stats
Codacy Badge

Get the source

Fork the project source code, make changes to your clone and create a pull request afterwards.

Branches

  • master is for development of new features. Nightly builds are created from this branch.
  • release is for all bug fixes of already existing features. So if a bug is reported in released version, it should be fixed on this branch (and merged to master afterwards).

A more complex bugfix can be first tested against the master branch and integrated in the nightly builds, while kept compatible with the release branch for a later integration. Such a procedure is described in the wiki.

Setting up an IDE

Eclipse

Please be warned, we might remove the support for development in Eclipse, once we switch to a gradle based build.

Android Studio (or IntelliJ IDEA)

  • Install Android Studio from https://developer.android.com/sdk/index.html
  • On first start, choose to clone a project from version control, and choose github afterwards. Supply your credentials.
  • Android Studio should detect that gradle is used for building cgeo. If it complains that this is not a gradle project, then close the project. Choose "Import project" and select the build.gradle or settings.gradle in the root directory of the git repository.

Build

Prerequisites

  • Android SDK (latest version) including Google APIs V19, Google APIs V22, Google repository and Android support repository
  • If you use Microsoft Windows, Google USB Driver to install the application on the smartphone
  • You need to provide several API keys for compiling the app. See next section for details.

API keys

Copy main/templates/keys.xml to main/res/values/. Then edit main/res/values/keys.xml and insert several keys (see comments in the file). Most important is the Google Maps API v1 key. You can leave it empty, but then Google Maps doesn't work. Google doesn't hand out new keys for Google Maps v1, you have to use an existing one.

Request your personal API key for the various OpenCaching sites we support. If you leave these blank, then those networks will remain disabled.

Building with gradle

Run gradlew from the root directory of the git repository. That will install the necessary build framework and display how to build cgeo.

Building with Ant (deprecated)

  1. copy ./templates/private.properties to ./
  2. edit private.properties (see comments in the file)
  3. copy ./main/templates/local.properties to ./main/
  4. copy ./main/templates/local.properties to ./tests/
  5. edit local.properties (see comments in the file)
  6. copy local.properties to all other projects (currently android-support-v7-appcompat, google-play-services_lib, mapswithme-api, showcaseview)
  7. copy local.properties to cgeo-calendar and cgeo-contacts if you plan to hack on the plugins

Run one of the following commands in ./main

ant help
ant clean
ant debug
ant release

or use the Ant view of Eclipse

Debugging

In Eclipse, create a Debug Configuration for an Android Application using the menu Run | Debug Configurations

Testing

The Test classes can be found in the project test. Test classes should be located in the same package as the class under test. Every class can be "Run As" (or "Debug As") an Android JUnit Test from Eclipse. To run all tests use the same "Run As" menu item from the context menu of the test project.

For tests to run successfully you need to configure c:geo on the emulator that runs the test with a valid geocaching.com account. In order for all tests to be successfull the account needs to be premium.

License

c:geo is distributed under Apache License, Version 2.0.

Contact

cgeo's People

Contributors

badbadc0ffee avatar bananeweizen avatar blafoo avatar cachapa avatar campbeb avatar cgeoci avatar gezb avatar kiwistone avatar kumy avatar lineflyer avatar ludoo0d0a avatar marco-dev avatar michaelkeppleretas avatar michielk avatar mucek4 avatar ncorreia avatar portree-kid avatar pstorch avatar roadrunner- avatar romnexus6 avatar rsudev avatar sammyshp avatar samueltardieu avatar schwabe avatar scrool avatar stephanme avatar triakcz avatar uniqp avatar yrafyra avatar zenobios avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.