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

12

I believe I have already 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 is specifically when we generate minifications and unifications or versioning of JavaScript or CSS files).

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

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

So I understand it has the purpose of "listing" some feature that will be used, but maybe the sense is a little broader.

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

    
asked by anonymous 25.06.2016 / 23:11

2 answers

7

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 thing is to have the name, version, files that are part of the application or that should have some specific action, some configuration of how to behave, possibly some digital signature, etc.

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

    
25.06.2016 / 23:18
6

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

  

SS La Touraine (USA) Passenger Manifesto, October 1913, pgs. 204-05 , by Andrew Baker - CC 2.0

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

For example, files in a computer program may have a manifest describing the name , version number and the files of the program.

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

  • Java: manifest.mf used to create JAR packages;
  • Windows: manifest.xml is used to describe both content and mappings of directory structure;
  • Android: AndroidManifest.xml has information essential to running the program, such as permissions or capabilities needed;
  • NPM: package.json describes, among other things, files and dependencies;
  • HTML5: element <html> may have a property, manifest , which provides caching with content to allow web applications to be run offline.
27.06.2016 / 01:52