Re: Package manager integration with BuildStream



Hi Tristan,

Thanks for the quick reply! I agree that I might have exaggerated some of the
concerns but I was just trying to point out the potential issues.

>  o Either we say that the meaning of the 'directory' configuration
>    for SourceTransforms is the CWD for it to "do it's thing"
>
>  o Or, we have additional configuration for it to "do it's thing"

This is probably going into implementation detail territory, but I am of the
opinion is that an additional configuration might be more clear and explicit
I would expect the `directory` configuration to tell where the output of
SourceTransform should go (with sensible defaults). So if we add an additional
configuration, we can continue using `directory` for that purpose and the new
configuration can be used to override the default value for the directory
where it needs to "do its thing". I'm expecting that implementations of
SourceTransform would come with sensible defaults so it shouldn't be
something that you usually need to override.


> >  Extending this problem, what happens if there are multiple sources
> >  with different destination directories; how do we communicate those
> >  to the final SourceTransform source?

> This is pretty much a domain specific problem, which can be solved in
> ways which are appropriate to the SourceTransform implementation I
> think.
>
> Rather, what examples do you have in mind here ?

This is probably not a common use-case but I was imagining the second case that
you mentioned, i.e. "staging a single build with multiple different
subdirectories with different languages"

> So stage 3 different SourceTransform elements after it, and tell
  each one of them separately where to go and do their thing.

Yes, that's what I was trying to get at, i.e. there has to be a way to tell
each one of them where to "do their thing". But, as discussed above, this can
be a configuration option so this shouldn't be an issue.


One final thing that I forgot to mention in my last message - it may be just
me but I found the name "SourceTransform" a bit confusing. Without any context,
I would have imagined a source that transforms files staged by other sources
(similar to how `patch` works). Since the intent is not to transform files
already staged by other sources, would something like "DependencyManager" be a
more appropriate name for this kind of source or would that make the scope too
narrow for this source kind?


I have also created https://gitlab.com/BuildStream/buildstream/issues/381 on
GitLab to track the implementation of SourceTransform plugin as it seems like
there are not many pending questions at this point.

Cheers,
Chandan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]