Feature #223

Define Mandatory fields in distributions and recipes and implement validation

Added by Florian Lier over 5 years ago. Updated about 4 years ago.

Status:ClosedStart date:2014-04-03
Priority:NormalDue date:
Assignee:Jan Moringen% Done:

0%

Category:RecipeSpent time:0.50 hour
Target version:Toolkit 0.1

Description

I would like to add to distributions:

"catalogue.system": [ "", "" ],
"catalogue.system.version": [ "", "" ],

History

#1 Updated by Jan Moringen over 5 years ago

Maybe

"catalogue.system.node-id": "NODE-ID",
"catalogue.system.version-node-ids": [ "NODE-ID", "NODE-ID" ],

?

#2 Updated by Florian Lier over 5 years ago

"catalogue.system.node.id": "NODE-ID",
"catalogue.system.title": "TITLE",
"catalogue.system.version.node.id": [ "NODE-ID" ],
"catalogue.system.version.title": [ "TITLE" ]

If I am right, a distribution is always a version, e.g, nightly, 0.9, 0.7 so we don't need multiple
version id's per distro. Also, I would like to validate against the title and the NID.

#3 Updated by Jan Moringen over 5 years ago

Florian Lier wrote:

If I am right, a distribution is always a version, e.g, nightly, 0.9, 0.7 so we don't need multiple version id's per distro.

Right. We don't have to use arrays then:

"catalogue.system.node.id": "NODE-ID",
"catalogue.system.title": "TITLE",
"catalogue.system.version.node.id": "NODE-ID",
"catalogue.system.version.title": "TITLE" 

#4 Updated by Florian Lier over 5 years ago

I added the fields to the toolkit-nightly master and the rsb-java project.
Syntax is as follows:

"catalogue.system.node.id":            "0",
"catalogue.system.title":                 "toolkit",
"catalogue.system.version.node.id": "0",
"catalogue.system.version.title":      "nightly",
"versions": [
        {
            "name":      "master",
            "catalogue.release.title": "master",
            "catalogue.release.nid":   "0",
            "variables": {
                "extra-requires":   [ [ "cmake", "RSBProtocol", "0.11" ],
                                      "@{next-value|[]}" ],
                "maven.properties": [ "pbuf.protoc=/usr/bin/protoc",
                                      "pbuf.protopath=${dependency-dir}/share/rsbprotocol0.11",
                                      "spread.daemon=${dependency-dir}/sbin/spread",
                                      "@{next-value|[]}" ]
            }
        },
        {
            "name":      "0.10",
            "catalogue.release.title": "0.10",
            "catalogue.release.nid":   "0",
                "variables": {
                "extra-requires":   [ [ "cmake", "RSBProtocol", "0.10" ],
                                      "@{next-value|[]}" ],
                "maven.properties": [ "pbuf.protoc=/usr/bin/protoc",
                                      "pbuf.protopath=${dependency-dir}/share/rsbprotocol0.10",
                                      "spread.daemon=${dependency-dir}/sbin/spread",
                                      "@{next-value|[]}" ]
            }
        },

#5 Updated by Florian Lier over 5 years ago

I just realised we can provide the NID's for releases aka "branches" more easily, e.g,:

"branches":                   [ "master", "0.10", "0.9" ],
"catalogue.release.nid:   [ "234", "235", "236" ],

The title for the release is then $projectname-$branches[idx]

That way, we can omit filling out these values for the "version" field.

#6 Updated by Florian Lier about 4 years ago

  • Status changed from New to Closed

We should document mandatory fields, the generator and the sync tool are implicitly validating recipes now.

Also available in: Atom PDF