4 maneras de saber las dependencias de tus proyectos

¿Alguna vez te has preguntado cuáles son las dependencias de tus proyectos de programación? Saber las dependencias es crucial para mantener tus proyectos actualizados y asegurarte de que todo funcione correctamente. En este artículo, te presentamos cuatro maneras de obtener esta información.

Usar GitHub

Si tus proyectos están en Github, puedes obtener información sobre sus dependencias directamente desde la plataforma.

Simplemente ve a la pestaña “Insights” y haz clic en “Dependency graph”. También puedes agregar /network/dependencies a la URL de tu proyecto para acceder directamente a esta funcionalidad., por ejemplo

https://github.com/javatlacati/ng-quiz/network/dependencies

Esta opción está disponible tanto para cuentas gratuitas como de pago y detecta de manera aceptable para proyectos en lenguajes muy variados como

  • node
  • maven
  • gradle
  • python

Usar un artifactory

Si trabajas con proyectos en Java, puedes usar un Artifactory (también se les conoce como maven artifactory). Un Artifactory es un sistema que te permite, entre otras cosas, mantener un cache de las dependencias. Entre las ventajas que puede tener un artifactory se pueden mencionar:

Puedes usarlo para administrar tus propios repositorios de dependencias para:

  • Maven
  • Node
  • Docker

Hay varias opciones populares en el mercado, como JFrog Artifactory y Sonatype Nexus Repository.

Además de poder obtener estadísticas de las dependencias que tus desarrolladores han usado podrás limitar la descarga de algunas de ellas usando algún criterio como el tipo de licencia o la calificación de vulnerabilidad.

Usar Bazel

Bazel es una herramienta de compilación desarrollada por Google para compilar muchos proyectos de distintas tecnologías.

Para el caso de las dependencias externas (es decir librerías que usas que no forman parte de los códigos que has desarrollado) Bazel utiliza un archivo llamado WORKSPACE, para el resto usa archivos BUILD por cada paquete o subpaquete de compilación, esto con la finalidad de hacer una compilación parcial, reducirte el tiempo de compilaciones repetitivas y detectar problemas de compatibilidad de dependencias de manera rápida.

Bazel incluye un comando para ver el árbol de dependencias de tus proyectos, por ejemplo

blaze query "kind(rule, deps(//ruta/a/tudependencia))" --output=graph

Hacerlo tu mismo

Si prefieres hacer las cosas a tu manera, puedes obtener información sobre las dependencias de tus proyectos de programación de varias maneras. A continuación te presento algunas opciones lenguaje por lenguaje.

Obtener dependencias en Java

Si usas maven, tienes dos opciones, usar el plugin de dependencias o puedes generar lo que se conoce como pom efectivo que contiene el detalle ampliado de absolutamente toda la configuración del proyecto, y tener la información en XML para procesarla al correr el comando

mvn help:effective-pom

Si trabajas con Gradle, puedes usar una tubería para enviar el resultado de la tarea de dependencias a un archivo por ejemplo

gradlew dependencies > dependencias.txt

o usar el plugin de reporte de proyecto

gradlew dependencyReport

  • Cursos de Código Facilito

    Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual de cursos en idioma exclusivamente español que inició como un canal de YouTube. Opinión de la plataforma En mi opinión la plataforma aún es incipiente y los cursos necesitan más trabajo, ya que es muy común hallarse con clases de…


  • Cursos de LinkedIn Learning

    Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma virtual de cursos propiedad de Microsoft. Hallarás mucho material en inglés, pues prácticamente todos los cursos vienen con subtítulos en castellano y en la parte técnica son muy buenos debido a la adquisición de Lynda.com. En mi opinión la plataforma…


  • Mockito: Snippets de código

    Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad. Claro que también los puedes usar para tu desarrollo en el día a día. Mock básico Si te llegan a mostrar algo como esto es mejor que sospeches, mockito se usa principalmente para pruebas de integración. Si llegas a ver…


javapro.org