What is the meaning of a "Manifest" file in programming?

Asked

Viewed 5,043 times

15

I believe I’ve seen a file called manifest related to some libraries of certain programming languages. If I remember correctly, there is a manifest in Android Studio.

I also remember seeing a file called manifest.json in the PHP framework called Laravel (this occurs specifically when we generate minifications and unifications or versions of Javascript or CSS files).

The same thing also exists in the Google Chrome, where I believe the extensions installed are related.

As it seems to be a common thing among libraries of various types, I would like to understand what the purpose of these files is manifest.

From what I understand it has purpose to "list" some resource that will be used, but perhaps the sense is a little wider.

So I would like to know: What is the purpose of a file manifest?

  • 2

    The idea of the manifest is to be something that answers the following question to the relevant operating system, virtual machine or execution environment: "What is this thing, what it’s for and how do I run it?"

  • 4

    This is one of the most interesting terminology questions I’ve seen so far here on the site. I wanted to understand the negative vote.

  • 1

    @Pabloalmeida has happened constantly. It must be someone angry with me. But it is better to ignore

  • @Wallacemaxters Oh, right. It’s just that I had already noticed a tendency of terminology issues not to be well accepted, so I thought it was something against the theme. You’re right, ball forward.

  • In fact, if the problem really is with the questions I ask, no one has yet appeared to point out what the problem is, preferred to remain anonymous.

  • But you will be welcome. My intention is to add content to the site with my questions. If you can indicate what the question can improve, you are welcome to. I am not perfect! Suggestions are welcome, always!

  • Remember that the questions can be edited by anyone. If it is a little pickle with the way of writing, the terms used, the formatting etc., just suggest a change.

  • @Victorstafusa I think your comment should be as an answer, of course with a few more details, but the idea of example became very good.

  • 2

    @jbueno I even thought to put as an answer, but I found it too short and so I just put in comment. Even more knowing that in a short time someone (in case the bigown) would appear to give a more complete answer. However, if I think of anything important that was not addressed in his reply, I put another.

Show 4 more comments

2 answers

9


It is usually a file with basic data about an application that helps the platform run properly. For each platform may have some specificity, but the basic is to have the name, version, files that are part of the application or that must have some specific action, some configuration of how to behave, eventually some digital signature, etc.

In fact in the context of Google Chrome it is used by the extensions.

Example taken from Wikipedia:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <!--I am okay with whatever security privilege level-->
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <!--I need Microsoft Visual C++ 2008 Runtime to run-->
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>
  • Um... interesting, actually. In the case of Laravel Elixir, as it works with Assets files, it generates a kind of "pointing" for the application to know which unified/compressed file comes from another.

  • 3

    That’s it, every thing has a way of using it. It’s metadata.

8

Trivia: The term originates from nautical practice, where the cargo manifest list all items (cargo or personnel) dispatched:

inserir a descrição da imagem aqui

SS passenger manifest La Touraine (USA), October 1913, pp. 204-05, for Andrew Baker - CC 2.0

A manifest file, in computing, is a file that contains metadata for a group of files that are part of a coherent set or unit.

For example, the files of a computer program may have a manifesto describing the name, version number and the files which constitute the programme.

Multiple languages and platforms use files manifest. Below is a list (non-exhaustive):

  • Java: manifest mf. used for creating JAR packets;
  • Windows: manifest.xml is used to describe both content and directory structure mapping;
  • Android: Androidmanifest.xml has information essential to the execution of the programme, such as permissions or necessary capabilities;
  • NPM: package json. describes, among other things, files and dependencies;
  • HTML5: the element <html> may own a property, manifest, that provides caching content to enable web applications to be run in offline.
  • Composer.json is a Composer manifest so :p

  • @Wallacemaxters if it declares content and/or information regarding the program, yes, it is a manifest.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.