Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Aplicaciones de paquete JET

Una vez completado el desarrollo de la aplicación, escriba el archivo JavaScript Object Notation (JSON) en el que se describe el contenido a crear y empaquetar la aplicación antes de implementarla en el dispositivo. JSON es un formato ligero de intercambio de datos. Es fácil para los humanos leer y escribir, y también es fácil para las máquinas analizar y generar. Para obtener más información, consulte https://www.json.org.

Los archivos JSON constan de una colección de atributos que se incluyen dentro de un conjunto de llaves rizadas. Los atributos usan dos estructuras:

  • Una colección de pares clave-valor.

  • Una lista ordenada de valores.

Lea más para obtener más información sobre cada uno de los atributos incluidos en el formato JSON para el empaquetado de aplicaciones.

Atributos de la sección principal

El bloque superior del archivo JSON es la sección principal del archivo. Se compone de atributos obligatorios y opcionales.

Atributos obligatorios

En la tabla 1 se describen los atributos obligatorios que deben tener todos los archivos JSON para el empaquetado de aplicaciones en la sección principal. El siguiente es un ejemplo de un archivo JSON de aplicación simple que contiene solo los atributos obligatorios:

Tabla 1: Atributos obligatorios en la sección principal del archivo JSON

Atributo

Descripción

Valores de ejemplo

"app-name"

Especifique el nombre de la aplicación.

"sample_pyapp"

"app-path"

Especifique la ruta al directorio de implementación de la aplicación. Todas las rutas deben estar relativas a src de entorno de pruebas.

"python/sample_pyapp"

"language"

Especifique el lenguaje utilizado para desarrollar la aplicación.

"python", "c", "c++"

"main-scripts"

Se trata de una lista de atributos. Especifique el nombre de archivo o los nombres de archivo de comandos principales que se ejecutan en el dispositivo (no especifique el módulo aquí). Los archivos de script principales se implementarán en la ruta /var/db/scripts/jet en el dispositivo.

["foo.py", "bar.py"]

"app-type"

Especifique si una aplicación debe ser un programa independiente o un demonio.

"standalone" O "daemon"

"sign"

Indique si la aplicación se va a firmar o no.

"yes" O "no"

"os-type"

Especifique si la aplicación se implementará en Junos OS heredado (bsd6) o Junos OS con FreeBSD actualizado (bsd10).

"bsd6", bsd10o "bsd11"

"target-arch"

Especifique la arquitectura de destino en la que se va a implementar la aplicación.

"i386", "powerpc", , "octeon", "xlr"o "arm"

"description"

Escriba una breve descripción (una línea) sobre la aplicación. Esto se mostrará en la salida del show version comando operativo.

"Simple Python test app"

Atributos opcionales

En la tabla 2 se describen los atributos opcionales que puede incluir en la sección principal del archivo JSON para el empaquetado de la aplicación. A continuación, se muestra una sección principal de ejemplo con atributos obligatorios y opcionales:

Tabla 2: Atributos opcionales en la sección principal del archivo JSON

Atributo

Descripción

Valores de ejemplo

"c-compiler-flags"

Especifique la lista de indicadores del compilador C, si los hubiera. Se pueden definir indicadores de compilación para la sección principal, bibliotecas dependientes (dep-libs) o módulos python dependientes (dep-py-modules).

"flag1 flag2 flag3"

"c++-compiler-flags"

Especifique la lista de indicadores del compilador de C++, si los hubiera. Se pueden definir indicadores de compilación para la sección principal, bibliotecas dependientes (dep-libs) o módulos python dependientes (dep-py-modules).

"flag1 flag2 flag3"

"linker-flags"

Especifique la lista de indicadores del vinculador, si los hubiera. Utilice estas marcas para especificar bibliotecas adicionales a las que se vincularán o marcas específicas de vínculo adicionales que se requieren durante el vínculo. Puede definir marcas específicas del vinculador en la sección principal o en la sección de dep-py-modules.

"flag1 flag2 flag3"

Atributos de origen

La tabla 3 muestra dos atributos de origen que puede usar para especificar archivos de origen para el paquete de aplicación. El siguiente es un ejemplo de aplicación Python con archivos de módulo adicionales que se implementarán, junto con el archivo de script principal:

Tabla 3: Atributos de origen que puede usar en un archivo JSON

Atributo

Descripción

Valores de ejemplo

"srcs"

Especifique la lista de archivos de origen adicionales. Para las aplicaciones de Python, estos archivos de origen son los archivos de módulo adicionales. Para las aplicaciones de C o C++, estos archivos fuente son los archivos fuente que se compilarán para generar lib/binary. Cada entrada debe ser un par clave-valor, donde la clave es la ruta de acceso de los archivos de origen y el valor es una matriz de nombres de archivo de origen.

"srcs": { 
      "python/sample_pyapp": ["a.py", "b.py"], 
     "python/sample_pyapp/temp": ["temp1.py", "temp2.py"] 
} 

"extn-srcs"

Esta sección solo se aplica a Python. Especifique la lista de archivos de módulos C o C++ que se compilarán. Cada entrada debe ser un par clave-valor, donde la clave es la ruta de acceso de los archivos de origen y el valor es una matriz de nombres de archivo de origen.

"extn-srcs": { 
    "python/sample_pyapp": ["foo.c", "bar.c"], 
    "python/sample_pyapp/temp": ["1.cpp", "2.cpp"] 
       }

Bibliotecas dependientes

Debe compilar las bibliotecas dependientes disponibles en la sección bibliotecas dependientes (dep-libs). La biblioteca generada a partir de este código JSON se empaqueta con la aplicación. La dep-libs sección es una matriz de varias dependencias de biblioteca, cada una compuesta por los siguientes pares de nombres de clave:

  • "lib-name" es el nombre de la biblioteca.

  • "lib-path" es la ruta del código fuente de la biblioteca en el entorno de pruebas de desarrollo.

  • "srcs" es un par clave-valor en el que la ruta es la clave y su valor es una lista de archivos de origen.

A continuación, se muestra un ejemplo de un dep-libs atributo:

Módulos python dependientes

El atributo módulos de Python dependientes (dep-py-modules) se utiliza solo para las aplicaciones de Python. Este atributo contiene cualquier módulo python dependiente que deba compilarse y empaquetarse con la aplicación. El dep-py-modules atributo es una matriz en la que puede especificar varias dependencias de módulos Python. Cada dependencia está compuesta por los siguientes objetos:

  • "py-module-name" es el nombre del módulo Python.

  • "py-module-path" es la ruta del código fuente del módulo Python en el entorno de desarrollo.

  • "srcs" es un par clave-valor en el que la ruta es la clave y su valor es una lista de archivos de origen.

  • "extn-srcs" es un par clave-valor en el cual la ruta es la clave y su valor es una lista de archivos de origen de extensión de Python.

A continuación, se muestra un ejemplo de un dep-py-modules atributo: