Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rajveermalviya/tsukuru
build tool for Go apps targeting android and web
https://github.com/rajveermalviya/tsukuru
android apk app-bundle build-tool go golang wasm
Last synced: 2 months ago
JSON representation
build tool for Go apps targeting android and web
- Host: GitHub
- URL: https://github.com/rajveermalviya/tsukuru
- Owner: rajveermalviya
- License: apache-2.0
- Created: 2022-07-19T11:09:10.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-30T19:55:26.000Z (about 2 years ago)
- Last Synced: 2024-06-19T11:37:43.406Z (6 months ago)
- Topics: android, apk, app-bundle, build-tool, go, golang, wasm
- Language: Go
- Homepage:
- Size: 129 KB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# `tsukuru`: build more than just a binary
Tsukuru is a cli tool that can build and run apk and appbundle for deploying Go apps on android platforms, and wasm for web targets.
```
~ go install github.com/rajveermalviya/tsukuru/cmd/tsukuru@latest~ tsukuru -help
Usage of tsukuru:
tsukuru build {apk, appbundle, wasm} [-options]
tsukuru run {apk, wasm} [-options]
tsukuru checkin deps [-options]
Run 'tsukuru [command] [subcommand] -help' for details
```# android backends
`tsukuru` currently has two backends for android build system.- `gradle` (recommended)
- `custom` (experimental) : custom backend can build apks without running gradle, though it is limited in many cases (doesn't support building appbundle, doesn't support building apps with android dependencies)
# `tsukurufile` (experimental)
`tsukurufile` can be used to specify android dependencies for a go package
```go
tsukuru v1alphaandroid (
"androidx.games:games-activity:1.2.1"
)
````tsukuru` walks through each imported package's directory and tries to find a `tsukurufile`, then it deduplicates any duplicate dependencies between different `tsukurufile`'s (currently doesn't do any version management), then it adds the unique list of dependencies to your `./android/app/build.gradle` file.