pluginInfo.setDescription(pluginInformationReader.getDescription().orElseGet(pluginInfo::getDescription)); pluginInfo.setDescriptionKey(pluginInformationReader.getDescriptionKey().orElseGet(pluginInfo::getDescriptionKey)); pluginInfo.setVersion(pluginInformationReader.getVersion().orElseGet(pluginInfo::getVersion));
/** * Extract a PluginInformation from the Manifest of a jar containing an OSGi bundle. * * @param manifest the manifest to parse. * @return the parsed PluginInformation. */ @Internal public static PluginInformation extractOsgiPluginInformation(final Manifest manifest, final boolean requireVersion) { final String bundleVersion = requireVersion ? getValidatedAttribute(manifest, Constants.BUNDLE_VERSION) : getAttributeWithoutValidation(manifest, Constants.BUNDLE_VERSION); final String bundleVendor = getAttributeWithoutValidation(manifest, Constants.BUNDLE_VENDOR); final String bundleDescription = getAttributeWithoutValidation(manifest, Constants.BUNDLE_DESCRIPTION); final PluginInformation pluginInformation = new PluginInformation(); pluginInformation.setVersion(bundleVersion); pluginInformation.setDescription(bundleDescription); pluginInformation.setVendorName(bundleVendor); // OSGi plugins require execute Java. pluginInformation.setPermissions(ImmutableSet.of(PluginPermission.EXECUTE_JAVA)); return pluginInformation; }
private PluginInformation createPluginInfo(ShallowConnectAddon addon) { PluginInformation pluginInfo = new PluginInformation(); pluginInfo.setDescription(addon.getDescription()); pluginInfo.setVendorName(addon.getVendor().getName()); pluginInfo.setVendorUrl(addon.getVendor().getUrl()); pluginInfo.setVersion(addon.getVersion()); pluginInfo.addParameter(PARAM_ATLASSIAN_CONNECT_INFO, "true"); if (addon.getEnableLicensing()) { pluginInfo.addParameter(PARAM_ATLASSIAN_LICENSING_ENABLED, "true"); } addPluginInfoParameterForPagesIfDeclared(pluginInfo, addon.getKey()); return pluginInfo; }
private PluginInformation createPluginInfo(ConnectAddonBean addon) { PluginInformation pluginInfo = new PluginInformation(); pluginInfo.setDescription(addon.getDescription()); pluginInfo.setVendorName(addon.getVendor().getName()); pluginInfo.setVendorUrl(addon.getVendor().getUrl()); pluginInfo.setVersion(addon.getVersion()); pluginInfo.addParameter(PARAM_ATLASSIAN_CONNECT_INFO, "true"); if (addon.getEnableLicensing()) { pluginInfo.addParameter(PARAM_ATLASSIAN_LICENSING_ENABLED, "true"); } addPluginInfoParameterForPageIfDeclared(pluginInfo, PARAM_CONFIGURE_URL, addon, new ConfigurePageModuleMeta().getDescriptorKey()); addPluginInfoParameterForPageIfDeclared(pluginInfo, PARAM_POST_INSTALL_URL, addon, new PostInstallPageModuleMeta().getDescriptorKey()); return pluginInfo; }