|
|
Home » Developing U++ » U++ Developers corner » UppHub
UppHub [message #55542] |
Fri, 20 November 2020 17:37 |
|
mirek
Messages: 14162 Registered: November 2005
|
Ultimate Member |
|
|
This will be both development thread and the testing data...
UPPHUB_BEGIN
{
"nests": [
{ "name": "URR",
"packages": [ "Urr" ],
"description": "Simple UDP Request-Response protocol",
"repository": "https://github.com/mirek-fidler/urr.git",
"status": "stable",
"category": "networking",
"readme": "https://raw.githubusercontent.com/mirek-fidler/urr/master/README.md"
},
{ "name": "Turtle",
"packages": [ "Turtle"],
"description": "Provides HTML5 web application with U++ plain GUI code",
"repository": "https://github.com/mirek-fidler/Turtle.git",
"status": "experimental",
"category": "networking",
"readme": "https://raw.githubusercontent.com/mirek-fidler/Turtle/master/README.md"
},
{ "url": "https://www.ultimatepp.org/forums/index.php?t=msg&goto=55566&#msg_55566"
}
]
}
UPPHUB_END
[Updated on: Thu, 28 January 2021 13:27] Report message to a moderator
|
|
|
Re: Uppiverse [message #55568 is a reply to message #55542] |
Sun, 22 November 2020 14:00 |
|
mirek
Messages: 14162 Registered: November 2005
|
Ultimate Member |
|
|
The very first experiment implemented in theide. I would like some sanity check by community before refining the issue.
Uppiverse is meant to be a decentralized system of independently developed U++ modules.
The idea for now is that such a module is an U++ nest somewhere on github (or another git repo, will probably add svn support in time). Then there are declaration files which are placed somewhere on the net (later probably in files), in the extreme it can even be a forum post as demonstated by this message thread and another one, "uppiverse2".
Declaration file is basically a json that declares that there is a repo with U++ nest, its name, description, packages, repo url AND (the important twist..) it also contains links to other declaration files (that is the one in uppiverse2 message thread for now).
Another element is "uppiverse" folder on development machine, that is where these nests are cloned. uppiverse folder can be set in assembly or left empty for default uppiverse (which is then set in theide settings or if empty is ConfigFile("uppiverse"). Integration of these cloned nests with current system is then trivial: all folders in uppiverse folder are simply added at then end of list of assembly nests.
I guess this is the basic description of current status. In theide trunk, in setup menu, there is a new very preliminary "Install Uppiverse package(s).." entry to test this, it really now just loads the links from the forum uppiverse2 message thread (will be changed later).
A lot is to be polished and resolved, the one relatively difficult thing is that uppiverse should be somehow activated when on loading the main package some package is missing. There are also issues with possible nameclashes, I think the best solution is to declare any nest that would introduce a package nameclash ill-formed and reject its installation (more specifically, remove it after installation).
Also, if you do not like "uppiverse", I absolutely welcome suggestions for a better name!
[Updated on: Sun, 22 November 2020 14:00] Report message to a moderator
|
|
|
Re: Uppiverse [message #55581 is a reply to message #55568] |
Sun, 22 November 2020 22:54 |
|
Klugier
Messages: 1086 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Mirek,
We should support not only branch name but tag (common approach for creating library release) and commit. Basing on branch is risky especially on master it can break anytime.
Do you plan to pull on build? As I wrote before branch could change anytime
Maybe we should try removing i from "uppverse" or "uverse" (Ultimate universe). My other proposition is "upm" (Ultimate package manager) very similar to umk. We could collect proposition and make final decision basing on poll.
Klugier
U++ - one framework to rule them all.
[Updated on: Sun, 22 November 2020 23:00] Report message to a moderator
|
|
|
|
|
|
Re: Uppiverse [message #55613 is a reply to message #55568] |
Mon, 23 November 2020 23:51 |
Oblivion
Messages: 1143 Registered: August 2007
|
Senior Contributor |
|
|
Hello Mirek,
Wouldn't it be better to develop a standalone console app ("uppget", as per Klugier's suggestion) that will take some arguments and output the results in human or machine readable format? (Similar to any other CLI tool)
It can be run as a separate process and its output can be parsed by theIDE (as it is done with svn or git, for example).
This may simplify the development of this concept and reduce the risk of breaking theIDE.
Not to mention users can directly run it on CLI if they wish. And this way we can allow some batch operations if needed.
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Mon, 23 November 2020 23:52] Report message to a moderator
|
|
|
Re: Uppiverse [message #55614 is a reply to message #55613] |
Tue, 24 November 2020 00:23 |
|
mirek
Messages: 14162 Registered: November 2005
|
Ultimate Member |
|
|
Oblivion wrote on Mon, 23 November 2020 23:51Hello Mirek,
Wouldn't it be better to develop a standalone console app ("uppget", as per Klugier's suggestion) that will take some arguments and output the results in human or machine readable format? (Similar to any other CLI tool)
It can be run as a separate process and its output can be parsed by theIDE (as it is done with svn or git, for example).
This may simplify the development of this concept and reduce the risk of breaking theIDE.
Not to mention users can directly run it on CLI if they wish. And this way we can allow some batch operations if needed.
Best regards,
Oblivion
I think in time this will have to happen. But for me for now it is easier to develop it integrated with theide.
[Updated on: Tue, 24 November 2020 00:23] Report message to a moderator
|
|
|
|
Re: Uppiverse [message #55740 is a reply to message #55674] |
Sun, 06 December 2020 18:58 |
|
Klugier
Messages: 1086 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Mirek,
I obtains following error when trying to download UppHub package:
The problem here is that ssh access to git requires additional configuration. In our case when ssh failed we should reswitch to http and clone using following command:
git clone https://github.com/mirek-fidler/urr.git
Also, I think https way is much more safer as default clone strategy rather than ssh as it doesn't require any additional configuration. We could also think about adding ssh fail-back if https failed.
Klugier
U++ - one framework to rule them all.
[Updated on: Sun, 06 December 2020 18:59] Report message to a moderator
|
|
|
Re: Uppiverse [message #55742 is a reply to message #55740] |
Sun, 06 December 2020 20:40 |
Novo
Messages: 1378 Registered: December 2006
|
Ultimate Contributor |
|
|
Same with me.
I'm also wondering why it is cloning into .config/u++/ide/ ...
My .config is shared between several projects.
And this is not the place where I keep my source code ...
Regards,
Novo
|
|
|
|
|
Re: Uppiverse [message #55747 is a reply to message #55745] |
Mon, 07 December 2020 02:50 |
Novo
Messages: 1378 Registered: December 2006
|
Ultimate Contributor |
|
|
mirek wrote on Sun, 06 December 2020 18:26
Then change it in settings....
Nothing happens when I press a Settings button ...
Quote:
Suggest a better default place?
Mirek
Next to MyApps ...
I'd call it "External", or "ExtCode", or "ExtApps" ...
Regards,
Novo
|
|
|
Re: Uppiverse [message #55748 is a reply to message #55747] |
Mon, 07 December 2020 03:05 |
Novo
Messages: 1378 Registered: December 2006
|
Ultimate Contributor |
|
|
I do not know what is hidden behind the Settings button, but I'd like to recommend to take a look at vim-plug - Minimalist Vim Plugin Manager. It is extremely popular (21K stars).
It allows to use settings below with each module.
Option Description
branch/tag/commit Branch/tag/commit of the repository to use
rtp Subdirectory that contains Vim plugin
dir Custom directory for the plugin
as Use different name for the plugin
do Post-update hook (string or funcref)
on On-demand loading: Commands or <Plug>-mappings
for On-demand loading: File types
frozen Do not update unless explicitly specified
Besides of that it has a lot of optimizations, like it doesn't fetch whole history from git, just the last revision.
There is much more than just that.
IMHO, it makes sense to adapt this workflow.
Regards,
Novo
|
|
|
Re: Uppiverse [message #55750 is a reply to message #55747] |
Mon, 07 December 2020 05:14 |
Novo
Messages: 1378 Registered: December 2006
|
Ultimate Contributor |
|
|
Novo wrote on Sun, 06 December 2020 20:50
Next to MyApps ...
I'd call it "External", or "ExtCode", or "ExtApps" ...
Or next to Upp itself ...
Regards,
Novo
|
|
|
|
|
Re: Uppiverse [message #55936 is a reply to message #55934] |
Tue, 05 January 2021 11:27 |
|
Klugier
Messages: 1086 Registered: September 2012 Location: Poland, Kraków
|
Senior Contributor |
|
|
Hello Xemuth,
I was thinking about it. I think we should use one of the icon available in Silk Icons to be compatible with the rest of upp/ide icons.
I was searching for container, but without luck. Maybe anchor or box (box that keeps bricks)? Please view this image and propose your favorite option.
Klugier
U++ - one framework to rule them all.
[Updated on: Tue, 05 January 2021 11:28] Report message to a moderator
|
|
|
|
Goto Forum:
Current Time: Sat Dec 14 14:25:26 CET 2024
Total time taken to generate the page: 0.03871 seconds
|
|
|