The problem with the current way is that you have to remember the links of the different features. Instead we could manage a repo where does links could be entered. This way we could simply search them by name. Interesting extensions to this feature are also provided on the Karaf mailing list including commands to download the kar files but not installing them (download them while you're online, but install/uninstall them while you're offline)

Some additional idea on the mailing list was to make the features available without versions. This means you can either install a feature without any version (repo:install xyz) or with a specific version (xyz/1). We can use mvn for this again.

The enterprise repository could be a simply .xml file which is read by karaf and e.g. provided via karaf.apache.org/repository.xml. This xml could follow a structure like:

<repo>
<feature>
<id>standard</id>
<desc>Very basic feature extensions for Karaf such as OBR, SSH and Soring</desc>
<url>mvn:org.apache.karaf/apache-karaf</url>
<!-- Optionally if not using mvn and still want to provide multible versions -->
<versions>

</versions>
</feature>
</repo>
Based on this we can either create a homepage presenting the different features with a short description of the file. The possible versions could be retrieved via maven-metadata.xml. The different features could be retrieved from the features.xml then including a description of each feature.

A different method could be (if we assume everything is available via maven) to query some maven repos for classifier:features which should return all feature files in all versions from all artifacts. I think we should be able to create such a list quite efficient (if the m2 repos react fast enough and are indexed) to create this at runtime using a command such as repo:listfeatures

  • No labels