mocobeta edited a comment on pull request #567:
URL: https://github.com/apache/lucene/pull/567#issuecomment-1001112886
Browsing through this issue, I am wondering if it'd be helpful that we have
an entry to forbid ~Class#getClassLoader()~ ClassLoadr#getResourceAsStream()
(and so on) by default. When it is really needed (for example, on tests), we
can suppress the linter by `@SuppressForbidden`.
```
lucene $ git diff
diff --git a/gradle/validation/forbidden-apis/defaults.all.txt
b/gradle/validation/forbidden-apis/defaults.all.txt
index 6c6e0296cc5..62b1e8fa6e8 100644
--- a/gradle/validation/forbidden-apis/defaults.all.txt
+++ b/gradle/validation/forbidden-apis/defaults.all.txt
@@ -66,3 +66,6 @@ java.io.ObjectOutputStream
@defaultMessage Don't set a dictionary on a Deflater using a method that
takes an offset or ByteBuffer (JDK-8252739)
java.util.zip.Deflater#setDictionary(byte[],int,int)
java.util.zip.Deflater#setDictionary(java.nio.ByteBuffer)
+
+@defaultMessage caller sensitive method callq
+java.lang.ClassLoader#getResourceAsStream(java.lang.String)
```
```
# on main branch
lucene $ ./gradlew -p lucene/analysis/kuromoji/ forbiddenApi
> Task :lucene:analysis:kuromoji:forbiddenApisMain FAILED
Forbidden method invocation:
java.lang.ClassLoader#getResourceAsStream(java.lang.String) [caller sensitive
method callq]
in org.apache.lucene.analysis.ja.dict.BinaryDictionary
(BinaryDictionary.java:207)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]