buckaroo icon indicating copy to clipboard operation
buckaroo copied to clipboard

File-system dependencies

Open njlr opened this issue 8 years ago • 5 comments

Suppose we have a network drive that hosts some source-code:

+ network-drive
+--+ packages/
   +--+ mathutils/
      +--+ v1.0.0/
         + ...
      +--+ v2.0.0/
         + ...

Then the user could specify a dependency with this information:

{
  name = 'mathutils', 
  path: '//network-drive/packages/mathutils', 
  version: '*'
}

Then Buckaroo would read the file-system to get the folders v1.0.0, v2.0.0, and so on. If the folders match some version name then we can read them as recipe versions.

The lock file would contain the full-path and hash of the code.

This would be particularly useful for companies with legacy VCS, or no VCS at all.

This could also work for URL schemes: https://www.example.com/packages/mathutils/v1.0.0.zip

In the URL case, the user might have to supply a template: https://www.example.com/packages/mathutils/$VERSION.zip. Different formats for semantic-versions could be a problem.

njlr avatar Aug 10 '17 09:08 njlr

Being able to point to local dependencies (e.g. git repos in folders/network drives which have a valid buckaroo.json file) would be a huge benefit! This aids/speed up development and also works for people who can't host the dependency on the big three (GitHub, GitLab, BitBucket) for confidentiality reasons.

gbmhunter avatar Mar 12 '18 23:03 gbmhunter

This should be supported via an alias system (https://github.com/LoopPerfect/buckaroo/issues/166)

njlr avatar Oct 12 '18 16:10 njlr

Should note that Buckaroo Redux will support Git dependencies that are not hosted on The Big Three. These are internally referred to as "AdHoc" dependencies.

njlr avatar Dec 19 '18 18:12 njlr

(Same for HTTP)

njlr avatar Dec 19 '18 18:12 njlr

I think this was implemented? @nikhedonia

njlr avatar Dec 10 '21 20:12 njlr