插件-功能-更新站点

发布于 2024-11-28 15:39:22 字数 664 浏览 4 评论 0原文

我有几个插件,想创建一个很好的更新站点来提供它们。其中一些仅包含核心功能(不会做任何事情,让我们称它们为核心插件),另一些则为最终用户提供一些功能(它们依赖于核心插件,让我们称它们为useme-plugin)。 现在,我已经为每个 useme-plugin 创建了功能。我包含了相应的插件并设置了所有依赖项(核心插件)。 这些功能,我已添加到更新站点。 当我现在尝试安装它们时,我收到核心插件丢失的抱怨:

    Cannot complete the install because one or more required items could not be found.
  Software being installed: Useme-plugin 1.1.0.201108090928 (de.xxx.feature.feature.group 1.1.0.201108090928)
  Missing requirement: Useme-plugin 1.1.0.201108090928 (de.xxx.feature.feature.group 1.1.0.201108090928) requires 'de.xxx.coreplugin 1.1.0' but it could not be found

我做错了什么吗?我不想将核心插件包含到每个用户功能中......或者我必须这样做吗?有人可以帮助我正确地构建它吗?

I have several plugins and would like to create a nice update site to provide them. Some of them only contain core functionality (would not do anything, let's call them core-plugin) and others provide some functionality to the end user (they are dependent on the core plugins, let's call them useme-plugin).
now, I've created features for every useme-plugin. I included the corresponding plugin and set all dependencies (core-plugins).
these features, I've added to an update site.
When I try to install them now, I get complains that core-plugins are missing:

    Cannot complete the install because one or more required items could not be found.
  Software being installed: Useme-plugin 1.1.0.201108090928 (de.xxx.feature.feature.group 1.1.0.201108090928)
  Missing requirement: Useme-plugin 1.1.0.201108090928 (de.xxx.feature.feature.group 1.1.0.201108090928) requires 'de.xxx.coreplugin 1.1.0' but it could not be found

Did I do anything wrong? I don't want to include the core-plugins into every useme-feature... Or do I have to do that? Can anybody help me to structure it correctly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

格子衫的從容 2024-12-05 15:39:22

功能被用于对应作为单个单元安装在目标系统上的相关插件进行分组。因此,一个重要的应用程序通常具有许多功能:

  • 具有应用程序基本功能的主要功能
  • 可选插件功能的许多功能
  • 具有核心功能的许多
  • 功能 具有主要集合的许多功能第 3 方插件

两个或多个功能可以包含相同的插件 - 该插件仍仅存在于目标系统上的一个实例中。在特殊情况下,目标系统上甚至可以存在同一插件的多个不同版本。在其他情况下,不同的功能取决于同一插件的不同版本,您会遇到必须由开发人员解决的冲突。

某个功能还可以包含或依赖于其他功能,在这种情况下,所依赖的功能也必须安装在目标系统上。因此,主要的应用程序功能取决于所需的核心和第三方功能,对于第三方功能也是如此。依赖功能的安装通常会在 p2 中自动进行。 p2 足够智能,可以在安装或更新时仅下载所需的插件...

在运行时,特定插件如何最终出现在目标系统上并不重要,这在您的情况下提供了许多选项。

将插件划分为功能时,必须首先考虑目标系统上所需的应用程序和所需的加载项。只有当您有多个应用程序或插件且每个应用程序或插件都使用核心插件或第三个插件的子集时,事情才会变得非常困难。

您还没有写出您是否有一个应用程序或多个应用程序,因此我假设您有一个应用程序 - 将这个想法扩展到共享一组通用插件的多个应用程序是相当容易的。

您可以通过多种不同的方式解决这个问题。绝对最简单的解决方案是制作单个应用程序功能,并在其中包含 UI、核心和第 3 方插件 - 或多或少按照您的建议进行。如果您只有一个产品并且不希望在其他设置中使用核心插件,那么这种方法效果很好。

通常,您会将功能划分为核心功能和 UI 功能。最常见的原因是 UI 功能被分为不同的功能,以允许最终用户仅安装所需的功能。

因此,在您的情况下,您还可以拥有两个功能:核心功能和应用程序功能,这取决于核心功能。

或者您可以将

  • 核心功能
  • 设置为 UI 功能功能 - 这取决于核心功能、
  • RCP 功能(来自 Eclipse),
  • 而主要应用程序功能则取决于所有其他功能

有很多方法可以做到这一点...

Features are ment to group related plug-ins that should be installed as a single unit on a target system. Thus you normally have a number of features for a non-trivial application:

  • the main feature with the base functionality of the application
  • a number of features for optional add-in functionality
  • a number of features with core functionality
  • a number of features with major collections of 3rd party plug-ins

Two or more features can include the same plug-in - the plug-in will still only exist in one instance on the target system. In special cases, several different versions of the same plug-in can even exist on the target system. In other cases where different features depends on different versions of the same plug-in, you have a conflict that must be resolved by the developer.

A feature can also include or depend other features, in which case, the depended-on features must be installed as well on the target system. Thus the main application feature depends on the needed core and 3rd party features and likewise for 3rd party features. The installation of the depended-on features usually happens automatically with p2. p2 is smart enough to only downloaded needed plug-ins when installing or updating...

At run-time, it does not matter how a specific plug-in ended up on the target system, which gives a number of options in your case.

When dividing plug-ins into features, you must primary consider the wanted applications on the target system and the wanted add-ins. It only gets really difficult when you have multiple applications or add-in that each use a sub-set of the core plug-ins or 3rd plug-ins.

You have not written whether you have a single application or a number of applications, so I assume you have a single application - it is rather easy to extend the idea to multiple applications that share a common set of plug-ins.

You can solve this problem in several different ways. The absolutely most simple solution is to make a single application feature and include the UI, core and 3rd party plug-ins in this - more or less as you suggest. This works fine if you just have a single product and don't expect to use the core plug-ins in other setups.

Often you divide your features to have core and UI features. Most often because the UI functionality is divided into different features to allow the end-user only to install the needed functionality.

So in you case, you can also have two features: the core feature and the application feature, which then depends on the core feature.

Or you can have

  • the core feature
  • a UI functionality feature - that depends on the core feature
  • an RCP feature (from Eclipse)
  • and main application feature that depends on all the other features

There are plenty of ways to do this...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文