I'm glad to introduce you first beta version of the OwlyCI - package manager for Delphi. It includes package repository, build helper and generator.

I'm glad to introduce you first beta version of the OwlyCI - package manager for Delphi. It includes package repository, build helper and generator.
Most other languages have central repositories with open-source libraries (like NuGet,CPAN,PEAR and other) and i hope we can make such one for Delphi with your help. It can greatly improve Delphi-software development and give it a second breath.
I would be grateful for your suggestions and comments.
http://owlyci.com

Comments

  1. Thanks, finally it is coming. I have just installed it. Is it only a command line with handy manifest at present?

    ReplyDelete
  2. Yes, there is only command line client now. But i recommend to use automatic manifest generation - it does all work for you.

    ReplyDelete
  3. Alexey Petushkov OK I will try it later.

    ReplyDelete
  4. There are many features i want to implement, but i decide to show earliest version to make progress in-touch with the Delphi community.  This version oriented mostly on programmers familiar with command line, but i sure IDE-integrated version is needed too.

    ReplyDelete
  5. Got it. It would be much great to have a simple to use user interface so that users will see what they can benefit at first glance : )

    ReplyDelete
  6. An error occured when I run owlyci.exe --install libs/Spring4D "Error downloading package: Response from server: HTTP/1.1 401 Unauthorized" So I have to register it before using it?

    ReplyDelete
  7. when I use --register parameter, username & password are required and then I don't know what I should do then. Did I miss something?

    ReplyDelete
  8. As an user (like most others), I am very interested in how can the solution save my time on installing third-party "packages" on my specified IDEs and manage dependencies well. As a publisher, I am interested in whether it is easy to create and manage the repository.

    ReplyDelete
  9. Baoquan Zuo 401, it was my server misconfiguration - forgotten to remove protection, sorry. Now it is okay. Try owlyci.exe --install libs/Spring4D  now.

    ReplyDelete
  10. Registration available via Google auth or Facebook auth (simple email login planing, but is it needed?)

    ReplyDelete
  11. Once registered, you can create your public channel - it is free. Private and dedic channels will be available later

    ReplyDelete
  12. Baoquan Zuo Thanks for your feedback!

    ReplyDelete
  13. Alexey Petushkov It works now and starts downloading but... no progress during the downloading. There are also some errors which I can't locate the issue. (You may try it)

    ReplyDelete
  14. Can you give me output, please ?
    Correct output looks like D:\Temp\40>owlyci --install libs/Spring4D
    Downloading libs/Spring4D
    Installing libs/Spring4D
    Checking for dependecies
    * Packages\DelphiXE\Spring.Base.dpk compiled OK
    * Packages\DelphiXE\Spring.Core.dpk compiled OK
    * Packages\DelphiXE\Spring.Extensions.dpk compiled OK
    * Tests\Spring.Tests.dpr compiled OK
    * Samples\IntroToDependencyInjection\1-StartingOut\StartingOut.dpr compiled OK
    * Samples\IntroToDependencyInjection\2-MoveToInterfaces\MovingToInterfaces.dpr c
    ompiled OK
    * Samples\IntroToDependencyInjection\3-ConstructorInjection\ConstructorInjection
    .dpr compiled OK
    * Samples\IntroToDependencyInjection\4-UseMocks\UseMocks.dpr compiled OK
    * Samples\IntroToDependencyInjection\5-IsolateInterfaces\IsolateInterfaces.dpr c
    ompiled OK
    * Samples\IntroToDependencyInjection\6-UseContainer\UseContainer.dpr compiled OK

    * Samples\IntroToDependencyInjection\7-CustomConstructor\CustomConstructor.dpr c
    ompiled OK
    * Samples\IntroToDependencyInjection\8-FieldInjection\FieldInjection.dpr compile
    d OK
    * Samples\SpringDemos\Demo.Collections\Demo.Spring.Collections.Stack.dpr compile
    d OK
    * Samples\SpringDemos\Demo.Collections\Demo.Spring.Enumerators.dpr compiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\Demo.Spring.ConstructorInjection.
    dpr compiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\Demo.Spring.DelegatedConstructor.
    dpr compiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\Demo.Spring.DependencyInjection.d
    pr compiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\Demo.Spring.FieldInjection.dpr co
    mpiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\Demo.Spring.PropertyInjection.dpr
     compiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\Demo.Spring.SimpleInjection.dpr c
    ompiled OK
    * Samples\SpringDemos\Demo.General\Demo.Spring.Enum.dpr compiled OK
    * Samples\SpringDemos\Demo.General\Demo.Spring.Nullable.dpr compiled OK
    * Samples\SpringDemos\Demo.General\Demo.Spring.ObjectContainer.dpr compiled OK
    * Samples\SpringDemos\Demo.General\Demo.Spring.Predicates.dpr compiled OK
    * Samples\SpringDemos\Demo.DependencyInjection\MultipleImplementations\Demo.Spri
    ng.MultipleImplementations.dpr compiled OK
    * Samples\SpringDemos\Demo.Patterns\Factory\Demo.Spring.FactoryPattern.dpr compi
    led OK
    * Samples\SpringDemos\Demo.Patterns\Observer\Demo.Spring.ObserverPattern.dpr com
    piled OK
    ... package registered succesfully
    ... package registered succesfully
    ... package registered succesfully

    D:\Temp\40>

    ReplyDelete
  15. Alexey Petushkov See http://pastebin.com/tpP7CYm1
    I have installed XE4 field test version.

    ReplyDelete
  16. I see. This package is just not prepared for XE4. I see packages for 2010, XE and XE2 here but not XE3 or XE4.  BTW could you help me fill row in this table http://owlyci.com/docs/versions  for XE4 ?

    ReplyDelete
  17. Try this fork of Spring4D  http://owlyci.com/package/jojoba/Spring4D/1.0.3.12-forXE4

    owlyci.exe --install jojoba/Spring4D;1.0.3.12-forXE4

    I cannot test this, but may work :)

    ReplyDelete
  18. Alexey Petushkov Thanks, it worked. There is a compiler failure due to a breaking change of the Delphi compiler (E2382 Cannot call constructors using instance variables) But I found another issue. Since the packages are runtime only so some errors are reported when starting the IDE. P.S. Did the installer adds browsing paths to the IDE?

    ReplyDelete
  19. Installer fill paths only for .dproj with owlify command. Filling system-wide paths is a bad idea when you want building against different versions and easy rollback on dependency upgrade

    ReplyDelete
  20. What coincidence! yesterday I started to make PCR (Pascal Component Repository) for both Lazarus and Delphi, with same idea (like Maven for Java), but using INI file (instead of XML) as native structured delphi file. you can star by adding torry.net's components, you should try to predict potential future bugs from now!

    ReplyDelete
  21. thanks alaxey.  i'm always planning to do such a work . 
    will u open source ur job?

    ReplyDelete
  22. Alexey Petushkov Yes. You are right. I am just wondering how the tool automatically manage the references/dependencies of my project? (Also use dcu but enabling browsing path when debugging)

    ReplyDelete
  23. Baoquan Zuo I thought Delphi use paths to sources from compiled DCUs, but checkecked now and it is really not. Including browsing path is a good idea, thanks

    ReplyDelete
  24. Ibrahim HALOUANE I keep in mind  Lazarus, but its environment is completely different than Delphi (when talking about generics). It is hard to crosscompile most modern code from Delphi to Lazarus. Also, Lazarus have its own package manager and its nice. So I m not focused on Lazarus right now, may be later  ...
    There are many package installers right now (like a DelphiPI), but a lack of repositories, lack of opensource communities.
    It is hard for users now to find needed library (commercial or free), track changes and keep feedback.

    ReplyDelete
  25. melice huang Not decided yet, which benefits it can bring to project. But server API will be public.

    ReplyDelete
  26. This sounds good, will check it out later. PS, the name OwlyCI to me is kinda not easy to remember...

    ReplyDelete

Post a Comment