diff --git a/pom.xml b/pom.xml
index dd14240f..e4879e30 100644
--- a/pom.xml
+++ b/pom.xml
@@ -109,9 +109,17 @@
pomimport
+
+ org.junit
+ junit-bom
+ 5.11.3
+ pom
+ import
+
+
org.mule.runtime
@@ -133,11 +141,6 @@
-
- junit
- junit
- test
- org.hamcresthamcrest
@@ -149,6 +152,16 @@
pomtest
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-params
+ test
+
diff --git a/src/main/java/org/mule/tools/revapi/ExportPackageFilter.java b/src/main/java/org/mule/tools/revapi/ExportPackageFilter.java
index 72f0fa1c..5582e094 100644
--- a/src/main/java/org/mule/tools/revapi/ExportPackageFilter.java
+++ b/src/main/java/org/mule/tools/revapi/ExportPackageFilter.java
@@ -6,18 +6,21 @@
*/
package org.mule.tools.revapi;
+import static org.mule.tools.revapi.JavaModuleSystemExportedPackages.findJpmsModuleReference;
+
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
+import java.lang.module.ModuleReference;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
+import java.util.Optional;
import java.util.Properties;
import java.util.Set;
-import java.util.function.Function;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
@@ -40,12 +43,10 @@
*/
public final class ExportPackageFilter implements ElementFilter {
- private static final String EXPORTED_CLASS_PACKAGES_PROPERTY = "artifact.export.classPackages";
- private static final String PRIVILEGED_EXPORTED_CLASS_PACKAGES_PROPERTY = "artifact.privileged.classPackages";
private static final Logger LOG = LoggerFactory.getLogger(ExportPackageFilter.class);
- private Map> exportedPackages;
- private Map exportedElements = new HashMap();
+ private final Map> apiModulesExportedPackages = new HashMap<>();
+ private final Map, Boolean> apiExportedElements = new HashMap<>();
@Override
public void close() {}
@@ -54,6 +55,10 @@ private static boolean isVerboseLogging() {
return System.getProperty("mule.revapi.verbose") != null;
}
+ private static String getModuleSystemMode() {
+ return System.getProperty("mule.revapi.moduleSystem.mode", "MULE");
+ }
+
@Override
public String getExtensionId() {
return "mule.module.filter";
@@ -66,84 +71,133 @@ public Reader getJSONSchema() {
@Override
public void initialize(AnalysisContext analysisContext) {
- exportedPackages = new HashMap<>();
- Function> getExportedPackages = api -> {
- Set exportedPackages = new HashSet<>();
- api.getArchives().forEach(a -> addExportedPackages(a, exportedPackages));
- return exportedPackages;
-
- };
-
- exportedPackages.computeIfAbsent(analysisContext.getOldApi(), getExportedPackages);
- exportedPackages.computeIfAbsent(analysisContext.getNewApi(), getExportedPackages);
+ apiModulesExportedPackages.computeIfAbsent(analysisContext.getOldApi(), this::getExportedPackages);
+ apiModulesExportedPackages.computeIfAbsent(analysisContext.getNewApi(), this::getExportedPackages);
}
@Override
public boolean applies(Element element) {
boolean exported;
-
if (element instanceof JavaTypeElement) {
exported = isExported(element);
} else {
TypeElement ownerJavaTypeElement = findOwnerJavaTypeElement(element);
-
exported = isExported(ownerJavaTypeElement);
}
-
if (isVerboseLogging()) {
- LOG.info(exported + " : applies to " + element);
+ logIsExported(element, exported);
}
-
return exported;
}
@Override
public boolean shouldDescendInto(Object element) {
- boolean descendInto = element instanceof Element ? isExported((Element) element) : false;
-
+ boolean descendInto = element instanceof Element && isExported((Element>) element);
if (isVerboseLogging()) {
- LOG.info(descendInto + ": should descend into " + element);
+ LOG.info("{}: should descend into {}", descendInto, element);
}
-
return descendInto;
}
- private TypeElement findOwnerJavaTypeElement(Element element) {
+ private Set getExportedPackages(API api) {
+ Set exportedPackages = new HashSet<>();
+ api.getArchives().forEach(archive -> {
+ if (!addJavaModuleSystemExportedPackages(api, archive, exportedPackages)) {
+ if (!addMuleModuleSystemExportedPackages(archive, exportedPackages)) {
+ LOG.debug("No exported packages found for the archive {}.", archive.getName());
+ }
+ }
+ });
+ if (exportedPackages.isEmpty()) {
+ LOG.debug("No exported packages found for the API {}.", api);
+ }
+ return exportedPackages;
+ }
+
+ private boolean addMuleModuleSystemExportedPackages(Archive archive, Set exportedPackages) {
+ if (isMixedMode() || isMuleMode()) {
+ try (JarInputStream jarFile = new JarInputStream(archive.openStream())) {
+ JarEntry entry;
+ while ((entry = jarFile.getNextJarEntry()) != null) {
+ String name = entry.getName();
+ if (name.equals("META-INF/mule-module.properties")) {
+ Properties properties = getProperties(jarFile);
+ ExportedPackages muleModuleSystemExportedPackages = new MuleModuleSystemExportedPackages(properties);
+ if (isVerboseLogging()) {
+ muleModuleSystemExportedPackages.logExportedPackages();
+ }
+ exportedPackages.add(muleModuleSystemExportedPackages);
+ return true;
+ }
+ }
+ } catch (IOException e) {
+ LOG.debug("Failed to open the archive {} as a jar.", archive.getName(), e);
+ }
+ LOG.debug("No Mule Module System descriptor found for the archive {}.", archive.getName());
+ return false;
+ }
+ return false;
+ }
+
+ private boolean addJavaModuleSystemExportedPackages(API api, Archive archive, Set exportedPackages) {
+ if (isJavaMode() || isMixedMode()) {
+ Optional optionalModuleReference = findJpmsModuleReference(archive);
+ if (optionalModuleReference.isPresent()) {
+ ModuleReference moduleReference = optionalModuleReference.get();
+ if (!moduleReference.descriptor().isAutomatic()
+ // Automatic modules must prioritize MuleModuleSystem descriptors when mode is MIXED.
+ || (isMixedMode() && !addMuleModuleSystemExportedPackages(archive, exportedPackages))) {
+ ExportedPackages javaModuleSystemExportedPackages = new JavaModuleSystemExportedPackages(moduleReference);
+ if (isVerboseLogging()) {
+ javaModuleSystemExportedPackages.logExportedPackages();
+ }
+ exportedPackages.add(javaModuleSystemExportedPackages);
+ }
+ return true;
+ } else {
+ LOG.debug("No Java Module System descriptor found for the archive: {}.", archive.getName());
+ return false;
+ }
+ }
+ return false;
+ }
+
+ private TypeElement findOwnerJavaTypeElement(Element> element) {
while (!(element instanceof JavaTypeElement) || element.getParent() instanceof TypeElement) {
element = element.getParent();
}
-
if (!(element instanceof JavaTypeElement)) {
- throw new IllegalStateException("Cannot find the parent type element for: " + element);
+ throw new IllegalStateException("Cannot find the parent type element for: " + element.getFullHumanReadableString());
}
-
return (TypeElement) element;
}
- private boolean isExported(Element element) {
- if (exportedElements.containsKey(element)) {
- return exportedElements.get(element);
+ private boolean isExported(Element> element) {
+ if (apiExportedElements.containsKey(element)) {
+ return apiExportedElements.get(element);
}
-
boolean exported;
if (!(element instanceof TypeElement)) {
exported = false;
} else {
String packageName = getPackageName((TypeElement) element);
- Set exportDefinitions = exportedPackages.get(element.getApi());
- if (exportDefinitions == null || exportDefinitions.isEmpty()) {
- exported = false;
- } else {
- exported = exportDefinitions.contains(packageName);
- }
+ exported = apiModulesExportedPackages.get(element.getApi()).stream()
+ .anyMatch(exportedPackages -> exportedPackages.isExported(packageName));
}
if (isVerboseLogging()) {
- LOG.info(exported + " : applies to " + element);
+ logIsExported(element, exported);
}
- exportedElements.put(element, exported);
+ apiExportedElements.put(element, exported);
return exported;
}
+ private Properties getProperties(JarInputStream propertiesFile) throws IOException {
+ Properties properties = new Properties();
+ byte[] bytes = getBytes(new BufferedInputStream(propertiesFile));
+ properties.load(new ByteArrayInputStream(bytes));
+ return properties;
+ }
+
private String getPackageName(TypeElement element) {
String canonicalName = findOwnerJavaTypeElement(element).getCanonicalName();
int index = canonicalName.lastIndexOf(".");
@@ -161,47 +215,19 @@ private byte[] getBytes(InputStream is)
return outputStream.toByteArray();
}
- private void addExportedPackages(Archive archive, Set exportedPackages) {
- try (JarInputStream jarFile = new JarInputStream(archive.openStream())) {
- JarEntry entry;
-
- while ((entry = jarFile.getNextJarEntry()) != null) {
- String name = entry.getName();
-
- if (name.equals("META-INF/mule-module.properties")) {
- Properties properties = new Properties();
- byte bytes[] = getBytes(new BufferedInputStream(jarFile));
- properties.load(new ByteArrayInputStream(bytes));
-
- Set standardPackages = getPackagesFromProperty(properties, EXPORTED_CLASS_PACKAGES_PROPERTY);
- exportedPackages.addAll(standardPackages);
- Set privilegedPackages = getPackagesFromProperty(properties, PRIVILEGED_EXPORTED_CLASS_PACKAGES_PROPERTY);
- exportedPackages.addAll(privilegedPackages);
+ private boolean isMixedMode() {
+ return getModuleSystemMode().equals("MIXED");
+ }
- if (isVerboseLogging()) {
- LOG.info("Adding exported packages from: " + jarFile + "\nstandard: " + standardPackages + "\nprivileged: "
- + privilegedPackages);
- }
- }
- }
- } catch (IOException e) {
- LOG.debug("Failed to open the archive " + archive + " as a jar.", e);
- }
+ private boolean isMuleMode() {
+ return getModuleSystemMode().equals("MULE");
}
- private Set getPackagesFromProperty(Properties properties, String propertyName) {
- Set result = new HashSet<>();
- String property = properties.getProperty(propertyName);
- if (property != null) {
- String[] packages = property.split(",");
- for (String packageName : packages) {
- String name = packageName.trim();
- if (!"".equals(name)) {
- result.add(name);
- }
- }
- }
+ private boolean isJavaMode() {
+ return getModuleSystemMode().equals("JAVA");
+ }
- return result;
+ private void logIsExported(Element> element, boolean exported) {
+ LOG.info("{} : applies to {}", exported, element);
}
}
diff --git a/src/main/java/org/mule/tools/revapi/ExportedPackages.java b/src/main/java/org/mule/tools/revapi/ExportedPackages.java
new file mode 100644
index 00000000..d31bfd33
--- /dev/null
+++ b/src/main/java/org/mule/tools/revapi/ExportedPackages.java
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+package org.mule.tools.revapi;
+
+public interface ExportedPackages {
+
+ boolean isExported(String packageName);
+
+ void logExportedPackages();
+}
diff --git a/src/main/java/org/mule/tools/revapi/JavaModuleSystemExportedPackages.java b/src/main/java/org/mule/tools/revapi/JavaModuleSystemExportedPackages.java
new file mode 100644
index 00000000..ad9b56e3
--- /dev/null
+++ b/src/main/java/org/mule/tools/revapi/JavaModuleSystemExportedPackages.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+package org.mule.tools.revapi;
+
+import static java.util.Optional.empty;
+
+import java.io.File;
+import java.lang.module.ModuleFinder;
+import java.lang.module.ModuleReference;
+import java.lang.reflect.Field;
+import java.nio.file.Path;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.revapi.Archive;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class JavaModuleSystemExportedPackages implements ExportedPackages {
+
+ private static final Logger LOG = LoggerFactory.getLogger(JavaModuleSystemExportedPackages.class);
+
+ private final ModuleReference moduleReference;
+
+ public JavaModuleSystemExportedPackages(ModuleReference moduleReference) {
+ this.moduleReference = moduleReference;
+ }
+
+ public static Optional findJpmsModuleReference(Archive archive) {
+ try {
+ ModuleFinder moduleFinder = ModuleFinder.of(getPath(archive));
+ Set moduleReferences = moduleFinder.findAll();
+ if (moduleReferences.size() > 1) {
+ throw new IllegalArgumentException("More than one jpms module found for the archive " + archive.getName() + ": "
+ + getModuleNames(moduleReferences));
+ }
+ if (moduleReferences.isEmpty()) {
+ return empty();
+ } else {
+ return Optional.of(moduleReferences.iterator().next());
+ }
+ } catch (Exception e) {
+ LOG.error("Error while finding modules for archive: {}", archive.getName(), e);
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public boolean isExported(String packageName) {
+ return moduleReference.descriptor().isAutomatic()
+ || moduleReference.descriptor().exports().stream().anyMatch(exports -> exports.source().equals(packageName));
+ }
+
+ @Override
+ public void logExportedPackages() {
+ LOG.info("Adding exported packages from Java Module: {}\nexports: {}", moduleReference.descriptor().name(),
+ moduleReference.descriptor().isAutomatic() ? "ALL (automatic module)" : moduleReference.descriptor().exports());
+ }
+
+ private static Path getPath(Archive archive) {
+ try {
+ Field archiveFile = archive.getClass().getDeclaredField("file");
+ archiveFile.setAccessible(true);
+ return ((File) archiveFile.get(archive)).toPath();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static String getModuleNames(Set moduleReferences) {
+ return moduleReferences.stream().map(moduleReference -> moduleReference.descriptor().name())
+ .collect(Collectors.joining(", "));
+ }
+}
diff --git a/src/main/java/org/mule/tools/revapi/MuleModuleSystemExportedPackages.java b/src/main/java/org/mule/tools/revapi/MuleModuleSystemExportedPackages.java
new file mode 100644
index 00000000..06b7dfe3
--- /dev/null
+++ b/src/main/java/org/mule/tools/revapi/MuleModuleSystemExportedPackages.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+package org.mule.tools.revapi;
+
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MuleModuleSystemExportedPackages implements ExportedPackages {
+
+ private static final String MULE_MODULE_NAME_PROPERTY = "module.name";
+ private static final String EXPORTED_CLASS_PACKAGES_PROPERTY = "artifact.export.classPackages";
+ private static final String PRIVILEGED_EXPORTED_CLASS_PACKAGES_PROPERTY = "artifact.privileged.classPackages";
+
+ private static final Logger LOG = LoggerFactory.getLogger(MuleModuleSystemExportedPackages.class);
+
+ private final Set standardPackages = new HashSet<>();
+ private final Set privilegedPackages = new HashSet<>();
+ private final String moduleName;
+
+ public MuleModuleSystemExportedPackages(Properties muleModuleSystemProperties) {
+ this.moduleName = muleModuleSystemProperties.getProperty(MULE_MODULE_NAME_PROPERTY);
+ Set standardPackages = getPackagesFromProperty(muleModuleSystemProperties, EXPORTED_CLASS_PACKAGES_PROPERTY);
+ Set privilegedPackages =
+ getPackagesFromProperty(muleModuleSystemProperties, PRIVILEGED_EXPORTED_CLASS_PACKAGES_PROPERTY);
+ this.standardPackages.addAll(standardPackages);
+ this.privilegedPackages.addAll(privilegedPackages);
+ }
+
+
+ @Override
+ public boolean isExported(String packageName) {
+ return standardPackages.contains(packageName) || privilegedPackages.contains(packageName);
+ }
+
+ @Override
+ public void logExportedPackages() {
+ LOG.info("Adding exported packages from Mule Module: {}\nstandard: {}\nprivileged: {}", moduleName, standardPackages,
+ privilegedPackages);
+ }
+
+ private Set getPackagesFromProperty(Properties properties, String propertyName) {
+ Set result = new HashSet<>();
+ String property = properties.getProperty(propertyName);
+ if (property != null) {
+ String[] packages = property.split(",");
+ for (String packageName : packages) {
+ String name = packageName.trim();
+ if (!name.isEmpty()) {
+ result.add(name);
+ }
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/src/test/java/org/mule/tools/revapi/AbstractApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/AbstractApiCheckTestCase.java
index 4b47b4f0..98c0a7c2 100644
--- a/src/test/java/org/mule/tools/revapi/AbstractApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/AbstractApiCheckTestCase.java
@@ -32,16 +32,19 @@
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
+import java.util.stream.Stream;
-import io.takari.maven.testing.TestResources;
+import io.takari.maven.testing.TestResources5;
import io.takari.maven.testing.executor.MavenExecutionResult;
import io.takari.maven.testing.executor.MavenRuntime;
-import io.takari.maven.testing.executor.junit.MavenJUnitTestRunner;
+import org.junit.jupiter.api.extension.Extension;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.api.extension.ParameterContext;
+import org.junit.jupiter.api.extension.ParameterResolver;
+import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.extension.TestTemplateInvocationContext;
+import org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider;
-import org.junit.Rule;
-import org.junit.runner.RunWith;
-
-@RunWith(MavenJUnitTestRunner.class)
public abstract class AbstractApiCheckTestCase {
private static final Pattern moduleTitleStart = Pattern.compile("\\[INFO]\\s-+<.*>-+");
@@ -54,27 +57,35 @@ public abstract class AbstractApiCheckTestCase {
private static final String MAVEN_BUILD_ERROR = "[INFO] BUILD FAILURE";
private static final String REVAPI_CHECK = "Revapi check";
- @Rule
- public final TestResources resources = new TestResources();
+ @RegisterExtension
+ final TestResources5 resources = new TestResources5();
private final MavenRuntime mavenRuntime;
- private final String folder;
+ private String folder;
+ private boolean isPromotedApi = false;
public AbstractApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, String folder) throws Exception {
- this(builder, folder, "1.8");
+ this(builder, folder, "17");
+ }
+
+ public AbstractApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, String folder, boolean isPromotedApi)
+ throws Exception {
+ this(builder, folder, "17");
+ this.isPromotedApi = isPromotedApi;
}
public AbstractApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, String folder, String sourceLevel) throws Exception {
this.mavenRuntime = builder.withCliOptions("--batch-mode",
"-Dmaven.repo.local=" + getProperty("maven.repo.local", ""),
"-Dmaven.compiler.source=" + sourceLevel,
- "-Dmaven.compiler.target=" + sourceLevel)
+ "-Dmaven.compiler.target=" + sourceLevel,
+ "-Dmule.revapi.moduleSystem.mode=MULE")
.build();
this.folder = folder;
}
protected void doBrokenApiTest(String projectName, String[]... brokenApiLog) throws Exception {
- MavenExecutionResult result = runMaven(projectName);
+ MavenExecutionResult result = validateMavenProject(projectName, isPromotedApi);
List logLines = getLogLines(result);
@@ -92,7 +103,7 @@ protected void doBrokenApiTest(String projectName, String[]... brokenApiLog) thr
}
protected void doUnmodifiedApiTest(String projectName) throws Exception {
- MavenExecutionResult result = runMaven(projectName);
+ MavenExecutionResult result = validateMavenProject(projectName, isPromotedApi);
List logLines = getLogLines(result);
@@ -105,14 +116,45 @@ protected void doUnmodifiedApiTest(String projectName) throws Exception {
assertThat(reactorSummaryLog, not(hasItem(containsString(MAVEN_BUILD_ERROR))));
}
- private MavenExecutionResult runMaven(String projectName) throws Exception {
+ /**
+ * Executes maven, which will include an API check that takes into account if the project API should be validated as a
+ * standalone API or as a dependency of another API. In case of being validated as a dependency, a non-breaking API will be used
+ * as the main one.
+ *
+ * @param projectName The name of the project to validate.
+ * @param isPromotedApi True when the API should be validated as a dependency.
+ * @return The {@link MavenExecutionResult}.
+ * @throws Exception In case of maven fatal errors.
+ */
+ private MavenExecutionResult validateMavenProject(String projectName, boolean isPromotedApi) throws Exception {
+ MavenExecutionResult result;
+ if (isPromotedApi) {
+ // We need both API versions to be built. The we can use them as dependencies that should be promoted.
+ result = runMaven(projectName, "-Drevapi.skip=true");
+ // We do not need an intermediate folder: The promotedApi project is the same one for all the tests.
+ this.folder = "";
+ // This time we do the validation.
+ result = runMaven("promotedApi", isNewArtifactSnapshotVersion(result) ? "-DnewDependencyVersion=1.0.1-SNAPSHOT"
+ : "-DnewDependencyVersion=1.0.1");
+ } else {
+ result = runMaven(projectName);
+ }
+ return result;
+ }
+
+
+ private boolean isNewArtifactSnapshotVersion(MavenExecutionResult result) {
+ return result.getLog().stream().anyMatch(s -> s.contains("Building Foo Module 1.0.1-SNAPSHOT"));
+ }
+
+ private MavenExecutionResult runMaven(String projectName, String... additionalCliOptions) throws Exception {
// To reuse a parent pom, it has to be manually copied to the expected folder
Path parentPomFile = Paths.get(getProperty("user.dir"), "src/test/projects/parent/pom.xml");
Path parentProjectFolder = new File(resources.getBasedir().getParent(), "parent").toPath();
copy(parentPomFile, Paths.get(createDirectories(parentProjectFolder).toString(), "pom.xml"), REPLACE_EXISTING);
File basedir = resources.getBasedir(folder + separator + projectName);
- return mavenRuntime.forProject(basedir).execute("install");
+ return mavenRuntime.forProject(basedir).withCliOptions(additionalCliOptions).execute("install");
}
private Map> splitLog(List logLines) {
@@ -208,4 +250,48 @@ private List getLogLines(MavenExecutionResult result) {
}
return log;
}
+
+ public static class ApiCheckTestCaseContextProvider
+ implements TestTemplateInvocationContextProvider {
+
+ @Override
+ public boolean supportsTestTemplate(ExtensionContext context) {
+ return true;
+ }
+
+ @Override
+ public Stream provideTestTemplateInvocationContexts(
+ ExtensionContext context) {
+
+ return Stream.of(invocationContext(true), invocationContext(false));
+ }
+
+ private TestTemplateInvocationContext invocationContext(boolean parameter) {
+ return new TestTemplateInvocationContext() {
+
+ @Override
+ public String getDisplayName(int invocationIndex) {
+ return "isPromotedAPI: " + parameter;
+ }
+
+ @Override
+ public List getAdditionalExtensions() {
+ return Collections.singletonList(new ParameterResolver() {
+
+ @Override
+ public boolean supportsParameter(ParameterContext parameterContext,
+ ExtensionContext extensionContext) {
+ return parameterContext.getParameter().getType().equals(boolean.class);
+ }
+
+ @Override
+ public Object resolveParameter(ParameterContext parameterContext,
+ ExtensionContext extensionContext) {
+ return parameter;
+ }
+ });
+ }
+ };
+ }
+ }
}
diff --git a/src/test/java/org/mule/tools/revapi/ClassConstructorApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/ClassConstructorApiCheckTestCase.java
index a32884c9..53e4641a 100644
--- a/src/test/java/org/mule/tools/revapi/ClassConstructorApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/ClassConstructorApiCheckTestCase.java
@@ -9,46 +9,49 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getConstructorRemovedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class ClassConstructorApiCheckTestCase extends AbstractApiCheckTestCase {
- public ClassConstructorApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "classConstructor");
+ public ClassConstructorApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "classConstructor", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicConstructorOnExportedNoExtendPublicClass() throws Exception {
String[] methodRemovedError = getConstructorRemovedError();
doBrokenApiTest("detectsRemovedPublicConstructorOnExportedNoExtendPublicClass", methodRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/ClassConstructorParameterApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/ClassConstructorParameterApiCheckTestCase.java
index 467aa8ce..1302d579 100644
--- a/src/test/java/org/mule/tools/revapi/ClassConstructorParameterApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/ClassConstructorParameterApiCheckTestCase.java
@@ -13,75 +13,78 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getParameterTypeChangedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class ClassConstructorParameterApiCheckTestCase extends AbstractApiCheckTestCase {
- public ClassConstructorParameterApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "classConstructorParameter");
+ public ClassConstructorParameterApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi)
+ throws Exception {
+ super(builder, "classConstructorParameter", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass() throws Exception {
String[] numberOfParametersChangedError =
getConstructorNumberOfParametersChangedError(ORG_FOO_A, STRING, STRING + ", " + STRING);
doBrokenApiTest("detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass() throws Exception {
String[] numberOfParametersChangedError =
getConstructorNumberOfParametersChangedError(ORG_FOO_A, STRING + ", " + STRING, STRING);
doBrokenApiTest("detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass() throws Exception {
String[] parameterTypeChangedError = getParameterTypeChangedError(ORG_FOO_A, CONSTRUCTOR_METHOD);
doBrokenApiTest("detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass", parameterTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/ClassFinalModifierApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/ClassFinalModifierApiCheckTestCase.java
index 80e1c275..a3bb1329 100644
--- a/src/test/java/org/mule/tools/revapi/ClassFinalModifierApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/ClassFinalModifierApiCheckTestCase.java
@@ -17,58 +17,60 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getClassNowFinalErrorLog;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class ClassFinalModifierApiCheckTestCase extends AbstractApiCheckTestCase {
- public ClassFinalModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "classFinalModifier");
+ public ClassFinalModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "classFinalModifier", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedStaticModifierInExportedPublicClass() throws Exception {
String[] classNowFinalErrorLog = getClassNowFinalErrorLog(ORG_FOO_A, PUBLIC, PUBLIC_FINAL);
doBrokenApiTest("detectsAddedStaticModifierInExportedPublicClass", classNowFinalErrorLog);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPackageInternalClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedStaticModifierInExportedPublicInnerClass() throws Exception {
String[] classNowFinalErrorLog = getClassNowFinalErrorLog(ORG_FOO_A_B, PUBLIC_STATIC, PUBLIC_STATIC_FINAL);
doBrokenApiTest("detectsAddedStaticModifierInExportedPublicInnerClass", classNowFinalErrorLog);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInInternalPublicInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInInternalPublicInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedStaticModifierInExportedProtectedInnerClass() throws Exception {
String[] classNowFinalErrorLog = getClassNowFinalErrorLog(ORG_FOO_A_B, PROTECTED_STATIC, PROTECTED_STATIC_FINAL);
doBrokenApiTest("detectsAddedStaticModifierInExportedProtectedInnerClass", classNowFinalErrorLog);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInInternalProtectedInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInInternalProtectedInnerClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInExportedPackageInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInExportedPackageInnerClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInExportedPrivateInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInExportedPrivateInnerClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/ClassVisibilityApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/ClassVisibilityApiCheckTestCase.java
index 94e7837b..6eda0af5 100644
--- a/src/test/java/org/mule/tools/revapi/ClassVisibilityApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/ClassVisibilityApiCheckTestCase.java
@@ -13,20 +13,21 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.PROTECTED;
import static org.mule.tools.revapi.ApiErrorLogUtils.PUBLIC;
import static org.mule.tools.revapi.ApiErrorLogUtils.getClassVisibilityReducedError;
-import static org.mule.tools.revapi.ApiErrorLogUtils.getRemovedClassErrorLog;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Ignore;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class ClassVisibilityApiCheckTestCase extends AbstractApiCheckTestCase {
- public ClassVisibilityApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "classVisibility");
+ public ClassVisibilityApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "classVisibility", isPromotedApi);
}
- @Test
- @Ignore("Revapi incorrectly reports this case as if the class was removed instead of its visibility reduced. " +
+ @MavenPluginTest
+ @Disabled("Revapi incorrectly reports this case as if the class was removed instead of its visibility reduced. " +
"The following issue has been reported in the revapi project: https://github.com/revapi/revapi/issues/288")
public void detectsPublicToPackageExportedClass() throws Exception {
// Note: this kind of change was detected as a visibility reduction, but is now considered by revapi to be a removal of the
@@ -35,67 +36,67 @@ public void detectsPublicToPackageExportedClass() throws Exception {
doBrokenApiTest("detectsPublicToPackageExportedClass", classVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPackageInternalClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPackageInternalClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToProtectedExportedInnerClass() throws Exception {
String[] classVisibilityReducedError = getClassVisibilityReducedError(ORG_FOO_A_B, PUBLIC, PROTECTED);
doBrokenApiTest("detectsPublicToProtectedExportedInnerClass", classVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToProtectedInternalInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToProtectedInternalInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToPackageExportedInnerClass() throws Exception {
String[] classVisibilityReducedError = getClassVisibilityReducedError(ORG_FOO_A_B, PUBLIC, PACKAGE);
doBrokenApiTest("detectsPublicToPackageExportedInnerClass", classVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPackageInternalInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPackageInternalInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToPrivateExportedInnerClass() throws Exception {
String[] classVisibilityReducedError = getClassVisibilityReducedError(ORG_FOO_A_B, PUBLIC, PRIVATE);
doBrokenApiTest("detectsPublicToPrivateExportedInnerClass", classVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPrivateInternalInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPrivateInternalInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPackageExportedInnerClass() throws Exception {
String[] classVisibilityReducedError = getClassVisibilityReducedError(ORG_FOO_A_B, PROTECTED, PACKAGE);
doBrokenApiTest("detectsProtectedToPackageExportedInnerClass", classVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresProtectedToPackageInternalInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresProtectedToPackageInternalInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPrivateExportedInnerClass() throws Exception {
String[] classVisibilityReducedError = getClassVisibilityReducedError(ORG_FOO_A_B, PROTECTED, PRIVATE);
doBrokenApiTest("detectsProtectedToPrivateExportedInnerClass", classVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresProtectedToPrivateInternalInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresProtectedToPrivateInternalInnerClass");
}
- @Test
+ @MavenPluginTest
public void ignoresPackageToPrivateExportedInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresPackageToPrivateExportedInnerClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/ClassesApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/ClassesApiCheckTestCase.java
index 40a4589c..c67e65a7 100644
--- a/src/test/java/org/mule/tools/revapi/ClassesApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/ClassesApiCheckTestCase.java
@@ -20,15 +20,17 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getRemovedClassErrorLog;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class ClassesApiCheckTestCase extends AbstractApiCheckTestCase {
- public ClassesApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "class");
+ public ClassesApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "class", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsApiChangesInExportedSuperClassInPublicClass() throws Exception {
String[] aConstructorNumberOfParametersChangedError =
getConstructorNumberOfParametersChangedError(ORG_FOO_A, EMPTY_PARAMS, STRING);
@@ -39,7 +41,7 @@ public void detectsApiChangesInExportedSuperClassInPublicClass() throws Exceptio
bConstructorNumberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void detectsApiChangesInExportedSuperClassInProtectedInnerClass() throws Exception {
String[] bConstructorNumberOfParametersChangedError =
getConstructorNumberOfParametersChangedError(ORG_BAR_B, EMPTY_PARAMS, STRING);
@@ -51,45 +53,45 @@ public void detectsApiChangesInExportedSuperClassInProtectedInnerClass() throws
cConstructorNumberOfParametersChangedError, cConstructorVisibilityIncreasedError);
}
- @Test
+ @MavenPluginTest
public void ignoresChangesInSuperClassInPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresChangesInSuperClassInPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangesInSuperClassInPrivateInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresChangesInSuperClassInPrivateInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedExportedPublicClass() throws Exception {
String[] addedClassErrorLog = getAddedClassErrorLog();
doBrokenApiTest("detectsAddedExportedPublicClass", addedClassErrorLog);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedExportedPublicClass() throws Exception {
String[] removedClassErrorLog = getRemovedClassErrorLog(ORG_FOO_B);
doBrokenApiTest("detectsRemovedExportedPublicClass", removedClassErrorLog);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedExportedPackageClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/FieldApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/FieldApiCheckTestCase.java
index 8bec9163..16e13667 100644
--- a/src/test/java/org/mule/tools/revapi/FieldApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/FieldApiCheckTestCase.java
@@ -9,91 +9,93 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getFieldRemovedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Ignore;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class FieldApiCheckTestCase extends AbstractApiCheckTestCase {
- public FieldApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "field");
+ public FieldApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "field", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicFieldOnExportedPublicClass() throws Exception {
String[] fieldRemovedError = getFieldRemovedError();
doBrokenApiTest("detectsRemovedPublicFieldOnExportedPublicClass", fieldRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPublicFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPublicFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedProtectedFieldOnExportedPublicClass() throws Exception {
String[] fieldRemovedError = getFieldRemovedError();
doBrokenApiTest("detectsRemovedProtectedFieldOnExportedPublicClass", fieldRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPackageFieldOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPackageFieldOnExportedPublicClass");
}
- @Test
- @Ignore("Revapi considers this a API change, but the class is final, so no subclasses will access this protected field")
+ @MavenPluginTest
+ @Disabled("Revapi considers this a API change, but the class is final, so no subclasses will access this protected field")
public void ignoresRemovedProtectedFieldOnExportedPublicFinalClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedFieldOnExportedPublicFinalClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedChangeInExportedPrivateInstanceField() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPrivateFieldOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPublicFieldOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPublicFieldOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedFieldOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedFieldOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPackageFieldOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPackageFieldOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPrivateFieldOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPrivateFieldOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicFieldOnExportedNoExtendPublicClass() throws Exception {
String[] fieldRemovedError = getFieldRemovedError();
doBrokenApiTest("detectsRemovedPublicFieldOnExportedNoExtendPublicClass", fieldRemovedError);
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass() throws Exception {
String[] fieldRemovedError = getFieldRemovedError();
doBrokenApiTest("detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass", fieldRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/FieldFinalModifierApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/FieldFinalModifierApiCheckTestCase.java
index 0253ddb0..290ba839 100644
--- a/src/test/java/org/mule/tools/revapi/FieldFinalModifierApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/FieldFinalModifierApiCheckTestCase.java
@@ -13,49 +13,51 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getFieldNowFinalError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Ignore;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class FieldFinalModifierApiCheckTestCase extends AbstractApiCheckTestCase {
- public FieldFinalModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "fieldFinalModifier");
+ public FieldFinalModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "fieldFinalModifier", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedFinalModifierInExportedPublicField() throws Exception {
String[] fieldNowFinalError = getFieldNowFinalError(PUBLIC, PUBLIC_FINAL);
doBrokenApiTest("detectsAddedFinalModifierInExportedPublicField", fieldNowFinalError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInInternalPublicField() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInInternalPublicField");
}
- @Test
+ @MavenPluginTest
public void detectsAddedFinalModifierInExportedProtectedField() throws Exception {
String[] fieldNowFinalError = getFieldNowFinalError(PROTECTED, PROTECTED_FINAL);
doBrokenApiTest("detectsAddedFinalModifierInExportedProtectedField", fieldNowFinalError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInInternalProtectedField() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInInternalProtectedField");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInExportedPackageField() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInExportedPackageField");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInExportedPrivateField() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInExportedPrivateField");
}
- @Test
- @Ignore("Revapi considers this a API change, but the class is final, so no subclasses will access this protected field")
+ @MavenPluginTest
+ @Disabled("Revapi considers this a API change, but the class is final, so no subclasses will access this protected field")
public void ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/FieldTypeApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/FieldTypeApiCheckTestCase.java
index 51de4ec2..a4039ad3 100644
--- a/src/test/java/org/mule/tools/revapi/FieldTypeApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/FieldTypeApiCheckTestCase.java
@@ -11,68 +11,70 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getFieldTypeChangedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class FieldTypeApiCheckTestCase extends AbstractApiCheckTestCase {
- public FieldTypeApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "fieldType");
+ public FieldTypeApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "fieldType", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsTypeChangeInExportedPublicInstanceField() throws Exception {
String[] typeChangedError = getFieldTypeChangedError(ORG_FOO_A, B_FIELD);
doBrokenApiTest("detectsTypeChangeInExportedPublicInstanceField", typeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeChangeInInternalPublicInstanceField() throws Exception {
doUnmodifiedApiTest("ignoresTypeChangeInInternalPublicInstanceField");
}
- @Test
+ @MavenPluginTest
public void detectsTypeChangeInExportedProtectedInstanceField() throws Exception {
String[] typeChangedError = getFieldTypeChangedError(ORG_FOO_A, B_FIELD);
doBrokenApiTest("detectsTypeChangeInExportedProtectedInstanceField", typeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeChangeInInternalProtectedInstanceField() throws Exception {
doUnmodifiedApiTest("ignoresTypeChangeInInternalProtectedInstanceField");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeChangeInExportedPackageInstanceField() throws Exception {
doUnmodifiedApiTest("ignoresTypeChangeInExportedPackageInstanceField");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeChangeInExportedPrivateInstanceField() throws Exception {
doUnmodifiedApiTest("ignoresTypeChangeInExportedPrivateInstanceField");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass");
}
- @Test
+ @MavenPluginTest
public void detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass() throws Exception {
String[] typeChangedError = getFieldTypeChangedError(ORG_FOO_A, B_FIELD);
doBrokenApiTest("detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass", typeChangedError);
}
- @Test
+ @MavenPluginTest
public void detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass() throws Exception {
String[] typeChangedError = getFieldTypeChangedError(ORG_FOO_A, B_FIELD);
doBrokenApiTest("detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass", typeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/FieldVisibilityApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/FieldVisibilityApiCheckTestCase.java
index 9458bd40..df0ebb97 100644
--- a/src/test/java/org/mule/tools/revapi/FieldVisibilityApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/FieldVisibilityApiCheckTestCase.java
@@ -13,70 +13,72 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getFieldVisibilityReducedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class FieldVisibilityApiCheckTestCase extends AbstractApiCheckTestCase {
- public FieldVisibilityApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "fieldVisibility");
+ public FieldVisibilityApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "fieldVisibility", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsPublicToProtectedFieldOnExportedPublicClass() throws Exception {
String[] fieldVisibilityReducedError = getFieldVisibilityReducedError(PUBLIC, PROTECTED);
doBrokenApiTest("detectsPublicToProtectedFieldOnExportedPublicClass", fieldVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToProtectedFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToProtectedFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToPackageFieldOnExportedPublicClass() throws Exception {
String[] fieldVisibilityReducedError = getFieldVisibilityReducedError(PUBLIC, PACKAGE);
doBrokenApiTest("detectsPublicToPackageFieldOnExportedPublicClass", fieldVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPackageFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPackageFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToPrivateFieldOnExportedPublicClass() throws Exception {
String[] fieldVisibilityReducedError = getFieldVisibilityReducedError(PUBLIC, PRIVATE);
doBrokenApiTest("detectsPublicToPrivateFieldOnExportedPublicClass", fieldVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPrivateFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPrivateFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPackageFieldOnExportedPublicClass() throws Exception {
String[] fieldVisibilityReducedError = getFieldVisibilityReducedError(PROTECTED, PACKAGE);
doBrokenApiTest("detectsProtectedToPackageFieldOnExportedPublicClass", fieldVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresProtectedToPackageFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresProtectedToPackageFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPrivateFieldOnExportedPublicClass() throws Exception {
String[] fieldVisibilityReducedError = getFieldVisibilityReducedError(PROTECTED, PRIVATE);
doBrokenApiTest("detectsProtectedToPrivateFieldOnExportedPublicClass", fieldVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresProtectedToPrivateFieldOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresProtectedToPrivateFieldOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresPackageToPrivateFieldOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPackageToPrivateFieldOnExportedPublicClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/InterfaceApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/InterfaceApiCheckTestCase.java
index ab2d64c3..7ace519d 100644
--- a/src/test/java/org/mule/tools/revapi/InterfaceApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/InterfaceApiCheckTestCase.java
@@ -12,86 +12,88 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getMethodAddedToInterfaceError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class InterfaceApiCheckTestCase extends AbstractApiCheckTestCase {
- public InterfaceApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "interface");
+ public InterfaceApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "interface", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsApiChangesInExportedInterfaceInProtectedInnerClass() throws Exception {
String[] methodAddedToInterfaceError = getMethodAddedToInterfaceError();
String[] methodAddedError = getMethodAddedError(ORG_FOO_A_C);
doBrokenApiTest("detectsApiChangesInExportedInterfaceInProtectedInnerClass", methodAddedToInterfaceError, methodAddedError);
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInInternalInterfaceInProtectedInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInInternalInterfaceInProtectedInnerClass");
}
- @Test
+ @MavenPluginTest
public void detectsApiChangesInExportedInterfaceInPublicClass() throws Exception {
String[] methodAddedToInterfaceError = getMethodAddedToInterfaceError();
String[] methodAddedError = getMethodAddedError(ORG_FOO_A);
doBrokenApiTest("detectsApiChangesInExportedInterfaceInPublicClass", methodAddedToInterfaceError, methodAddedError);
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInInternalInterfaceInPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInInternalInterfaceInPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsApiChangesInSuperInterfaceInExportedPublicInterface() throws Exception {
String[] methodAddedToInterfaceError = getMethodAddedToInterfaceError();
doBrokenApiTest("detectsApiChangesInSuperInterfaceInExportedPublicInterface", methodAddedToInterfaceError);
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInSuperInterfaceInInternalPublicInterface() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInSuperInterfaceInInternalPublicInterface");
}
- @Test
+ @MavenPluginTest
public void ignoresChangesInSuperInterfaceInExportedPackageInterface() throws Exception {
doUnmodifiedApiTest("ignoresChangesInSuperInterfaceInExportedPackageInterface");
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInInterfaceInExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInInterfaceInExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface");
}
- @Test
+ @MavenPluginTest
public void detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface() throws Exception {
String[] methodAddedToInterfaceError = getMethodAddedToInterfaceError();
doBrokenApiTest("detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface", methodAddedToInterfaceError);
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface");
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInInterfaceInExportedPrivateInnerClass() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInInterfaceInExportedPrivateInnerClass");
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInExportedNoImplementInterfaceInPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInExportedNoImplementInterfaceInPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface() throws Exception {
doUnmodifiedApiTest("ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodAbstractModifierTestCase.java b/src/test/java/org/mule/tools/revapi/MethodAbstractModifierTestCase.java
index c99d0a7d..3bf7d77f 100644
--- a/src/test/java/org/mule/tools/revapi/MethodAbstractModifierTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodAbstractModifierTestCase.java
@@ -13,52 +13,54 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getMethodNowAbstractError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodAbstractModifierTestCase extends AbstractApiCheckTestCase {
- public MethodAbstractModifierTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "methodAbstractModifier");
+ public MethodAbstractModifierTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "methodAbstractModifier", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass() throws Exception {
String[] methodNowAbstractError = getMethodNowAbstractError(PUBLIC, PUBLIC_ABSTRACT);
doBrokenApiTest("detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass", methodNowAbstractError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodNowAbstractError = getMethodNowAbstractError(PROTECTED, PROTECTED_ABSTRACT);
doBrokenApiTest("detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass", methodNowAbstractError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodApiCheckTestCase.java
index 39c8c57a..d5255ceb 100644
--- a/src/test/java/org/mule/tools/revapi/MethodApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodApiCheckTestCase.java
@@ -11,141 +11,143 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getMethodRemovedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "method");
+ public MethodApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "method", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedPublicMethodOnExportedPublicClass() throws Exception {
String[] methodAddedError = getMethodAddedError(ORG_FOO_A);
doBrokenApiTest("detectsAddedPublicMethodOnExportedPublicClass", methodAddedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodAddedError = getMethodAddedError(ORG_FOO_A);
doBrokenApiTest("detectsAddedProtectedMethodOnExportedPublicClass", methodAddedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedPrivateMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicMethodOnExportedPublicClass() throws Exception {
String[] methodRemovedError = getMethodRemovedError();
doBrokenApiTest("detectsRemovedPublicMethodOnExportedPublicClass", methodRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodRemovedError = getMethodRemovedError();
doBrokenApiTest("detectsRemovedProtectedMethodOnExportedPublicClass", methodRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedPrivateMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicMethodOnExportedNoExtendPublicClass() throws Exception {
String[] methodRemovedError = getMethodRemovedError();
doBrokenApiTest("detectsRemovedPublicMethodOnExportedNoExtendPublicClass", methodRemovedError);
}
- @Test
+ @MavenPluginTest
public void detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass() throws Exception {
String[] methodRemovedError = getMethodRemovedError();
doBrokenApiTest("detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass", methodRemovedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodFinalModifierApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodFinalModifierApiCheckTestCase.java
index c712b7d4..47aba5b7 100644
--- a/src/test/java/org/mule/tools/revapi/MethodFinalModifierApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodFinalModifierApiCheckTestCase.java
@@ -13,62 +13,64 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getMethodNowFinalError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodFinalModifierApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodFinalModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "methodFinalModifier");
+ public MethodFinalModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "methodFinalModifier", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedFinalModifierInPublicMethodOnExportedPublicClass() throws Exception {
String[] methodNowFinalError = getMethodNowFinalError(PUBLIC, PUBLIC_FINAL);
doBrokenApiTest("detectsAddedFinalModifierInPublicMethodOnExportedPublicClass", methodNowFinalError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodNowFinalError = getMethodNowFinalError(PROTECTED, PROTECTED_FINAL);
doBrokenApiTest("detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass", methodNowFinalError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodParameterApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodParameterApiCheckTestCase.java
index 9998b3a3..c64c46b6 100644
--- a/src/test/java/org/mule/tools/revapi/MethodParameterApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodParameterApiCheckTestCase.java
@@ -11,159 +11,161 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getNumberOfParametersChangedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodParameterApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodParameterApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "methodParameter");
+ public MethodParameterApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "methodParameter", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedParameterInPublicMethodOnExportedPublicClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(EMPTY_PARAMS, STRING);
doBrokenApiTest("detectsAddedParameterInPublicMethodOnExportedPublicClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedParameterInProtectedMethodOnExportedPublicClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(EMPTY_PARAMS, STRING);
doBrokenApiTest("detectsAddedParameterInProtectedMethodOnExportedPublicClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(EMPTY_PARAMS, STRING);
doBrokenApiTest("detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInPrivateMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedParameterInPublicMethodOnExportedPublicClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(STRING, EMPTY_PARAMS);
doBrokenApiTest("detectsRemovedParameterInPublicMethodOnExportedPublicClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedParameterInProtectedMethodOnExportedPublicClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(STRING, EMPTY_PARAMS);
doBrokenApiTest("detectsRemovedParameterInProtectedMethodOnExportedPublicClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInPrivateMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(STRING, EMPTY_PARAMS);
doBrokenApiTest("detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(EMPTY_PARAMS, STRING);
doBrokenApiTest("detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass() throws Exception {
String[] numberOfParametersChangedError = getNumberOfParametersChangedError(STRING, EMPTY_PARAMS);
doBrokenApiTest("detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass", numberOfParametersChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodParameterTypeApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodParameterTypeApiCheckTestCase.java
index f4c49dba..8087d29f 100644
--- a/src/test/java/org/mule/tools/revapi/MethodParameterTypeApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodParameterTypeApiCheckTestCase.java
@@ -11,64 +11,66 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getParameterTypeChangedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodParameterTypeApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodParameterTypeApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "methodParameterType");
+ public MethodParameterTypeApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "methodParameterType", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsTypeParameterChangeInPublicMethodOnExportedPublicClass() throws Exception {
String[] parameterTypeChangedError = getParameterTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsTypeParameterChangeInPublicMethodOnExportedPublicClass", parameterTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass() throws Exception {
String[] parameterTypeChangedError = getParameterTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass", parameterTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass() throws Exception {
String[] parameterTypeChangedError = getParameterTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass", parameterTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass() throws Exception {
doUnmodifiedApiTest("ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass() throws Exception {
String[] parameterTypeChangedError = getParameterTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass", parameterTypeChangedError);
diff --git a/src/test/java/org/mule/tools/revapi/MethodReturnTypeApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodReturnTypeApiCheckTestCase.java
index 325837cc..6cf6350c 100644
--- a/src/test/java/org/mule/tools/revapi/MethodReturnTypeApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodReturnTypeApiCheckTestCase.java
@@ -11,88 +11,90 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getReturnTypeChangedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodReturnTypeApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodReturnTypeApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
+ public MethodReturnTypeApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
super(builder, "methodReturnType");
}
- @Test
+ @MavenPluginTest
public void detectsChangedReturnTypeInPublicMethodOnExportedPublicClass() throws Exception {
String[] returnTypeChangedError = getReturnTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsChangedReturnTypeInPublicMethodOnExportedPublicClass", returnTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass() throws Exception {
String[] returnTypeChangedError = getReturnTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass", returnTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass");
}
- @Test
+ @MavenPluginTest
public void detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass() throws Exception {
String[] returnTypeChangedError = getReturnTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass", returnTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass() throws Exception {
String[] returnTypeChangedError = getReturnTypeChangedError(ORG_FOO_A, DO_STUFF_METHOD);
doBrokenApiTest("detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass", returnTypeChangedError);
}
- @Test
+ @MavenPluginTest
public void ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass() throws Exception {
doUnmodifiedApiTest("ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodStaticModifierApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodStaticModifierApiCheckTestCase.java
index d6b0f4e9..533011b0 100644
--- a/src/test/java/org/mule/tools/revapi/MethodStaticModifierApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodStaticModifierApiCheckTestCase.java
@@ -14,114 +14,116 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getMethodNowStaticError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodStaticModifierApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodStaticModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
+ public MethodStaticModifierApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
super(builder, "methodStaticModifier");
}
- @Test
+ @MavenPluginTest
public void detectsAddedStaticModifierInPublicMethodOnExportedPublicClass() throws Exception {
String[] methodNowStaticError = getMethodNowStaticError(PUBLIC, PUBLIC_STATIC);
doBrokenApiTest("detectsAddedStaticModifierInPublicMethodOnExportedPublicClass", methodNowStaticError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodNowStaticError = getMethodNowStaticError(PROTECTED, PROTECTED_STATIC);
doBrokenApiTest("detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass", methodNowStaticError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass() throws Exception {
String[] methodNoLongerStaticError = getMethodNoLongerStaticError(PUBLIC_STATIC, PUBLIC);
doBrokenApiTest("detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass", methodNoLongerStaticError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodNoLongerStaticError = getMethodNoLongerStaticError(PROTECTED_STATIC, PROTECTED);
doBrokenApiTest("detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass", methodNoLongerStaticError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/MethodVisibilityApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/MethodVisibilityApiCheckTestCase.java
index 8c1e85cd..688e74db 100644
--- a/src/test/java/org/mule/tools/revapi/MethodVisibilityApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/MethodVisibilityApiCheckTestCase.java
@@ -14,108 +14,110 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getMethodVisibilityReducedError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class MethodVisibilityApiCheckTestCase extends AbstractApiCheckTestCase {
- public MethodVisibilityApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "methodVisibility");
+ public MethodVisibilityApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "methodVisibility", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPublicMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityIncreasedError = getMethodVisibilityIncreasedError(PROTECTED, PUBLIC);
doBrokenApiTest("detectsProtectedToPublicMethodOnExportedPublicClass", methodVisibilityIncreasedError);
}
- @Test
+ @MavenPluginTest
public void detectsPackageToPublicMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityIncreasedError = getMethodVisibilityIncreasedError(PACKAGE, PUBLIC);
doBrokenApiTest("detectsPackageToPublicMethodOnExportedPublicClass", methodVisibilityIncreasedError);
}
- @Test
+ @MavenPluginTest
public void detectsPackageToProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityIncreasedError = getMethodVisibilityIncreasedError(PACKAGE, PROTECTED);
doBrokenApiTest("detectsPackageToProtectedMethodOnExportedPublicClass", methodVisibilityIncreasedError);
}
- @Test
+ @MavenPluginTest
public void detectsPrivateToPublicMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityIncreasedError = getMethodVisibilityIncreasedError(PRIVATE, PUBLIC);
doBrokenApiTest("detectsPrivateToPublicMethodOnExportedPublicClass", methodVisibilityIncreasedError);
}
- @Test
+ @MavenPluginTest
public void detectsPrivateToProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityIncreasedError = getMethodVisibilityIncreasedError(PRIVATE, PROTECTED);
doBrokenApiTest("detectsPrivateToProtectedMethodOnExportedPublicClass", methodVisibilityIncreasedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPrivateToPackageMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPrivateToPackageMethodOnExportedPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToProtectedMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityReducedError = getMethodVisibilityReducedError(PUBLIC, PROTECTED);
doBrokenApiTest("detectsPublicToProtectedMethodOnExportedPublicClass", methodVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToProtectedMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToProtectedMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToPackageMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityReducedError = getMethodVisibilityReducedError(PUBLIC, PACKAGE);
doBrokenApiTest("detectsPublicToPackageMethodOnExportedPublicClass", methodVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPackageMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPackageMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsPublicToPrivateMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityReducedError = getMethodVisibilityReducedError(PUBLIC, PRIVATE);
doBrokenApiTest("detectsPublicToPrivateMethodOnExportedPublicClass", methodVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresPublicToPrivateMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPublicToPrivateMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPackageMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityReducedError = getMethodVisibilityReducedError(PROTECTED, PACKAGE);
doBrokenApiTest("detectsProtectedToPackageMethodOnExportedPublicClass", methodVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresProtectedToPackageMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresProtectedToPackageMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void detectsProtectedToPrivateMethodOnExportedPublicClass() throws Exception {
String[] methodVisibilityReducedError = getMethodVisibilityReducedError(PROTECTED, PRIVATE);
doBrokenApiTest("detectsProtectedToPrivateMethodOnExportedPublicClass", methodVisibilityReducedError);
}
- @Test
+ @MavenPluginTest
public void ignoresProtectedToPrivateMethodOnInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresProtectedToPrivateMethodOnInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresPackageToPrivateMethodOnExportedPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresPackageToPrivateMethodOnExportedPublicClass");
}
diff --git a/src/test/java/org/mule/tools/revapi/SuperClassApiCheckTestCase.java b/src/test/java/org/mule/tools/revapi/SuperClassApiCheckTestCase.java
index 80466f10..da988b73 100644
--- a/src/test/java/org/mule/tools/revapi/SuperClassApiCheckTestCase.java
+++ b/src/test/java/org/mule/tools/revapi/SuperClassApiCheckTestCase.java
@@ -12,49 +12,51 @@
import static org.mule.tools.revapi.ApiErrorLogUtils.getNonFinalClassInheritsFromNewClassError;
import io.takari.maven.testing.executor.MavenRuntime;
-import org.junit.Test;
+import io.takari.maven.testing.executor.junit.MavenPluginTest;
+import org.junit.jupiter.api.extension.ExtendWith;
+@ExtendWith(AbstractApiCheckTestCase.ApiCheckTestCaseContextProvider.class)
public class SuperClassApiCheckTestCase extends AbstractApiCheckTestCase {
- public SuperClassApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder) throws Exception {
- super(builder, "superclass");
+ public SuperClassApiCheckTestCase(MavenRuntime.MavenRuntimeBuilder builder, boolean isPromotedApi) throws Exception {
+ super(builder, "superclass", isPromotedApi);
}
- @Test
+ @MavenPluginTest
public void detectsAddedSuperClassInExportedPublicClass() throws Exception {
String[] nonFinalClassInheritsFromNewClassError = getNonFinalClassInheritsFromNewClassError(ORG_FOO_A, ORG_FOO_B);
doBrokenApiTest("detectsAddedSuperClassInExportedPublicClass", nonFinalClassInheritsFromNewClassError);
}
- @Test
+ @MavenPluginTest
public void ignoresAddedSuperClassInInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedSuperClassInInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedSuperClassInExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedSuperClassInExportedPackageClass");
}
- @Test
+ @MavenPluginTest
public void ignoresAddedSuperClassInExportedPublicFinalClass() throws Exception {
doUnmodifiedApiTest("ignoresAddedSuperClassInExportedPublicFinalClass");
}
- @Test
+ @MavenPluginTest
public void detectsRemovedSuperClassInExportedPublicClass() throws Exception {
String[] classNoLongerExtendsFromError = getClassNoLongerExtendsFromError(ORG_FOO_A, ORG_FOO_B);
doBrokenApiTest("detectsRemovedSuperClassInExportedPublicClass", classNoLongerExtendsFromError);
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedSuperClassInInternalPublicClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedSuperClassInInternalPublicClass");
}
- @Test
+ @MavenPluginTest
public void ignoresRemovedSuperClassInExportedPackageClass() throws Exception {
doUnmodifiedApiTest("ignoresRemovedSuperClassInExportedPackageClass");
}
diff --git a/src/test/projects/class/detectsAddedExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/class/detectsAddedExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/detectsAddedExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsAddedExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/class/detectsAddedExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/detectsAddedExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsApiChangesInExportedSuperClassInProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/class/detectsApiChangesInExportedSuperClassInProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/class/detectsApiChangesInExportedSuperClassInProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsApiChangesInExportedSuperClassInProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/class/detectsApiChangesInExportedSuperClassInProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/class/detectsApiChangesInExportedSuperClassInProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsApiChangesInExportedSuperClassInPublicClass/new/src/main/java/module-info.java b/src/test/projects/class/detectsApiChangesInExportedSuperClassInPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/class/detectsApiChangesInExportedSuperClassInPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsApiChangesInExportedSuperClassInPublicClass/old/src/main/java/module-info.java b/src/test/projects/class/detectsApiChangesInExportedSuperClassInPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/class/detectsApiChangesInExportedSuperClassInPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsRemovedExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/class/detectsRemovedExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/detectsRemovedExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/detectsRemovedExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/class/detectsRemovedExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/detectsRemovedExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/excludesApiChangesInExportedSuperClassInProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/class/excludesApiChangesInExportedSuperClassInProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/class/excludesApiChangesInExportedSuperClassInProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/excludesApiChangesInExportedSuperClassInProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/class/excludesApiChangesInExportedSuperClassInProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/class/excludesApiChangesInExportedSuperClassInProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresAddedExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/class/ignoresAddedExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresAddedExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresAddedExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/class/ignoresAddedExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresAddedExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresAddedInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/class/ignoresAddedInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/class/ignoresAddedInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresAddedInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/class/ignoresAddedInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/class/ignoresAddedInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresChangesInSuperClassInPackageClass/new/src/main/java/module-info.java b/src/test/projects/class/ignoresChangesInSuperClassInPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresChangesInSuperClassInPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresChangesInSuperClassInPackageClass/old/src/main/java/module-info.java b/src/test/projects/class/ignoresChangesInSuperClassInPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresChangesInSuperClassInPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresChangesInSuperClassInPrivateInnerClass/new/src/main/java/module-info.java b/src/test/projects/class/ignoresChangesInSuperClassInPrivateInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresChangesInSuperClassInPrivateInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresChangesInSuperClassInPrivateInnerClass/old/src/main/java/module-info.java b/src/test/projects/class/ignoresChangesInSuperClassInPrivateInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresChangesInSuperClassInPrivateInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresRemovedExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/class/ignoresRemovedExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresRemovedExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresRemovedExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/class/ignoresRemovedExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/ignoresRemovedExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresRemovedInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/class/ignoresRemovedInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/class/ignoresRemovedInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/class/ignoresRemovedInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/class/ignoresRemovedInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/class/ignoresRemovedInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/class/missingSuperClassInProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/class/missingSuperClassInProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/missingSuperClassInProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/class/missingSuperClassInProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/class/missingSuperClassInProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/class/missingSuperClassInProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..c6680e3e 100644
--- a/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,8 +22,9 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
+
diff --git a/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/detectsRemovedPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresAddedProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresAddedPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresRemovedProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructor/ignoresRemovedPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/detectsAddedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/detectsRemovedParameterToPublicConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/detectsTypeParameterChangeInPublicConstructorExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresAddedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToProtectedConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresRemovedParameterToPublicConstructorOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInProtectedConstructorExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..1a029ae0
--- /dev/null
+++ b/src/test/projects/classConstructorParameter/ignoresTypeParameterChangeInPublicConstructorExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicInnerClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicInnerClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/detectsAddedStaticModifierInExportedPublicInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageInnerClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageInnerClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPackageInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPrivateInnerClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPrivateInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPrivateInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPrivateInnerClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPrivateInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInExportedPrivateInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicInnerClass/new/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicInnerClass/old/src/main/java/module-info.java b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classFinalModifier/ignoresAddedStaticModifierInInternalPublicInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsProtectedToPackageExportedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsProtectedToPackageExportedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsProtectedToPackageExportedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsProtectedToPackageExportedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsProtectedToPackageExportedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsProtectedToPackageExportedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsProtectedToPrivateExportedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsProtectedToPrivateExportedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsProtectedToPrivateExportedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsProtectedToPrivateExportedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsProtectedToPrivateExportedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsProtectedToPrivateExportedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToPackageExportedClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToPackageExportedClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToPackageExportedClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToPackageExportedClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToPackageExportedClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToPackageExportedClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToPackageExportedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToPackageExportedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToPackageExportedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToPackageExportedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToPackageExportedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToPackageExportedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToPrivateExportedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToPrivateExportedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToPrivateExportedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToPrivateExportedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToPrivateExportedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToPrivateExportedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToProtectedExportedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToProtectedExportedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToProtectedExportedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/detectsPublicToProtectedExportedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/detectsPublicToProtectedExportedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/detectsPublicToProtectedExportedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPackageToPrivateExportedInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPackageToPrivateExportedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPackageToPrivateExportedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPackageToPrivateExportedInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPackageToPrivateExportedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPackageToPrivateExportedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresProtectedToPackageInternalInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresProtectedToPackageInternalInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresProtectedToPackageInternalInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresProtectedToPackageInternalInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresProtectedToPackageInternalInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresProtectedToPackageInternalInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresProtectedToPrivateInternalInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresProtectedToPrivateInternalInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresProtectedToPrivateInternalInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresProtectedToPrivateInternalInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresProtectedToPrivateInternalInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresProtectedToPrivateInternalInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToPackageInternalClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToPackageInternalClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToPackageInternalClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToPackageInternalClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToPackageInternalClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToPackageInternalClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToPackageInternalInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToPackageInternalInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToPackageInternalInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToPackageInternalInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToPackageInternalInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToPackageInternalInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToPrivateInternalInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToPrivateInternalInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToPrivateInternalInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToPrivateInternalInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToPrivateInternalInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToPrivateInternalInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToProtectedInternalInnerClass/new/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToProtectedInternalInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToProtectedInternalInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/classVisibility/ignoresPublicToProtectedInternalInnerClass/old/src/main/java/module-info.java b/src/test/projects/classVisibility/ignoresPublicToProtectedInternalInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/classVisibility/ignoresPublicToProtectedInternalInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedProtectedFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedProtectedFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedProtectedFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedProtectedFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedProtectedFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedProtectedFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedPublicFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/detectsRemovedPublicFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/detectsRemovedPublicFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/detectsRemovedPublicFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/pom.xml b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/pom.xml
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/pom.xml b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/pom.xml
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedNoInstantiatedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPublicFinalClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPublicFinalClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPublicFinalClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPublicFinalClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPublicFinalClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnExportedPublicFinalClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedProtectedFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedProtectedFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedProtectedFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPublicFieldOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPublicFieldOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPublicFieldOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPublicFieldOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPublicFieldOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPublicFieldOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPublicFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPublicFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPublicFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/field/ignoresRemovedPublicFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/field/ignoresRemovedPublicFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/field/ignoresRemovedPublicFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedProtectedField/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedProtectedField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedProtectedField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedProtectedField/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedProtectedField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedProtectedField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedPublicField/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedPublicField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedPublicField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedPublicField/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedPublicField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/detectsAddedFinalModifierInExportedPublicField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPackageField/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPackageField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPackageField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPackageField/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPackageField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPackageField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPrivateField/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPrivateField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPrivateField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPrivateField/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPrivateField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedPrivateField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInExportedProtectedFieldOnFinalClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalProtectedField/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalProtectedField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalProtectedField/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalProtectedField/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalProtectedField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalProtectedField/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalPublicField/new/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalPublicField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalPublicField/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalPublicField/old/src/main/java/module-info.java b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalPublicField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldFinalModifier/ignoresAddedFinalModifierInInternalPublicField/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedProtectedInstanceField/new/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedProtectedInstanceField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedProtectedInstanceField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedProtectedInstanceField/old/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedProtectedInstanceField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedProtectedInstanceField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceField/new/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceField/old/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/pom.xml b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/pom.xml
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/pom.xml b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/pom.xml
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/pom.xml b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/pom.xml b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/detectsTypeChangeInExportedPublicInstanceFieldFromNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedPackageInstanceField/new/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedPackageInstanceField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedPackageInstanceField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedPackageInstanceField/old/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedPackageInstanceField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedPackageInstanceField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedPrivateInstanceField/new/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedPrivateInstanceField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedPrivateInstanceField/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedPrivateInstanceField/old/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedPrivateInstanceField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedPrivateInstanceField/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/pom.xml b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/pom.xml
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/pom.xml b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/pom.xml
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/pom.xml b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/pom.xml
index 4ce12888..c87a5b82 100644
--- a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/pom.xml b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..92aabde0
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInExportedProtectedInstanceFieldFromNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInInternalProtectedInstanceField/new/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInInternalProtectedInstanceField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInInternalProtectedInstanceField/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInInternalProtectedInstanceField/old/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInInternalProtectedInstanceField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInInternalProtectedInstanceField/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInInternalPublicInstanceField/new/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInInternalPublicInstanceField/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInInternalPublicInstanceField/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldType/ignoresTypeChangeInInternalPublicInstanceField/old/src/main/java/module-info.java b/src/test/projects/fieldType/ignoresTypeChangeInInternalPublicInstanceField/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldType/ignoresTypeChangeInInternalPublicInstanceField/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsProtectedToPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsProtectedToPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsProtectedToPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsProtectedToPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsProtectedToPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsProtectedToPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsProtectedToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsProtectedToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsProtectedToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsProtectedToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsProtectedToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsProtectedToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsPublicToPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsPublicToPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsPublicToPackageFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsPublicToPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsPublicToPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsPublicToPackageFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsPublicToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsPublicToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsPublicToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsPublicToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsPublicToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsPublicToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsPublicToProtectedFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsPublicToProtectedFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsPublicToProtectedFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/detectsPublicToProtectedFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/detectsPublicToProtectedFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/detectsPublicToProtectedFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPackageToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPackageToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPackageToPrivateFieldOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPackageToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPackageToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPackageToPrivateFieldOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresProtectedToPackageFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresProtectedToPackageFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresProtectedToPackageFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresProtectedToPackageFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresProtectedToPackageFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresProtectedToPackageFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresProtectedToPrivateFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresProtectedToPrivateFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresProtectedToPrivateFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresProtectedToPrivateFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresProtectedToPrivateFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresProtectedToPrivateFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPublicToPackageFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPublicToPackageFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPublicToPackageFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPublicToPackageFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPublicToPackageFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPublicToPackageFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPublicToPrivateFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPublicToPrivateFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPublicToPrivateFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPublicToPrivateFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPublicToPrivateFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPublicToPrivateFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPublicToProtectedFieldOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPublicToProtectedFieldOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPublicToProtectedFieldOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/fieldVisibility/ignoresPublicToProtectedFieldOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/fieldVisibility/ignoresPublicToProtectedFieldOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/fieldVisibility/ignoresPublicToProtectedFieldOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInExportedInterfaceInProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInExportedInterfaceInProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInExportedInterfaceInPublicClass/new/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInExportedInterfaceInPublicClass/old/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInExportedInterfaceInPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface/new/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface/old/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedProtectedInnerInterface/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedPublicInterface/new/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedPublicInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedPublicInterface/new/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedPublicInterface/old/src/main/java/module-info.java b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedPublicInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..89b6f3f7
--- /dev/null
+++ b/src/test/projects/interface/detectsApiChangesInSuperInterfaceInExportedPublicInterface/old/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/pom.xml b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/pom.xml
+++ b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..e624f539
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/resources/META-INF/mule-module.properties b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/resources/META-INF/mule-module.properties
index dd608916..55b86f9c 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/resources/META-INF/mule-module.properties
+++ b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/new/src/main/resources/META-INF/mule-module.properties
@@ -1,3 +1,3 @@
module.name=foo
-artifact.export.classPackages=org.foo,org.bar
\ No newline at end of file
+artifact.export.classPackages=org.bar
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/pom.xml b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/pom.xml
+++ b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..e624f539
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/resources/META-INF/mule-module.properties b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/resources/META-INF/mule-module.properties
index dd608916..55b86f9c 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/resources/META-INF/mule-module.properties
+++ b/src/test/projects/interface/ignoresApiChangesInExportedInterfaceExtendingNoImplementInterface/old/src/main/resources/META-INF/mule-module.properties
@@ -1,3 +1,3 @@
module.name=foo
-artifact.export.classPackages=org.foo,org.bar
\ No newline at end of file
+artifact.export.classPackages=org.bar
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/pom.xml b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/pom.xml
+++ b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..e624f539
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/resources/META-INF/mule-module.properties b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/resources/META-INF/mule-module.properties
index dd608916..55b86f9c 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/resources/META-INF/mule-module.properties
+++ b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/new/src/main/resources/META-INF/mule-module.properties
@@ -1,3 +1,3 @@
module.name=foo
-artifact.export.classPackages=org.foo,org.bar
\ No newline at end of file
+artifact.export.classPackages=org.bar
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/pom.xml b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/pom.xml
+++ b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..e624f539
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.bar;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/resources/META-INF/mule-module.properties b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/resources/META-INF/mule-module.properties
index dd608916..55b86f9c 100644
--- a/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/resources/META-INF/mule-module.properties
+++ b/src/test/projects/interface/ignoresApiChangesInExportedNoImplementInterfaceInPublicClass/old/src/main/resources/META-INF/mule-module.properties
@@ -1,3 +1,3 @@
module.name=foo
-artifact.export.classPackages=org.foo,org.bar
\ No newline at end of file
+artifact.export.classPackages=org.bar
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPrivateInnerClass/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPrivateInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPrivateInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPrivateInnerClass/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPrivateInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInterfaceInExportedPrivateInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInProtectedInnerClass/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInProtectedInnerClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInProtectedInnerClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInProtectedInnerClass/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInProtectedInnerClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInProtectedInnerClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInPublicClass/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInPublicClass/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInInternalInterfaceInPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInExportedPrivateInnerInterface/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalProtectedInnerInterface/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalPublicInterface/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalPublicInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalPublicInterface/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalPublicInterface/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalPublicInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/interface/ignoresApiChangesInSuperInterfaceInInternalPublicInterface/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresChangesInSuperInterfaceInExportedPackageInterface/new/src/main/java/module-info.java b/src/test/projects/interface/ignoresChangesInSuperInterfaceInExportedPackageInterface/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresChangesInSuperInterfaceInExportedPackageInterface/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/interface/ignoresChangesInSuperInterfaceInExportedPackageInterface/old/src/main/java/module-info.java b/src/test/projects/interface/ignoresChangesInSuperInterfaceInExportedPackageInterface/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/interface/ignoresChangesInSuperInterfaceInExportedPackageInterface/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsAddedProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/detectsAddedProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsAddedProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsAddedProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/detectsAddedProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsAddedProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsAddedPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/detectsAddedPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsAddedPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsAddedPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/detectsAddedPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsAddedPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/detectsRemovedPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/detectsRemovedPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/detectsRemovedPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresAddedPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresAddedPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresAddedPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/pom.xml b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/pom.xml
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/pom.xml b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/pom.xml
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnExportedPublicClassExtendingNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/method/ignoresRemovedPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/method/ignoresRemovedPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/method/ignoresRemovedPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/detectsAddedAbstractModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodAbstractModifier/ignoresAddedAbstractModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/detectsAddedFinalModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodFinalModifier/ignoresAddedFinalModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsAddedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/detectsRemovedParameterInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresAddedParameterInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameter/ignoresRemovedParameterInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInProtectedMethodOnExternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/detectsTypeParameterChangeInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPackageMethodOnExternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPrivatedMethodOnExternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoExtendPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnExportedNoInstantiatePublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodParameterType/ignoresTypeParameterChangeInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/detectsChangedReturnTypeInPublicMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoExtendClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
index f4d55d0b..4055f45d 100644
--- a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/pom.xml
@@ -18,7 +18,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/new/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
index 121d1f90..ba2f5da5 100644
--- a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/pom.xml
@@ -22,7 +22,7 @@
org.mule.runtimeapi-annotations
- 1.0.2
+ 1.8.0-20241025
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c94487a0
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnExportedPublicNoInstantiateClass/old/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ requires org.mule.runtime.api.annotations;
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodReturnType/ignoresChangedReturnTypeInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsAddedStaticModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/detectsRemovedStaticModifierInPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresAddedStaticModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodStaticModifier/ignoresRemovedStaticModifierInPublicMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPackageToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPackageToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPackageToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPackageToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPackageToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPackageToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPackageToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPackageToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPackageToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPackageToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPackageToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPackageToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPrivateToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPrivateToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPrivateToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPrivateToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPrivateToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPrivateToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPrivateToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPrivateToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPrivateToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPrivateToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPrivateToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPrivateToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsProtectedToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsProtectedToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsProtectedToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsProtectedToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsProtectedToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsProtectedToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsProtectedToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsProtectedToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsProtectedToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsProtectedToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsProtectedToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsProtectedToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsProtectedToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsProtectedToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsProtectedToPublicMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsProtectedToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsProtectedToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsProtectedToPublicMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPublicToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPublicToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPublicToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPublicToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPublicToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPublicToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPublicToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPublicToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPublicToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPublicToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPublicToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPublicToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPublicToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPublicToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPublicToProtectedMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/detectsPublicToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/detectsPublicToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/detectsPublicToProtectedMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPackageToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPackageToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPackageToPrivateMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPackageToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPackageToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPackageToPrivateMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPrivateToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPrivateToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPrivateToPackageMethodOnExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPrivateToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPrivateToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPrivateToPackageMethodOnExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresProtectedToPackageMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresProtectedToPackageMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresProtectedToPackageMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresProtectedToPackageMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresProtectedToPackageMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresProtectedToPackageMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresProtectedToPrivateMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresProtectedToPrivateMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresProtectedToPrivateMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresProtectedToPrivateMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresProtectedToPrivateMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresProtectedToPrivateMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPublicToPackageMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPublicToPackageMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPublicToPackageMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPublicToPackageMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPublicToPackageMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPublicToPackageMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPublicToPrivateMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPublicToPrivateMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPublicToPrivateMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPublicToPrivateMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPublicToPrivateMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPublicToPrivateMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPublicToProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPublicToProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPublicToProtectedMethodOnInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/methodVisibility/ignoresPublicToProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/methodVisibility/ignoresPublicToProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/methodVisibility/ignoresPublicToProtectedMethodOnInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/parent/pom.xml b/src/test/projects/parent/pom.xml
index d72fea3c..9eb087f7 100644
--- a/src/test/projects/parent/pom.xml
+++ b/src/test/projects/parent/pom.xml
@@ -11,6 +11,14 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ 17
+
+ org.revapirevapi-maven-plugin
@@ -34,20 +42,24 @@
"behavior" : "report"
}
},
- "semver": {
- "ignore": {
- "enabled": true,
- "versionIncreaseAllows" : {
- "major" : "breaking",
- "minor" : "nonBreaking",
- "patch" : "equivalent"
+ "versions": {
+ "enabled": true,
+ "versionIncreaseAllows": {
+ "major": {
+ "severity": "BREAKING"
},
- "passThroughDifferences": ["java.class.nonPublicPartOfAPI"]
- }
+ "minor": {
+ "severity": "NON_BREAKING"
+ },
+ "patch": {
+ "severity": "EQUIVALENT"
+ }
+ },
+ "passThroughDifference": ["java.class.nonPublicPartOfAPI"]
}
}
}
- ]]>
+ ]]>
diff --git a/src/test/projects/promotedApi/new/pom.xml b/src/test/projects/promotedApi/new/pom.xml
new file mode 100644
index 00000000..e17bd990
--- /dev/null
+++ b/src/test/projects/promotedApi/new/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+
+ org.foo
+ baz-test-project
+ 1.0.0
+
+
+ baz-empty-project
+ 1.0.1
+ jar
+ Baz Module
+
+
+
+ org.foo
+ empty-project
+
+ ${newDependencyVersion}
+
+
+
+
+
diff --git a/src/test/projects/promotedApi/new/src/main/java/org/baz/C.java b/src/test/projects/promotedApi/new/src/main/java/org/baz/C.java
new file mode 100644
index 00000000..16931283
--- /dev/null
+++ b/src/test/projects/promotedApi/new/src/main/java/org/baz/C.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+package org.c;
+
+public class C {
+ // No need to reference any code from API dependencies (the dependencies should be validated anyways).
+}
\ No newline at end of file
diff --git a/src/test/projects/promotedApi/new/src/main/resources/META-INF/mule-module.properties b/src/test/projects/promotedApi/new/src/main/resources/META-INF/mule-module.properties
new file mode 100644
index 00000000..dfdf32a2
--- /dev/null
+++ b/src/test/projects/promotedApi/new/src/main/resources/META-INF/mule-module.properties
@@ -0,0 +1,3 @@
+module.name=bar
+
+artifact.export.classPackages=org.baz.c
\ No newline at end of file
diff --git a/src/test/projects/promotedApi/old/pom.xml b/src/test/projects/promotedApi/old/pom.xml
new file mode 100644
index 00000000..c5d48b55
--- /dev/null
+++ b/src/test/projects/promotedApi/old/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+
+
+ org.foo
+ baz-test-project
+ 1.0.0
+
+
+ baz-empty-project
+ 1.0.0
+ jar
+ Baz Module
+
+
+ true
+
+
+
+
+ org.foo
+ empty-project
+ 1.0.0
+
+
+
+
+
diff --git a/src/test/projects/promotedApi/old/src/main/java/org.baz/C.java b/src/test/projects/promotedApi/old/src/main/java/org.baz/C.java
new file mode 100644
index 00000000..16931283
--- /dev/null
+++ b/src/test/projects/promotedApi/old/src/main/java/org.baz/C.java
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+package org.c;
+
+public class C {
+ // No need to reference any code from API dependencies (the dependencies should be validated anyways).
+}
\ No newline at end of file
diff --git a/src/test/projects/promotedApi/old/src/main/resources/META-INF/mule-module.properties b/src/test/projects/promotedApi/old/src/main/resources/META-INF/mule-module.properties
new file mode 100644
index 00000000..dfdf32a2
--- /dev/null
+++ b/src/test/projects/promotedApi/old/src/main/resources/META-INF/mule-module.properties
@@ -0,0 +1,3 @@
+module.name=bar
+
+artifact.export.classPackages=org.baz.c
\ No newline at end of file
diff --git a/src/test/projects/promotedApi/pom.xml b/src/test/projects/promotedApi/pom.xml
new file mode 100644
index 00000000..4d50ef13
--- /dev/null
+++ b/src/test/projects/promotedApi/pom.xml
@@ -0,0 +1,46 @@
+
+
+ 4.0.0
+
+
+ org.foo
+ foo-parent
+ 1.0.0
+ ../../../parent/pom.xml
+
+
+ baz-test-project
+ 1.0.0
+ pom
+ Aggregates old and new API projects
+
+
+ old
+ new
+
+
+
+
+
+ org.revapi
+ revapi-maven-plugin
+
+
+ api-check
+ check
+
+
+
+
+ empty-project
+
+
+
+
+
+
+
+
+
+
diff --git a/src/test/projects/superclass/detectsAddedSuperClassInExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/superclass/detectsAddedSuperClassInExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsAddedSuperClassInExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsAddedSuperClassInExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/superclass/detectsAddedSuperClassInExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsAddedSuperClassInExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicFinalClass/new/src/main/java/module-info.java b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicFinalClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicFinalClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicFinalClass/old/src/main/java/module-info.java b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicFinalClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsRemovedSuperClassInExportedPublicFinalClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsRemovedSuperClassWithPublicMethodInExportedPublicClass/new/src/main/java/module-info.java b/src/test/projects/superclass/detectsRemovedSuperClassWithPublicMethodInExportedPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsRemovedSuperClassWithPublicMethodInExportedPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/detectsRemovedSuperClassWithPublicMethodInExportedPublicClass/old/src/main/java/module-info.java b/src/test/projects/superclass/detectsRemovedSuperClassWithPublicMethodInExportedPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/detectsRemovedSuperClassWithPublicMethodInExportedPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresAddedSuperClassInExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/superclass/ignoresAddedSuperClassInExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/ignoresAddedSuperClassInExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresAddedSuperClassInExportedPublicFinalClass/new/src/main/java/module-info.java b/src/test/projects/superclass/ignoresAddedSuperClassInExportedPublicFinalClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/ignoresAddedSuperClassInExportedPublicFinalClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresAddedSuperClassInExportedPublicFinalClass/old/src/main/java/module-info.java b/src/test/projects/superclass/ignoresAddedSuperClassInExportedPublicFinalClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/ignoresAddedSuperClassInExportedPublicFinalClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresAddedSuperClassInInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/superclass/ignoresAddedSuperClassInInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/superclass/ignoresAddedSuperClassInInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresAddedSuperClassInInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/superclass/ignoresAddedSuperClassInInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/superclass/ignoresAddedSuperClassInInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresRemovedSuperClassInExportedPackageClass/new/src/main/java/module-info.java b/src/test/projects/superclass/ignoresRemovedSuperClassInExportedPackageClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/ignoresRemovedSuperClassInExportedPackageClass/new/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresRemovedSuperClassInExportedPackageClass/old/src/main/java/module-info.java b/src/test/projects/superclass/ignoresRemovedSuperClassInExportedPackageClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..c6d1ea63
--- /dev/null
+++ b/src/test/projects/superclass/ignoresRemovedSuperClassInExportedPackageClass/old/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+ exports org.foo;
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresRemovedSuperClassInInternalPublicClass/new/src/main/java/module-info.java b/src/test/projects/superclass/ignoresRemovedSuperClassInInternalPublicClass/new/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/superclass/ignoresRemovedSuperClassInInternalPublicClass/new/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file
diff --git a/src/test/projects/superclass/ignoresRemovedSuperClassInInternalPublicClass/old/src/main/java/module-info.java b/src/test/projects/superclass/ignoresRemovedSuperClassInInternalPublicClass/old/src/main/java/module-info.java
new file mode 100644
index 00000000..17f221d2
--- /dev/null
+++ b/src/test/projects/superclass/ignoresRemovedSuperClassInInternalPublicClass/old/src/main/java/module-info.java
@@ -0,0 +1,9 @@
+/*
+ * Copyright 2023 Salesforce, Inc. All rights reserved.
+ * The software in this package is published under the terms of the CPAL v1.0
+ * license, a copy of which has been included with this distribution in the
+ * LICENSE.txt file.
+ */
+module foo {
+
+}
\ No newline at end of file