📜 ⬆️ ⬇️

Build Systems - Intro


What is it?


This post will be about automatic assembly systems. I think it is intuitively clear what it is and why it is needed, but for formality it is necessary to write - these are software products that, based on some configuration, can “assemble” your project.
Under the word "collect" there can be a very extensive amount of work that, with the "manual" approach, requires a considerable amount of time.

A small list for clarity:

The most popular representatives of such systems are Ant + Ivy, Maven.

Confusion


There are a number of articles about Maven on the hub, but, unfortunately, they are all in different hubs, because There is no separate hub for build systems.
Therefore, I decided “not to be like everyone else” and choose the common hub “Programming”, and not “Java”, “Web development”, etc.

Therefore, an uninterested reader can continue his search for something interesting, but an interested reader can read more.

I specifically started the post with explanations and descriptions of features, since these systems can do assemblies not only for “Java” and are applicable not only in web development. The possibilities and options for using these systems are much wider.
')
In the end, they may not even compile the code at all, but do automatic routine work: generation, archiving, file operations, installation on the server — which allows developers to spend their time more efficiently .

High-level architecture


The architecture of all build-systems is as follows:

For people unfamiliar with terminology: the repository is some structured storage of some data. For example, various auxiliary libraries / plugins / scripts / documentation / source, etc.

This concludes the general part of the build-systems and move on to more specific things.

Maven


Since rewriting what others have written would be wrong, I’ll provide a list of articles on the topic that already exist on the Maven website and where it is described specifically about this system - what it is, how it works and what principles it is based on.

I advise you to read in this order:


Conclusion


The purpose of this article was to convey to the reader information about the assembly systems as a whole, why they are needed and what tasks they are capable of performing.
I take my leave of it and hope that this article will find its reader who is not afraid to use such systems for their daily tasks, and will show the simplicity and efficiency of project building systems.

Continued: Build Systems - Local Repository

Source: https://habr.com/ru/post/218459/


All Articles