blob: 52b337f481f3384191b1a89632aefa8e514f0fc2 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Software Repository Reports</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="Eclipse Foundation, Inc." />
<link rel="stylesheet" type="text/css"
href="/eclipse/eclipse.org-common/stylesheets/visual.css"
media="screen" />
<link rel="stylesheet" type="text/css"
href="/eclipse/eclipse.org-common/stylesheets/layout.css"
media="screen" />
</head>
<body>
<div id="header">
<a href="http://www.eclipse.org/"><img
src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
width="163" height="68" border="0" alt="Eclipse Logo"
class="logo" /> </a>
</div>
<div id="midcolumn">
<h1>Software Repository Reports</h1>
<p>
<strong> The "signing test" is still running </strong> (or
ended abnormally) and it takes a long time. Check back in a
few hours, or monitor the <a
href="https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/">Repository
Aggregation build.</a>
</p>
<p>
The reports are listed in approximate order of priority.
Such as, bundles must not have missing legal files, and all
bundles need to be signed (with few exceptions), and all
bundles must use 4 part version numbers. The remaining
reports are important, and ideally would be "clean", but
normally would not prevent the release, or inclusion in the
common repository. Except where noted, the checks are done
directly are jars in the main common repository directories.
That is, it does not check the "trusted repositories" we
point to via composite indirection. See the <a
href="http://wiki.eclipse.org/SimRel/Simultaneous_Release_Reports_FAQ">
Reports FAQ</a> for more information about the code that
generates the reports.
</p>
<p>Remember, these automated reports test a minimal view of
the repository. For example, a bundle may have an about.html
file, so is not listed in "missing files" report, but that
does not mean the content of the about.html file is correct.
In other words, Committers and Project Leads are still
responsible for correctness -- these reports are more
focused on obvious incorrectness, usually things that happen
by small oversights, and which are often hard to "spot"
until too late. Note too that many of the "errors" these
reports list, can be caught at development time, in Eclipse
IDE, by proper setting of PDE compiler settings.</p>
<p>Also, remember, especially since these reports are "new"
in this context, the reports may contain out-right errors
and will certainly need improvement over time. Contributions
welcome. Please open a bug in cross-project component if you
see problems or have new contributions.</p>
<dl>
<dt>
<a href="reports/layoutCheck.txt">Bundles missing
required files</a>
</dt>
<dd>This report lists bundles and features that are
missing important, required files. It looks directly at
jars in the common repository. (Currently, does not
check those "trusted repositories" we point to via
composite indirection). Missing legal files are usually
considered a "stop ship" issue, since Eclipse is well
known for its IP quality.</dd>
<dt>Unsigned bundles</dt>
<dd>(pending)</dd>
<dt>
<a href="reports/versionPatternCheck.txt">Bundles
and Features not using 4 part versions</a>
</dt>
<dd>To have p2 update correctly and OSGi to resolve
bundles as expected, it is essential that bundles and
features use the required 4 part versioning rules. Every
build.</dd>
<dt>
<a href="reports/licenseConsistency.html">Consistent,
current licenses (SUA) in features</a>
</dt>
<dd>Check to make sure features use the current,
correct license. The report also lists features in
repository with no license (SUA) in the content
metadata. This report uses the repository's content
metadata, instead of the jar files themselves, in
contrast to the "missing files" report, above. Both are
important to be correct, as different parts of Eclipse
code use one or the other to present information to the
user depending on the task.</dd>
<dt>
<a href="reports/breedata.txt">Use and Distribution
of Bundle-RequiredExecutionEnvironment</a>
</dt>
<dd>Interesting report showing what BREEs are in use,
and which bundles are missing it. All bundles with Java
code should have one, but it is not required in
resource-only bundles.</dd>
<dt>
<a href="reports/pack200data.txt">Jars missing
corresponding Pack200 file</a>
</dt>
<dd>Pack200 compression is important to save bandwidth.
This report will never be perfect ... that is, there are
cases where it is known that a jar can not be cleanly
compressed with pack200. But nearly all can. So one or
two from a project should be ignored as "OK" ... but a
pattern of all jars/bundles from a project not being
compressed indicates the project simply has not
implemented that yet in their build or contribution
process.</dd>
<dt>
<a href="reports/featureNames.html">Feature names
report</a>
</dt>
<dd>Check this report for features using incorrect
names or incorrect localization settings. While we can
not automatically know what the correct name of a bundle
is, we can be sure it does not start with '%', and is
not "Feature-Name" or "feature", etc. This test is ran
against the content metadata of the repository.</dd>
<dt>
<a href="reports/bundleNames.html">Bundle names
report</a>
</dt>
<dd>Check this report for bundles using incorrect names
or incorrect localization settings. While we can not
automatically know what the correct name of a bundle is,
we can be sure it does not start with '%', and is not
"Bundle-Name" or "plugin-name", etc. This test is ran
against the content metadata of the repository.</dd>
<dt>
<a href="reports/providerNames.html">Provider name
report</a>
</dt>
<dd>Check for bundles using incorrect provider names
(Bundle-Vendor directive) or incorrect localization
settings. The best form of provider name is "Eclipse
&lt;project name&gt;". Some projects have chosen a
slightly different form, and can not automate every name
check, but, again, we know it should not start with '%',
not be "provider-name" nor be empty (null). This test is
ran against the content metadata of the repository.</dd>
<dt>
<a href="reports/copyrights.html">Feature Copyrights</a>
</dt>
<dd>List copyrights used by Features.</dd>
<dt>
<a href="reports/descriptions.html">Feature
Descriptions</a>
</dt>
<dd>List descriptions used by Features.</dd>
<dt>
<a href="reports/nonUniqueVersions.txt">List of
non-unique versions</a>
</dt>
<dd>List those bundles (technically, IUs) for which
there are multiple versions. It is often quite normal
for there to be multiple versions (e.g. when differ by
major or minor versions), but sometimes looking at the
multiple version report can spot unexpected cases where
there are multiple versions. Even if so, it will usually
not cause problems, but can at least be inefficient use
of space (e.g. if differ only by qualifier).</dd>
<dt>
<a href="reports/versionPatterns.txt">Version
Qualifer Patterns</a>
</dt>
<dd>This is an exploratory report of the the types or
patterns of version qualifers by bundles and features in
the repository. Longer term, this report can be improved
to spot typos and also find bundles or features in the
repository that do not use 4 part versioning. (A report,
above, also detects lack of 4 part versioning, but is
based on jars, found in common directory, rather than
all of content metadata in repository.)</dd>
<dt>
<a href="reports/esdata.txt">Use of
Eclipse-SourceReferences</a>
</dt>
<dd>
List those bundles which are, and which are not, using
the <a
href="http://wiki.eclipse.org/PDE/UI/SourceReferences">Eclipse-SourceReferences</a>
directive and the value of that directive. This
directive (and report) is useful for some projects to
help their community find their source code directly
from their repository (to help make providing patches
easier), but is not useful or appropriate for all
projects. Use the directive, and the report, however
your project deems appropriate and useful.
</dd>
<dt>
<a href="reports/featureDirectoryLengths.html">Feature
Directory Lengths</a>
</dt>
<dd>This is an exploratory report of the length of
feature directories length, if feature was installed,
(not including the .../eclipse/features part of name).
Its purpose it to alert the interested of exceptionally
long feature names, which might cause some issues on
some operating systems. This report is exploratory,
since it is unclear what, if any, should be considered
the maximum length, which depends on many factors. But
... if you are creating new features, it'd be best not
to exceed the typical sizes.</dd>
<dt>Signed bundles exceptions</dt>
<dd>(pending)</dd>
<dt>Correctly signed bundles</dt>
<dd>(pending)</dd>
</dl>
</div>
</body>
</html>