ActDK Project Structure
This document describes directories generated by actdk init.
appmodelincludemanifesto.actdk.actdk/cache.actdk/long_descriptions
app
app is a directory for all scripts and executables running in the Actcast application.
ActDK transfers all the directories and files in app into the Actcast application image.
model
model is a directory for nnoir files, which are sources of conversion (from deep-learning models to stub codes) by actdk compile.
include
The include directory contains c-header files generated by actdk compile to run the stub codes.
manifesto
The manifesto directory contains manifesto files used to describe the resources needed at runtime.
The initialization process generates the files below.
default.jsonpi4_or_later.json
The file names are arbitrary. You must specify what boards are supported and what devices are needed to run on the board.
.actdk
This directory contains configuration files about the project. The following files are stored:
dependencies.jsonfiles.jsonsetting.json
dependencies.json
dependencies.json specifies packages used in Actcast applications.
"apt""apt"is for packages provided by Raspbian.
"pip""pip"is for packages provided by pip3.
{
"apt": ["libraspberrypi0", "libraspberrypi-bin", "python3", "python3-pil"],
"pip": ["actfw-raspberrypi"]
}You can specify dependencies for each target types for future extension. In target type wise dependencies, base_image can be set.
{
"apt": ["python3", "python3-pil"],
"pip": [],
"raspberrypi-buster": {
"apt": ["libraspberrypi0", "libraspberrypi-bin", "python3-pil"],
"pip": ["actfw-raspberrypi"],
"base_image": "idein/actcast-rpi-app-base:buster-1"
}
}"base_image"(optional)"base_image"is for Docker image that is used as the base of app.
files.json
files.json configures the project structure.
It includes information about the Actcast application’s entry-point and the live monitoring script, but you don’t need to change this file for general usage.
{
"main": "main",
"healthchecker": "healthchecker",
"act_setting": "act_settings.json"
}setting.json
setting.json contains basic settings of the project.
This file is generated by actdk init command automatically, but users can freely edit it by hand.
However, please notice that re-running actdk init overwrites this file.
{
"app_id": "example",
"app_server_id": 48,
"short_description": "A test application",
"short_descriptions": {
"ja": "テストアプリケーション",
"eo": "Una testa aplikaĵo"
},
"target_types": [
"raspberrypi-buster"
],
"apt_repository": "http://one.of/raspbian/mirror"
}"app_id"- the application name
"app_server_id"- the application ID
"short_description"- the one-line description
"short_descriptions"- One-line descriptions in languages other than English. Use language codes described in ISO 639-1 as property names and put the description in that language to values.
"target_types"- Exists for future extension
"apt_repository"- Used when you want to set up an apt mirror. mirror redirection system is used by default.
.actdk/cache
This directory is used by actdk to store project-local cache data. Users must not edit this directory directly.
We recommend to add this path to .gitignore if you use git to manage the project.
Before version 1.7.0 of actdk, actdk used .actdklastremote and actdkbuildid for this purpse.
Since version 1.7.0, these files are deprecated.
Some commands of actdk automatically migrate these files to a new format if .actdk/cache/project_state.json does not exist, and these files exist.
.actdk/long_descriptions
When you write descriptions in languages other than English, put the description files under this directory. Use language codes described in ISO 639-1 as file name.