Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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 v1alpha

android (
"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.