Categorygithub.com/Cacsjep/goxisbuilder
modulepackage
1.1.7
Repository: https://github.com/cacsjep/goxisbuilder.git
Documentation: pkg.go.dev

# README

Goxisbuilder

Goxisbuilder is a powerful command-line tool designed to streamline the process of building Docker ACAP applications for Go developers. Its main purpose is to build apps with goxis.

Install

go install github.com/Cacsjep/goxisbuilder@latest

Quick Start (New Project)

Creating a new project is very handy, it creates an application directory with all the necessary stuff inside. :)

goxisbuilder.exe -newapp

Discord

Building Applications

There are two ways of building apps with goxisbuilder:

  • Inside an application directory
  • Outside an application directory"

Inside a Applications Directory

Build command: goxisbuilder.exe or on linux goxisbuilder

Directory/File Structure:

  • myacap
    • go.sum
    • go.mod
    • *.go (app.go or main.go does not matter)
    • manifest.json
    • LICENSE

[!NOTE] After a successful build, a build directory with the corresponding .eap file is created.

Outside a Applications Directory

Build command: goxisbuilder.exe -appdir=<application-director> or on linux goxisbuilder -appdir=<application-director>

Directory/File Structure:

  • myproject
    • go.sum
    • go.mod
      • myacap1
        • *.go (It does not matter whether you use app.go or main.go.)
        • manifest.json
        • LICENSE
      • myacap2
        • *.go (It does not matter whether you use app.go or main.go.)
        • manifest.json
        • LICENSE

[!NOTE] After a successful build, a build directory with the corresponding .eap file is created.

Start, Install, Watch

To install and start the ACAP application after building it, add the -install and -start flags. Also, specify the -ip <camera IP address> and -pwd <camera root password> flags.

If you are interested in viewing the syslog output of the ACAP application, add the -watch flag. (Note: IP address and password are required.)

Additional ACAP/EAP Package files

When deploying ACAPs, such as those with machine learning models, it's necessary to bundle model files into the .eap package.

Simply use the -files argument to specify which files goxisbuilder should bundle.

[!IMPORTANT] These files need to be in the Application Directory.

Example

goxisbuilder.exe -files=ssd_mobilenet_v2_coco_quant_postprocess.tflite

Custom Dockerfile

To use your own Dockerfile, add the -dockerfile flag and base it on the repository's Dockerfile.

Multiple Manifests

In case of multiple manifest files for an application, you can use the -manifest flag to specify which manifest file to use for the build.

Ignore dirs or files

Files or directories can be excluded from being copied into the container by prefixing their names with an underscore.

Usage

.\goxisbuilder.exe -h
FlagDescriptionDefault
-hDisplays this help message.
-appdirThe path to the application directory from which to build.""
-archThe architecture for the ACAP application: 'aarch64' or 'armv7hf'."aarch64"
-dockerfileUse your own dockerfile""
-filesFiles for adding to the acap eap package like larod models (filename1 filename2 directory)""
-installSet to true to install the application on the camera.false
-ipThe IP address of the camera where the EAP application is installed.""
-lowsdkSet to true to build with acap-sdk version 3.5 and ubunutu 20.04false
-manifestThe path to the manifest file. Defaults to 'manifest.json'."manifest.json"
-newapp Generate a new goxis applicationfalse
-pruneSet to true execute 'docker system prune -f' after build.false
-pwdThe root password for the camera where the EAP application is installed.""
-startSet to true to start the application after installation.false
-versionSet to specifiy the sdk version for the ACAP image like, for example -version 1.12
-watchSet to true to monitor the package log after building.false

# Functions

No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

BuildConfiguration defines the configuration parameters for building the EAP application, including details such as architecture, manifest details, and flags indicating whether to install the application, start it, build examples, or watch logs.
No description provided by the author