Zobrazit minimální záznam

dc.contributor.advisorKožusznik, Jan
dc.contributor.authorKynický, Ondřej
dc.date.accessioned2025-06-23T11:48:53Z
dc.date.available2025-06-23T11:48:53Z
dc.date.issued2025
dc.identifier.otherOSD002
dc.identifier.urihttp://hdl.handle.net/10084/156729
dc.description.abstractTato bakalářská práce se zabývá návrhem a implementací nástroje pro správu verzí multimodulárních Maven projektů. Hlavním cílem je automatizovat dosud časově náročný úkol – povýšení verze jednoho modulu a propagaci této změny do všech souvisejících závislostí. Jádrem řešení je vnitřní reprezentace celého multimodulárního projektu: pro každý modul se ukládají jeho groupId, artifactId, verze a všechny přímé deklarace z bloků <dependencies> i <dependencyManagement> v souborech pom.xml. Tranzitivní závislosti si aplikace dopočítá, vloží je do stejného modelu a dále s nimi pracuje, jako by byly explicitně uvedené. Systém je vystavěn jako rozšiřitelná Java aplikace využívající Maven Invoker a plugin org.codehaus.mojo:versions, takže každá funkcionalita (např. hledání zastaralých knihoven, hromadné povýšení verzí) je implementována jako samostatná servisní funkce. Referenční implementace poskytuje REST API (a Swagger UI) s operacemi: načtení struktury projektu, analýza zastaralých interních i externích knihoven, automatické zvýšení verze vybraného modulu včetně aktualizace všech jeho referencí a kontrolu konfliktů tranzitivních závislostí. Praktickou užitečnost nástroje je testování nad veřejně dostupným projektem (open-source), kde se ukazuje, že automatizovaný postup zvládne aktualizaci závislostí na jedno kliknutí, místo aby byla prováděna ručně.cs
dc.description.abstractIn this bachelor’s thesis, the author designs and implements a tool for version management of multi-module Maven projects. The main goal is to automate a previously time-consuming task – increasing the version of a single module and propagating this change to all related dependencies. At the core of the solution is an internal representation of the entire multi-module project: for each module, its groupId, artifactId, version, and all direct declarations from the <dependencies> and <dependencyManagement> sections of the POM files are stored. Transitive dependencies are computed by the application, inserted into the same model, and subsequently processed as if they were declared explicitly. The system is built as an extensible Java application using Maven Invoker and the org.codehaus.mojo:versions plugin, with each feature (e.g., identifying outdated libraries, bulk version upgrades) implemented as an independent service. The reference implementation exposes a REST API (with Swagger UI) offering operations for loading the project structure, analyzing outdated internal and external libraries and automatically increasing the version of a selected module (including updating all its references). The practical usefulness of the tool is demonstrated on a publicly available open-source project, where the automated workflow successfully updates dependencies with a single click, replacing what was previously a manual process.en
dc.format.extent2859865 bytes
dc.format.mimetypeapplication/pdf
dc.language.isocs
dc.publisherVysoká škola báňská – Technická univerzita Ostravacs
dc.subjectMavencs
dc.subjectJavacs
dc.subjectMulti-modulový projektcs
dc.subjectMavenen
dc.subjectJavaen
dc.subjectMulti-module projecten
dc.titleNástroj pro správu verzí multimodulárních Maven projektůcs
dc.title.alternativeVersion Control Tool for Multimodular Maven Projectsen
dc.typeBakalářská prácecs
dc.contributor.refereeJežek, David
dc.date.accepted2025-06-03
dc.thesis.degree-nameBc.
dc.thesis.degree-levelBakalářský studijní programcs
dc.thesis.degree-grantorVysoká škola báňská – Technická univerzita Ostrava. Fakulta elektrotechniky a informatikycs
dc.description.department460 - Katedra informatikycs
dc.thesis.degree-programInformatikacs
dc.description.resultdobřecs
dc.identifier.senderS2724
dc.identifier.thesisKYN0010_FEI_B0613A140014_2025
dc.rights.accessopenAccess


Soubory tohoto záznamu

Tento záznam se objevuje v následujících kolekcích

Zobrazit minimální záznam