title: Ð ÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ ÑÐµÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¾Ð±ÑÐ°ÑÐ½ÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹ Ð°ÑÑÐµÑÐ°ÐºÑÐ¾Ð² ÑÐ±Ð¾ÑÐºÐ¸ Ð² Ð²Ð¸Ð´Ðµ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð´Ð»Ñ Ð¿Ð»Ð°ÑÑÐ¾ÑÐ¼Ñ Sonatype Nexus Repository
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Implementation of solution for analyzing reverse dependencies of artifact in a plugin for the Sonatype Nexus Repository platform
Creators: name: ÐÑÑÐ¸Ð·Ð±ÑÐ½ÑÐµÐ², ÐÐ»ÑÑ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: Ð¾Ð±ÑÐ°ÑÐ½ÑÐµ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸
Nexus
Java
OSGi
Docker
Apache Karaf
reverse dependencies

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÑÐ¼Ð¸ Ð² Ð±Ð¾Ð»ÑÑÐ¸Ñ ÑÐºÐ¾ÑÐ¸ÑÑÐµÐ¼Ð°Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ð¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¾Ð±ÑÐ°ÑÐ½ÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹ Ð°ÑÑÐµÑÐ°ÐºÑÐ¾Ð² ÑÐ±Ð¾ÑÐºÐ¸ Ð½Ð° Ð¿Ð»Ð°ÑÑÐ¾ÑÐ¼Ðµ Sonatype Nexus Repository. ÐÐ°Ð´Ð°ÑÐ¸, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐµÑÐ°Ð»Ð¸ÑÑ Ð² ÑÐ¾Ð´Ðµ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ: 1. ÐÐ·ÑÑÐµÐ½Ð¸Ðµ Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ÑÑÐµÐ¹ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÑ ÑÐ¸Ð¿Ð¾Ð² Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÐ°Ð¼Ð¸. 2. ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð²Ð¸Ð´Ð¾Ð² Ð°ÑÑÐµÑÐ°ÐºÑÐ¾Ð² ÑÐ±Ð¾ÑÐºÐ¸ Ð¸ Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹. 3. ÐÐ½Ð°Ð»Ð¸Ð· ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ¾Ð² Ð¸ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð² Nexus Ð´Ð»Ñ Ð¾ÑÐµÐ½ÐºÐ¸ Ð¸Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ÑÑÐ¸ Ð¸ Ð¾Ð³ÑÐ°Ð½Ð¸ÑÐµÐ½Ð¸Ð¹. 4. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¾Ð±ÑÐ°ÑÐ½ÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹ Ð² Sonatype Nexus Repository. Ð Ð°Ð±Ð¾ÑÐ° Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð° Ð½Ð° Ð±Ð°Ð·Ðµ Ð¿Ð»Ð°ÑÑÐ¾ÑÐ¼Ñ Sonatype Nexus Repository, Ð³Ð´Ðµ ÑÐ¾Ð±Ð¸ÑÐ°Ð»Ð°ÑÑ Ð·Ð½Ð°ÑÐ¸ÑÐµÐ»ÑÐ½Ð°Ñ ÑÐ°ÑÑÑ ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ð³Ð¾ Ð¼Ð°ÑÐµÑÐ¸Ð°Ð»Ð°: Ð°Ð½Ð°Ð»Ð¸Ð· ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÑ ÑÐ¸Ð¿Ð¾Ð² Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹, Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð°ÑÑÐµÑÐ°ÐºÑÐ¾Ð² Ð¸ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ ÑÐµÑÐµÐ½Ð¸Ð¹ Ð´Ð»Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÑÐ¼Ð¸. ÐÑÐ»Ð¸ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ñ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ, Ð´ÐµÐ¼Ð¾Ð½ÑÑÑÐ¸ÑÑÑÑÐ¸Ðµ, ÐºÐ°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ð¾Ð´Ð½Ð¾Ð¼ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÐµ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð²Ð»Ð¸ÑÑÑ Ð½Ð° Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼ÑÐµ Ð¾Ñ Ð½ÐµÐ³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÑ. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ Ð±ÑÐ»Ð° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð° Ð¸ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐ° Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¾Ð±ÑÐ°ÑÐ½ÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐµÐ¹. ÐÐ¾ÑÐ»Ðµ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½ÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÐ¾Ð², Ð¿Ð»Ð°Ð³Ð¸Ð½ Ð¿ÑÐ¾ÑÑÐ» ÑÑÐ°Ð¿Ñ Ð¸Ð½ÑÐµÐ³ÑÐ°ÑÐ¸Ð¸ Ð¸ ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°Ð½Ð¸Ñ Ð² ÑÑÐµÐ´Ðµ Nexus Repository Manager, Ð²ÐºÐ»ÑÑÐ°Ñ ÑÐ±Ð¾ÑÐºÑ OSGi-Ð±Ð°Ð½Ð´Ð»Ð°, Ð·Ð°Ð¿ÑÑÐº Docker-ÐºÐ¾Ð½ÑÐµÐ¹Ð½ÐµÑÐ° Ñ Nexus, ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¸ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¾Ðµ ÑÐ°Ð·Ð²ÐµÑÑÑÐ²Ð°Ð½Ð¸Ðµ .kar ÑÐ°Ð¹Ð»Ð°. ÐÐ½ÑÑÐ°Ð»Ð»ÑÑÐ¸Ð¾Ð½Ð½Ð¾Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¸ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ° ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½Ð¾ÑÑÐ¸ Ð¿Ð¾Ð´ÑÐ²ÐµÑÐ´Ð¸Ð»Ð¸ ÑÑÐ¿ÐµÑÐ½ÑÑ ÑÐ°Ð±Ð¾ÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°. Ð¢Ð°ÐºÐ¶Ðµ Ð² Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ¼ Ð¿Ð»Ð°Ð½Ð¸ÑÑÐµÑÑÑ Ð²ÑÐ¿ÑÑÐº Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð² Ð¾ÑÐºÑÑÑÑÐ¹ Ð´Ð¾ÑÑÑÐ¿ (opensource), ÑÑÐ¾ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¼Ð¸ÑÐ¾Ð²Ð¾Ð¼Ñ ÑÐ¾Ð¾Ð±ÑÐµÑÑÐ²Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð¸ Ð´Ð¾ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÐµÐ³Ð¾ Ð´Ð»Ñ ÑÐ»ÑÑÑÐµÐ½Ð¸Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑÐ°ÑÐ½ÑÐ¼Ð¸ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÑÐ¼Ð¸ Ð² ÑÐ²Ð¾Ð¸Ñ Ð¿ÑÐ¾ÐµÐºÑÐ°Ñ.
description: This work is devoted to the study of dependency management problems in large software ecosystems and the development of a plugin for analyzing reverse dependencies of build artifacts on the Sonatype Nexus Repository platform. Problems that were solved during the study: 1. Study the features of various types of dependencies between components. 2. Research of types of assembly artifacts and their dependencies. 3. Analyze existing Nexus tools and plugins to assess their applicability and limitations. 4. Development of a plugin for analyzing inverse dependencies in Sonatype Nexus Repository. The work was carried out on the basis of the Sonatype Nexus Repository platform, where a significant part of the factual material was collected: analysis of various types of dependencies, study of artifacts and existing solutions for dependency management. Studies have been conducted to demonstrate how changes in one component can affect components that depend on it. As a result, a plugin architecture for inverse dependency analysis was developed and implemented. After completing the development of functional components, the plugin went through the stages of integration and deployment in the Nexus Repository Manager environment, including assembling the OSGi bundle, launching a Docker container from Nexus, copying and automatically deploying the .kar file. Installation testing and functionality testing confirmed the successful operation of the plugin. It is also planned to release the plugin into open source in the future, which will allow the global community to use and refine it to improve the management of reverse dependencies in their projects.