Memnarch / Delphinus

An alternative Packagemanager for the Delphi-IDE
Mozilla Public License 2.0
235 stars 64 forks source link

What would it take to implement support for SVN and/or private repositories #18

Closed TommiPrami closed 8 years ago

TommiPrami commented 8 years ago

Now the even with group projects installing the changed components and installing them hard and error prone and so.

I would need SVN support for our private repository. But nevertheless what is what or where your repository is, would be cool to have possible to maintain maybe own in-house copy of the project or install in house components more than less automated way.

Memnarch commented 8 years ago

Hi, My plan is to at support for local Folder-Based repositories with the option to mirror Packages from Online to local(Local can be anywhere, even UNC then) just like in Nuget. This allows to setup a share for Developers where all packages are stored which are required for your environment.

As i have finished my websetup, i am currently in 2 featurebranches. One being complete, but must be livetested(RawFiles) and one i am working on (Tests and refactoring). After this i plan to write the commandline. (i plan to add UNC/Folder support in this stage).

EDIT: Delphinus uses Github since it supports a quite string WebApi which allows me to setup and provide a global Packagelist with ease. Everything else is (more or less) Github agnostic. But i think by supporting svn you mean supporting local repositories?

About private Repositories: I haven't tested it with github but i BELIEVE if you add a private repository to my search it is only listed for users with teh specific rights to access it. So users with permission will see it in Delphinus and users without will not. But as i said, this is completely untested. Might work, Might not work that way.

If you have any question, feel free to ask me.

Memnarch commented 8 years ago

if you want to mod delphinus for your local packages right now, i suggest you take a look into: https://github.com/Memnarch/Delphinus/blob/master/DN.PackageProvider.GitHub.pas

If you implement your own Packageprovider, you can use that one instead of the Github one. Your Packageprovider must implement the providing/building of the IDNPackages and implement the Download method which in return gives a path to a Folder where the files are stored.

Important: It is expected that the returned path is a Temporary folder and is deleted by the setup! So on Download i suggest to copy the package files from your storage to a local tempfolder first ;)