Overview
The following illustrates the directory structure of a basic software package within the Nyra framework.
.
βββ bin/
βββ src/
βββ manifest.json
βββ manifest-lock.json
βββ property.json
βββ ten_packages/
βββ extension/
βΒ Β βββ <extension_foo>/
βΒ Β βββ <extension_bar>/
βββ extension_group/
βΒ Β βββ <extension_group_x>/
βββ protocol/
βΒ Β βββ <protocol_a>/
βββ system/
βββ <system_package_1>/
βββ <system_package_2>/The required files may vary based on the programming language used. For instance:
In a C++ project utilizing
nyra_gnas the build system, aBUILD.gnfile will be included.A Go project will typically include files such as
go.modandgo.sum.In a Python project, a
requirements.txtfile is commonly present to specify dependencies.
NYRA Framework Software Package Types
App
Contains a NYRA app.
Extension group
Contains a NYRA extension group.
Extension
Contains a NYRA extension.
Protocol
Contains a NYRA protocol.
System
Contains a NYRA system package.
NYRA Framework Software Package Kinds
There are two primary types of software packages:
Release packageDevelopment package
Relationship Between Package Types
A release package is created from a development package through a build process.
Adding source-related content to a release package transforms it into a development package.
Conversely, removing source-related content from a development package produces a release package.
Key Difference
The directory structures of development and release packages are largely identical. The distinction lies in the inclusion of source-related content:
A development package includes source-related files.
A release package excludes these files.
Development package
The primary purpose of a development package is to develop NYRA software packages. For instance, if you want to create a new NYRA extension, you can modify an existing development package to achieve this. This is because the development package contains all the source-related content, enabling the creation of new NYRA software packages from it.
Release package
The primary function of a release package is to enable the creation and execution of graphs. Since it does not include build-related content, it is optimized for these tasks. However, a development package can also facilitate graph creation and execution while supporting additional functionality. As a result, the application scope of a development package is more expansive than that of a release package.
Last updated