modules/core/domain/intentional-api-changes-since-4.4.0.xml | 22 ++++++++++
modules/core/plugin-api/intentional-api-changes-since-4.4.0.xml | 15 ++++++
modules/enterprise/server/jar/intentional-api-changes-since-4.4.0.xml | 14 ++++++
modules/enterprise/server/jar/pom.xml | 10 ++++
modules/plugins/database/intentional-api-changes-since-4.4.0.xml | 14 ++++++
modules/plugins/jboss-as-5/intentional-api-changes-since-4.4.0.xml | 16 +++++++
pom.xml | 10 ++++
7 files changed, 100 insertions(+), 1 deletion(-)
New commits:
commit dad63bee36143bd4619e62c924cf34b0d65f4f8e
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Thu Sep 20 15:28:13 2012 +0200
[BZ 803737] - Adding the ignore rules for intentional API changes (apart from AS7
plugin that I leave for other to investigate and fill in).
diff --git a/modules/core/domain/intentional-api-changes-since-4.4.0.xml
b/modules/core/domain/intentional-api-changes-since-4.4.0.xml
new file mode 100644
index 0000000..6d70888
--- /dev/null
+++ b/modules/core/domain/intentional-api-changes-since-4.4.0.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<differences>
+ <difference>
+
<className>org/rhq/core/domain/configuration/ObfuscatedPropertySimple</className>
+ <differenceType>7004</differenceType><!-- number of args changed
-->
+ <method>void *obfuscate()</method>
+ <justification>Protected methods used only by JPA and other internal logic.
It is not visible or supposed to be used outside of this class.</justification>
+ </difference>
+ <difference>
+
<className>org/rhq/core/domain/configuration/ObfuscatedPropertySimple</className>
+ <differenceType>7006</differenceType><!-- return type changed
-->
+ <method>void *obfuscate()</method>
+ <to>java.lang.String</to>
+ <justification>Protected methods used only by JPA and other internal logic.
It is not visible or supposed to be used outside of this class.</justification>
+ </difference>
+ <difference>
+ <className>**/*</className>
+ <differenceType>6003</differenceType><!-- value of compile-time
constant changed -->
+ <field>*</field>
+ <justification>The constants we declare on the domain objects are not
supposed for public consumption.</justification>
+ </difference>
+</differences>
diff --git a/modules/core/plugin-api/intentional-api-changes-since-4.4.0.xml
b/modules/core/plugin-api/intentional-api-changes-since-4.4.0.xml
new file mode 100644
index 0000000..33dd783
--- /dev/null
+++ b/modules/core/plugin-api/intentional-api-changes-since-4.4.0.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<differences>
+ <difference>
+
<className>org/rhq/core/pluginapi/inventory/ResourceContext</className>
+ <differenceType>7004</differenceType><!-- number of args changed
-->
+ <method>ResourceContext(*)</method>
+ <justification>Instances of this class are provided by the API, it is not
supposed to be instantiated by users.</justification>
+ </difference>
+ <difference>
+
<className>org/rhq/core/pluginapi/upgrade/ResourceUpgradeContext</className>
+ <differenceType>7004</differenceType><!-- number of args changed
-->
+ <method>ResourceUpgradeContext(*)</method>
+ <justification>Instances of this class are provided by the API, it is not
supposed to be instantiated by users.</justification>
+ </difference>
+</differences>
diff --git a/modules/enterprise/server/jar/intentional-api-changes-since-4.4.0.xml
b/modules/enterprise/server/jar/intentional-api-changes-since-4.4.0.xml
new file mode 100644
index 0000000..743c970
--- /dev/null
+++ b/modules/enterprise/server/jar/intentional-api-changes-since-4.4.0.xml
@@ -0,0 +1,14 @@
+<differences>
+ <difference>
+
<className>org/rhq/enterprise/server/content/RepoManagerRemote</className>
+ <differenceType>7012</differenceType><!-- method added to an
interface -->
+ <method>byte[] getPackageVersionBytes(org.rhq.core.domain.auth.Subject, int,
int)</method>
+ <justification>Adding a method to a remote API interface is safe. This class
is never to be implemented by users.</justification>
+ </difference>
+ <difference>
+
<className>org/rhq/enterprise/server/measurement/MeasurementDataManagerRemote</className>
+ <differenceType>7012</differenceType><!-- method added to an
interface -->
+ <method>java.util.Set findLiveDataForGroup(org.rhq.core.domain.auth.Subject,
int, int[], int[])</method>
+ <justification>Adding a method to a remote API interface is safe. This class
is never to be implemented by users.</justification>
+ </difference>
+</differences>
diff --git a/modules/enterprise/server/jar/pom.xml
b/modules/enterprise/server/jar/pom.xml
index 4efad25..0a067fe 100644
--- a/modules/enterprise/server/jar/pom.xml
+++ b/modules/enterprise/server/jar/pom.xml
@@ -916,6 +916,16 @@
<include>**/*Remote</include>
<include>**/ServerVersion</include>
</includes>
+ <ignored>
+ <!-- This is intentionally ignored in any version of RHQ. We never
+ even report it. -->
+ <difference>
+ <className>**/ServerVersion</className>
+ <differenceType>6003</differenceType> <!-- Constant
field value changed -->
+ <field>namespace</field>
+ <justification>The namespace changes with every version, so this
is definitely an intentional change.</justification>
+ </difference>
+ </ignored>
</configuration>
</plugin>
</plugins>
diff --git a/modules/plugins/database/intentional-api-changes-since-4.4.0.xml
b/modules/plugins/database/intentional-api-changes-since-4.4.0.xml
new file mode 100644
index 0000000..d1f007a
--- /dev/null
+++ b/modules/plugins/database/intentional-api-changes-since-4.4.0.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<differences>
+ <difference>
+ <className>org/rhq/plugins/database/DatabaseQueryUtility</className>
+ <differenceType>7009</differenceType><!-- decreased visibility
-->
+ <method>DatabaseQueryUtility()</method>
+ <justification>This is a static utility class, so holding a reference to it
doesn't make sense. People should correct their code if they did
so.</justification>
+ </difference>
+ <difference>
+
<className>org/rhq/plugins/database/DatabaseQueryUtility$StatementParameter</className>
+ <differenceType>8001</differenceType><!-- class removed -->
+ <justification>Removed an unused class.</justification>
+ </difference>
+</differences>
diff --git a/modules/plugins/jboss-as-5/intentional-api-changes-since-4.4.0.xml
b/modules/plugins/jboss-as-5/intentional-api-changes-since-4.4.0.xml
new file mode 100644
index 0000000..a6fa4c9
--- /dev/null
+++ b/modules/plugins/jboss-as-5/intentional-api-changes-since-4.4.0.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<differences>
+ <difference>
+ <className>org/rhq/plugins/jbossas5/Ejb2BeanComponent</className>
+ <differenceType>7004</differenceType><!-- number of arguments changed
-->
+ <method>org.jboss.managed.api.ManagedComponent
getManagedComponent()</method>
+ <justification>
+ This difference is due to fixes applied for bug 835113. The old method signature
cannot be added back because it would re-introduce the problem fixed by bug 835113.
+ This method is just protected so it is not visible (or available for use)
outside of inheriting classes.
+ Also, this method is just an override for a base method from
ManagedComponentComponent. The base class, ManagedComponentComponent, still has both
methods available for use.
+ The fix for bug 835113 had the Ejb2BeanComponent override a different base
method.
+
+ Based on this, no action to be taken for this difference.
+ </justification>
+ </difference>
+</differences>
diff --git a/pom.xml b/pom.xml
index 61343ef..b1a59d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -191,6 +191,10 @@
<!-- a default value for the child modules indicating that the module is not
part of our public API and is therefore not API-checked. -->
<rhq.internal>true</rhq.internal>
+
+ <!-- The name of the file in the module's root dir that contains the
intentional
+ api changes to be ignored by Clirr api checks -->
+
<intentional-api-changes-file>intentional-api-changes-since-${signature-check-base-version}.xml</intentional-api-changes-file>
</properties>
@@ -1373,8 +1377,12 @@
</comparisonArtifacts>
<logResults>true</logResults>
<xmlOutputFile>${project.build.directory}/${project.build.finalName}.signature-check.xml</xmlOutputFile>
- <failOnError>false</failOnError>
+ <failOnError>true</failOnError>
+ <failOnWarning>true</failOnWarning>
<skip>${rhq.internal}</skip>
+ <!-- note that this is only available in clirr maven plugin
2.5, but internally we use a patched version for our CI builds.
+ Once new Clirr maven plugin is released, this will work for
you, too. -->
+
<ignoredDifferencesFile>${intentional-api-changes-file}</ignoredDifferencesFile>
</configuration>
</execution>
</executions>
Show replies by date