Skip to main content
Jump to: navigation, search

Oomph Repository Analyzer

Revision as of 06:55, 29 August 2019 by Ed.merks.gmail.com (Talk | contribs) (Bad Providers)

Oomph Project Logo.png Powered by Oomph

Description

Oomph's repository analyzer is an application for generating a detailed analysis report of one for more p2 repositories. Oomph's repository-analyzer job illustrates how to use this application to generate reports. It currently generates reports for several of Eclipse's key p2 update sites, including the latest Platform repositories and the latest SimRel repositories. Please use Bug 550361 for feedback.

Page Types

There are three general page types generated.

  • Pages for folders that are not themselves p2 update sites; these are useful only for navigation.
  • Pages for folders that represent a p2 update site with two variants:
    • Pages for composite update sites.
    • Pages for simple update sites.
  • Pages for each installable unit in an update site.

Update Site Pages

An update site page looks will appear as follows:

RepositoryAnalyzerCompositeSitePage.png

In this case, it is a page for a composite p2 repository, so an "XML" section is included For a simple p2 repository, the detailed information about site's content and artifacts is very large and is therefore provide via separate installable unit-specific pages.

In general, sections are expandable via the orange triangle. Some sections support expand all via a second orange triangle after the section title, which appears only after expanding the section itself.

The report will diagnose the specific problems as documented in this wiki in the sections that follow.


Inappropriate Absolute Locations

If the composite site specifies a location using an absolute URI that has the same host as the composite site itself, this is reported as a problem:

RepositoryAnalyzerCompositeSitePageBadAbsoluteLocation.png

Such a design is problematic because it predetermines the scheme the user will use. So a user with problems accessing Eclipse via https-scheme will not be able to load this composite via http-scheme instead. Also, it will not be possible locally on the build server to access this composite purely using file-scheme.


Bad Licenses

There are current 3 valid variants of the Eclipse Software User Agreement. All features and products must use one of these three as their license. Non-conformance is diagnosed as a problem. Detailed information is provided each license and for the installable units (features and products) that use each license.

RepositoryAnalyzerCompositeSitePageBadLicense.png

Under the covers, p2 computes a fingerprint for each license. This is displayed in report and this item can be expanded to show the full license text. The license is matched against one of the 3 valid SUAs and the mismatch is highlighted to show what's wrong.

RepositoryAnalyzerCompositeSitePageBadLicenseDetail.png

Here we see that some type of encoding problem has occurred, and the to-be-deleted text is shown in bold red and the to-be-added text is show in bold green, in a really big font if the mismatch is small.


Unsigned Content

All content distributed from Eclipse must be signed by a valid certificate, preferably a recent one. Unsigned content is diagnosed as a problem and the offending installable units are listed:

RepositoryAnalyzerCompositeSitePageUnsignedContent.png

Certificate details are displayed and each section is expandable to list the installable units that are signed with that certificate. Of course this also provides access to the list of unsigned installable units.


Bad Providers

All content distributed by Eclipse is provided by Eclipse. Features specify the name of the provider and the branding guidelines dictate that Eclipse must always be part of the brand. Any feature that is non-conformant will be diagnosed as a problem:

RepositoryAnalyzerCompositeSitePageBadProvider.png

Back to the top