diff --git a/access-modifier-checker/src/it/extend-override/api/pom.xml b/access-modifier-checker/src/it/extend-override/api/pom.xml new file mode 100644 index 0000000..1f691c9 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/api/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + test + extend-override + 1.0-SNAPSHOT + + api + + + org.kohsuke + access-modifier-annotation + @project.version@ + + + \ No newline at end of file diff --git a/access-modifier-checker/src/it/extend-override/api/src/main/java/api/Api.java b/access-modifier-checker/src/it/extend-override/api/src/main/java/api/Api.java new file mode 100644 index 0000000..02fd399 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/api/src/main/java/api/Api.java @@ -0,0 +1,11 @@ +package api; + +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; + +public class Api { + @Restricted(NoExternalUse.class) + public void notReallyPublic() { + + } +} diff --git a/access-modifier-checker/src/it/extend-override/caller/pom.xml b/access-modifier-checker/src/it/extend-override/caller/pom.xml new file mode 100644 index 0000000..9112823 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/caller/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + + test + extend-override + 1.0-SNAPSHOT + + caller + + + ${project.groupId} + api + ${project.version} + + + + + + org.kohsuke + access-modifier-checker + @project.version@ + + + + enforce + + + + + + + \ No newline at end of file diff --git a/access-modifier-checker/src/it/extend-override/caller/src/main/java/caller/Extender.java b/access-modifier-checker/src/it/extend-override/caller/src/main/java/caller/Extender.java new file mode 100644 index 0000000..4db7761 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/caller/src/main/java/caller/Extender.java @@ -0,0 +1,13 @@ +package caller; + +import api.Api; +// TODO this is actually two tests, separate them when fixing +public class Extender extends Api { + public void foo() { + notReallyPublic(); + } + + @Override + public void notReallyPublic() { + } +} diff --git a/access-modifier-checker/src/it/extend-override/invoker.properties b/access-modifier-checker/src/it/extend-override/invoker.properties new file mode 100644 index 0000000..8b87cc7 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/invoker.properties @@ -0,0 +1,2 @@ +invoker.goals=clean package +invoker.buildResult = failure diff --git a/access-modifier-checker/src/it/extend-override/pom.xml b/access-modifier-checker/src/it/extend-override/pom.xml new file mode 100644 index 0000000..88487c7 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + test + extend-override + 1.0-SNAPSHOT + pom + + UTF-8 + + + api + caller + + + + + + maven-compiler-plugin + 3.10.1 + + 11 + + + + + + diff --git a/access-modifier-checker/src/it/extend-override/postbuild.groovy b/access-modifier-checker/src/it/extend-override/postbuild.groovy new file mode 100644 index 0000000..b3d0b20 --- /dev/null +++ b/access-modifier-checker/src/it/extend-override/postbuild.groovy @@ -0,0 +1 @@ +assert new File(basedir, 'build.log').text.contains('api/Api.notReallyPublic()V must not be used') diff --git a/access-modifier-checker/src/it/extend/api/pom.xml b/access-modifier-checker/src/it/extend/api/pom.xml new file mode 100644 index 0000000..2bd0f26 --- /dev/null +++ b/access-modifier-checker/src/it/extend/api/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + test + extend + 1.0-SNAPSHOT + + api + + + org.kohsuke + access-modifier-annotation + @project.version@ + + + \ No newline at end of file diff --git a/access-modifier-checker/src/it/extend/api/src/main/java/api/Api.java b/access-modifier-checker/src/it/extend/api/src/main/java/api/Api.java new file mode 100644 index 0000000..02fd399 --- /dev/null +++ b/access-modifier-checker/src/it/extend/api/src/main/java/api/Api.java @@ -0,0 +1,11 @@ +package api; + +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; + +public class Api { + @Restricted(NoExternalUse.class) + public void notReallyPublic() { + + } +} diff --git a/access-modifier-checker/src/it/extend/caller/pom.xml b/access-modifier-checker/src/it/extend/caller/pom.xml new file mode 100644 index 0000000..1713fba --- /dev/null +++ b/access-modifier-checker/src/it/extend/caller/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + + test + extend + 1.0-SNAPSHOT + + caller + + + ${project.groupId} + api + ${project.version} + + + + + + org.kohsuke + access-modifier-checker + @project.version@ + + + + enforce + + + + + + + \ No newline at end of file diff --git a/access-modifier-checker/src/it/extend/caller/src/main/java/caller/Extender.java b/access-modifier-checker/src/it/extend/caller/src/main/java/caller/Extender.java new file mode 100644 index 0000000..33eb9f3 --- /dev/null +++ b/access-modifier-checker/src/it/extend/caller/src/main/java/caller/Extender.java @@ -0,0 +1,4 @@ +package src.main.java.caller; + +public class Extender extends api.Api { +} diff --git a/access-modifier-checker/src/it/extend/caller/src/main/java/caller/Outsider.java b/access-modifier-checker/src/it/extend/caller/src/main/java/caller/Outsider.java new file mode 100644 index 0000000..0667924 --- /dev/null +++ b/access-modifier-checker/src/it/extend/caller/src/main/java/caller/Outsider.java @@ -0,0 +1,9 @@ +package src.main.java.caller; + +public class Outsider { + + public void foo() { + new Extender().notReallyPublic(); + } + +} diff --git a/access-modifier-checker/src/it/extend/invoker.properties b/access-modifier-checker/src/it/extend/invoker.properties new file mode 100644 index 0000000..8b87cc7 --- /dev/null +++ b/access-modifier-checker/src/it/extend/invoker.properties @@ -0,0 +1,2 @@ +invoker.goals=clean package +invoker.buildResult = failure diff --git a/access-modifier-checker/src/it/extend/pom.xml b/access-modifier-checker/src/it/extend/pom.xml new file mode 100644 index 0000000..65f7ddd --- /dev/null +++ b/access-modifier-checker/src/it/extend/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + test + extend + 1.0-SNAPSHOT + pom + + UTF-8 + + + api + caller + + + + + + maven-compiler-plugin + 3.10.1 + + 11 + + + + + + diff --git a/access-modifier-checker/src/it/extend/postbuild.groovy b/access-modifier-checker/src/it/extend/postbuild.groovy new file mode 100644 index 0000000..b3d0b20 --- /dev/null +++ b/access-modifier-checker/src/it/extend/postbuild.groovy @@ -0,0 +1 @@ +assert new File(basedir, 'build.log').text.contains('api/Api.notReallyPublic()V must not be used')