┌────────────────────┐
│ │
│ android │
│ │
└─────────┬──────────┘
│
┌────────────────────┐ ┌─────────▼──────────┐
│ │ │ │
│ server │ │ core │
│ │ │ │
└────────────────┬───┘ └──┬─────────────────┘
│ │
┌───▼──────────▼─────┐
│ │
│ shared │
│ │
└────────────────────┘
core
: Main module with the application logic shared by all platforms.android
: Android mobile platform. Needs Android SDK.server
: A separate application without access to thecore
module.shared
: A common module shared bycore
andserver
platforms.
This project uses Gradle to manage dependencies.
The Gradle wrapper was included, so you can run Gradle tasks using gradlew.bat
or ./gradlew
commands.
Useful Gradle tasks and flags:
--continue
: when using this flag, errors will not stop the tasks from running.--daemon
: thanks to this flag, Gradle daemon will be used to run chosen tasks.--offline
: when using this flag, cached dependency archives will be used.--refresh-dependencies
: this flag forces validation of all dependencies. Useful for snapshot versions.android:lint
: performs Android project validation.build
: builds sources and archives of every project.cleanEclipse
: removes Eclipse project data.cleanIdea
: removes IntelliJ project data.clean
: removesbuild
folders, which store compiled classes and built archives.eclipse
: generates Eclipse project data.idea
: generates IntelliJ project data.server:run
: runs the server application.test
: runs unit tests (if any).
Note that most tasks that are not specific to a single project can be run with name:
prefix, where the name
should be replaced with the ID of a specific project.
For example, core:clean
removes build
folder only from the core
project.