62 lines
2.7 KiB
Markdown
62 lines
2.7 KiB
Markdown
# Open Eggbert
|
|
|
|
Free recreation of the computer game Speedy Eggbert.
|
|
|
|
## Development
|
|
|
|
A [libGDX](https://libgdx.com/) project generated with [gdx-liftoff](https://github.com/libgdx/gdx-liftoff).
|
|
|
|
This project was generated with a template including simple application launchers and an `ApplicationAdapter` extension that draws libGDX logo.
|
|
|
|
## Requirements
|
|
|
|
- Java 17 is installed
|
|
|
|
## Platforms
|
|
|
|
- `core`: Main module with the application logic shared by all platforms.
|
|
- `lwjgl3`: Primary desktop platform using LWJGL3.
|
|
- `android`: Android mobile platform. Needs Android SDK.
|
|
- `html`: Web platform using GWT and WebGL. Supports only Java projects.
|
|
- `teavm`: Experimental web platform using TeaVM and WebGL.
|
|
|
|
## Gradle
|
|
|
|
This project uses [Gradle](https://gradle.org/) 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`: removes `build` folders, which store compiled classes and built archives.
|
|
- `eclipse`: generates Eclipse project data.
|
|
- `html:dist`: compiles GWT sources. The compiled application can be found at `html/build/dist`: you can use any HTTP server to deploy it.
|
|
- `html:superDev`: compiles GWT sources and runs the application in SuperDev mode. It will be available at [localhost:8080/html](http://localhost:8080/html). Use only during development.
|
|
- `idea`: generates IntelliJ project data.
|
|
- `lwjgl3:jar`: builds application's runnable jar, which can be found at `lwjgl3/build/lib`.
|
|
- `lwjgl3:run`: starts the application.
|
|
- `teavm:build`: builds the JavaScript application into the build/dist/webapp folder.
|
|
- `teavm:run`: serves the JavaScript application at http://localhost:8080 via a local Jetty server.
|
|
- `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.
|
|
|
|
## FAQ
|
|
|
|
### How to clean Gradle cache
|
|
|
|
`./gradlew clean build --refresh-dependencies`
|
|
|
|
### Deploy HTML to localhost
|
|
|
|
Change directory to html/build/dist and run:
|
|
|
|
`python3 -m http.server 8000`
|