Additional Libraries Downloader

aeric

Expert
Licensed User
Longtime User
What if there is a tool where you can use to download the missing libraries when you open a project shared by another member?

LibDownloader.png
 
Last edited:

aeric

Expert
Licensed User
Longtime User
I will share the source in a while.
User will need to put the tool to B4J additional library folder.
When a developer is sharing a project example or b4xtemplate, he needs to put a libs.json file inside the Objects folder.
This json file contains the download URL.
When opening a project such as Web API Server, user can click the comment link to run the tool which will check if the required libraries already existed in additional libraries folder, depending they are B4J or B4X.
If a library is missing, the tool will download the file and save inside the folders.
Then the user can refresh the Libraries tab and proceed to run the project.
No need to find where to download the latest version of libraries.
Currently this is an early version. Anyone is welcome to fork the project and make improvements.
 

aeric

Expert
Licensed User
Longtime User
It is now released!
 

Mashiane

Expert
Licensed User
Longtime User
It would help greatly.
Often it's really cumbersome to understand which libraries are missing, finding them and so on.
Wow awesome @aeric. Will surely try this out. This is one area of the b4x toolset that creates headaches, project distribution. I am reminded of a tool I did in 2016 that could help one even analyze their projects, number of code lines, comments etc. Then I was even trying to get to the actual library file. Not even sure if this is working anymore, fortunately the source code is still there on that thread.


Keep changing the world!
 
Last edited:

aeric

Expert
Licensed User
Longtime User
Wow awesome @aeric. Will surely try this out. This is one area of the b4x toolset that creates headaches, project distribution. I am reminded of a tool I did in 2016 that could help one even analyze their projects, number of code lines, comments etc. Then I was even trying to get to the actual library file. Not even sure if this is working anymore, fortunately the source code is still there on that thread.


Keep changing the world!
I have seen your project before but not suitable for my use case.
I usually simplified or refactor my code. I tried my best to make it less lines of code so it is easier to maintain in the future. Less is more. :)

I have the idea to make a tool like npm package manager where developer can download the dependencies based on a json file.
It is always stay as a concept until I took a weekend to create it.
I will try to make it work for B4A and B4i too.
If possible, this tool will able to decompress the b4x library and check the version in manifest.txt to warn the user that a newer version is available.
I always welcome any user to fork and contribute to the code.
 

JakeBullet70

Well-Known Member
Licensed User
Longtime User
This is really nice. I have been thinking about the same thing and would like something like MS NuGet but that would require Erel opening up the IDE for addin - plugin programming as well as a central repository for lib packages. For those who have not used MS NuGet.

In Visual Studio
1. You seach right in the IDE for a 3rd party library.
2. Select it and it downloads and installs.
Thats it, done.

If you then give your source code to someone else and the lib is missing... It will notify the programmer and download and install it automaticlly. Programmer does not have to do anything.

Anyway, nice work @aeric
 

aeric

Expert
Licensed User
Longtime User
This is really nice. I have been thinking about the same thing and would like something like MS NuGet but that would require Erel opening up the IDE for addin - plugin programming as well as a central repository for lib packages. For those who have not used MS NuGet.

In Visual Studio
1. You seach right in the IDE for a 3rd party library.
2. Select it and it downloads and installs.
Thats it, done.

If you then give your source code to someone else and the lib is missing... It will notify the programmer and download and install it automaticlly. Programmer does not have to do anything.

Anyway, nice work @aeric
I can imagine the libraries repositories can be hosted on public server. It can list out all older versions if any version has issue, developer can download the stable version. Users can give star rating and review.
 

JakeBullet70

Well-Known Member
Licensed User
Longtime User
I can imagine the libraries repositories can be hosted on public server. It can list out all older versions if any version has issue, developer can download the stable version. Users can give star rating and review.

👍
 
Top