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_gn as the build system, a BUILD.gn file will be included.

  • A Go project will typically include files such as go.mod and go.sum.

  • In a Python project, a requirements.txt file is commonly present to specify dependencies.

NYRA Framework Software Package Types

Type
Description

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 package

  • Development 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