IdrisTheDragon opened a new issue, #1964:
URL: https://github.com/apache/buildstream/issues/1964

   When writing a new plugin e.g.:
   
   my-plugin.py
   ```
   from buildstream import BuildElement
   
   class MyPluginElement(BuildElement):
       BST_MIN_VERSION = "2.2"
   
   def setup():
       return MyPluginElement
   ```
   
   my-plugin.yaml
   ```
   variables:
      my_var: "some value"
   
   config:
       install-commands:
           - echo "Installing a file to %{install-root}"
    public:
      bst:
        split-rules:
          integration-commands:
             - echo "integrating artifacts"
          devel:
            - /my/custom/development/paths
   ```
   
   The public section of the YAML is ignored by Buildstream.
   
   Instead it's required to go via the python API:
   
   ```python
   from buildstream import BuildElement
   
   class MyPluginElement(BuildElement):
       BST_MIN_VERSION = "2.2"
   
       def assemble(self, sandbox):
           collectdir = super().assemble(sandbox)
   
           bstdata = self.get_public_data("bst")
           bstdata["integration-commands"] = [ 'echo "integrating artifacts" ' ]
           bstdata["split-rules"] = {
               "devel" : [ " /my/custom/development/paths" ]
           }
           self.set_public_data("bst", bstdata)
   
           return collectdir
   
   def setup():
       return MyPluginElement
   ````
   
   Proposed solutions from @gtristan 
    
    It should either (A) Be supported or (B) Trigger a validation error at load 
time
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to