This issue offers a discussion of how to describe the different Forge meta-data.
The "RMEPackage" directory will be changed to "forge-repository" (available here).
General architecture of forge-repository
mirror : a folder to store all "snapshots"
packages.json : The list of all available packages
README.md : How to and instruction
Describe a package (from forge perspective)
{
"name": "package-name",
"tags": ["battle-system", "event-making"],
"changelog": "https://www.mychangelog.com",
"remote": {
"stable": "url of stable-version",
"develop": "url of developement version"
},
"snapshot": ["1.1.0" , "1.1.1", "1.1.2"]
}
The remote-field allow to have multiple version of a package (in the case of RME, for example : master is stable and dev is the developement version. The name of the remote-keys is free. The snapshot field lists all of the snapshots (mirror/package-name/1.1.x). Storing the snapshot allow to manage conflict in the dependancy graph.
Describe a package (as a remote/snapshot)
{
"name": "package-name",
"description": "A small description of the package",
"version": "1.1.0",
"license": "MIT",
"authors": {
"author1": "author1@gmail.com",
"author2": "author2@gmail.com"
},
"components": ["file1.rb", "file2.rb", "file3.rb"],
"assets": {
"file1": "target1",
"file2": "target2"
},
"deps": {
"RME": ["~> 1.1.0"],
"OtherScript": [">= 1.2 and < 2"]
},
"export": [
["variable_name", "variable_desc", "default_value"]
]
}
ref : https://hexdocs.pm/elixir/Version.html
Feel free to give a feed back about that :)
This issue offers a discussion of how to describe the different Forge meta-data.
The "RMEPackage" directory will be changed to "forge-repository" (available here).
General architecture of forge-repository
mirror: a folder to store all "snapshots"packages.json: The list of all available packagesREADME.md: How to and instructionDescribe a package (from forge perspective)
{ "name": "package-name", "tags": ["battle-system", "event-making"], "changelog": "https://www.mychangelog.com", "remote": { "stable": "url of stable-version", "develop": "url of developement version" }, "snapshot": ["1.1.0" , "1.1.1", "1.1.2"] }The remote-field allow to have multiple version of a package (in the case of RME, for example :
masterisstableanddevis the developement version. The name of the remote-keys is free. The snapshot field lists all of the snapshots (mirror/package-name/1.1.x). Storing the snapshot allow to manage conflict in the dependancy graph.Describe a package (as a remote/snapshot)
ref : https://hexdocs.pm/elixir/Version.html
Feel free to give a feed back about that :)