Jump to content

Project Infinity Brainstorming


lynx

Recommended Posts

On 6/21/2019 at 4:32 AM, Mike1072 said:

I think Alien's tool is currently written in PowerShell, not C#.

On 6/21/2019 at 5:07 AM, AL|EN said:

Yep, mostly Powershell which is also cross-platform and open source. The cross-platform GUI part will be done when all major features will be implemented and tested (we can see what's work and what's not), the one which left are EET suport and conflicts + dependencies.

"conflicts + dependencies" is no minor feat, that's why I keep bringing up existing package managers that have had this solved for ages. In that sense python would be a better choice than powershell, but maybe there are some written in csharp too (eg. the windows contenders like chocolatey, nuget?).

Link to comment
On 6/21/2019 at 3:14 PM, lynx said:

"conflicts + dependencies" is no minor feat, that's why I keep bringing up existing package managers that have had this solved for ages. In that sense python would be a better choice than powershell, but maybe there are some written in csharp too (eg. the windows contenders like chocolatey, nuget?).

That's way off-topic, if you want discussion about this, please create new thread and explain the idea and how you see it being implemented.

Link to comment

The whole point is that it doesn't need to be implemented, since it has already been done and done well. It's just about reuse, however it can affect the packaging format, since every solution comes with its own and it may be a waste of time to change it.

Link to comment

There are two types of dependencies and conflicts, which I aim to support:

Quote

Internal type

conflicts and dependence between internal components of single mod
Example:
Argent77's "Disable Enhanced Edition NPCs" mod
Component "Make NPC-specific items available for everyone" can only be installed if you installed "Disable all NPCs" or disabled each NPC individually.

External type

conflicts and dependence between multiple mods from various authors
Example:
Argent77's "Disable Enhanced Edition NPCs" can't be used together with Pecca's EE content tweaks. Players have to choose one of them.

LongerRoadEE require Ascension. If the player select the first, the second will be also added into existing installation.

Please tell me which package manager can provide such capabilities and how it should be implemented.

Edited by AL|EN
Link to comment

The first part is usually handled in the package itself, for which they include script snippets (I don't think it can be solved in a declarative way, at least in the general case). Whatever BWS had may be sufficient, but you'll know better. Since mods are not to be touched, but the package files have yet to be written, all the info and/or logic needs to be in there.

The external stuff is the usual bread and butter of package managers (conflicts, providers, subdependencies).

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...