Giter VIP home page Giter VIP logo

kumitateru's Introduction

Kumitateru

Kumitateru is a build system for Garmin ConnectIQ, written in Rust.

It is ALPHA software, be aware

Project structure

The basic directory structure looks like this:

├── id_rsa_garmin.der
├── kumitateru
├── package.toml
├── resources
│   ├── drawables
│   │   ├── drawables.xml
│   │   └── launcher_icon.png
│   ├── fonts
│   │   └── fenix5
│   ├── layouts
│   ├── menus
│   ├── settings
│   └── strings
│       └── main
│           └── strings.xml
└── src

Build config

Build config sits in the root of the project, and named package.toml. It looks like this:

[package]
name_res = "@Strings.AppName"
icon_resource = "@Drawables.LauncherIcon"
main_class = "MyApp"
# Currently here for the future, exactly for supporting libraries(barrels) as projects, not only apps.
package_type = "app"
app_type = "watch-app"
min_sdk = "1.2.0"
# This property is for setting the SDK, which will be used to build the app
target_sdk = "4.0.4"

[package_meta]
name = "MyApp"
id = "app-id"
version = "1.0.0"
devices = ["fenix6xpro"]
permissions = ["Background"]
languages = ["eng"]

[build]
signing_key = "id_garmin_sign.der"
# This will be, again, for future. Will be used for code analysis, like possible places of crash, bad design, and much more
code_analysis_on_build = false
type_check_level = 0 # Type checking, which was introduced in CIQ 4.0.0. Levels: 0: disable, 1: gradual, 2: informative, 3: strict
compiler_args = "" # If you want some custom parameters, place them here

[dependencies]
"simple-barrel" = ["0.1.0", "simple-barrel-0.1.0.barrel"] # The second entry is a path to the barrel inside of dependencies folder.

Using the build system

Basic build command is ./kumitateru build, which compiles the app in .iq format. To build for a specific device, run ./kumitateru build --target <device>. To build for all devices in .prg, you run ./kumitateru build --target all.

kumitateru's People

Contributors

dependabot[bot] avatar ggoraa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.