[FEATURE] Add integration with external programs/projects the right way

Abierto
#18,522 7 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
c, cmake

Línea de trabajo

Comienza leyendo la integración existente de apps/external y los archivos Kconfig, Make.defs, Makefile y CMakeLists.txt que espera, y luego compáralos con la documentación de módulos de Zephyr y los proyectos de ejemplo enlazados. El trabajo estará terminado cuando exista una convención documentada y acordada para los repositorios externos de NuttX y una ruta de integración funcional, sin exigir que cada proyecto duplique los archivos de compilación de NuttX.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Type: Enhancement
Is your feature request related to a problem? Please describe.

Currently there is possible to add external applications on nuttx-apps creating an "external/" directory inside apps/ [1]. However it expects that the added project has the right files inside it (Kconfig, Make.defs, Makefile, CMakelist.txt, etc).

Others RTOSes like zephyr has a similar solution (although they used a confuse name "Module" and that is a bad name since for a kernel a module means dynamic loadable component). Also in their case they expects a directory called "zephyr" inside the target project. Some examples:
https://github.com/open-quantum-safe/liboqs
https://github.com/civetweb/civetweb/tree/master/zephyr
https://github.com/lvgl/lvgl/tree/master/zephyr

This is more than a better solution, this is their way to spread their naming/awareness around all other projects in the Internet and avoids the process of creating a download script in their repository, as we do for LVGL and others.

There is a complete (and verbose) documentation about it here: https://docs.zephyrproject.org/latest/develop/modules.html

1 - It is a hidden feature, there is no Documentation about it: https://nuttx.apache.org/docs/latest/search.html?q=external&check_keywords=yes&area=default

Describe the solution you'd like

We could follow the same approach, creating a "nuttx" or "NuttX" repository inside other projects simplify the integration process.

Describe alternatives you've considered

No response

Verification
  • I have verified before submitting the report.
Lenguaje dominante
C
Estrellas
4.1k
Forks
1.8k
Merge medio
1 d 5 h
PR fusionados (30 d)
841

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/nuttx

Todos los issues de apache/nuttx

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.