diff --git a/src/main/java/de/thetaphi/forbiddenapis/Checker.java b/src/main/java/de/thetaphi/forbiddenapis/Checker.java index aac8dbb0..a88d1c4b 100644 --- a/src/main/java/de/thetaphi/forbiddenapis/Checker.java +++ b/src/main/java/de/thetaphi/forbiddenapis/Checker.java @@ -405,6 +405,11 @@ public final void parseSignaturesFile(InputStream in) throws IOException,ParseEx parseSignaturesFile(in, false); } + /** Reads a list of API signatures from the given URL. */ + public final void parseSignaturesFile(URL url) throws IOException,ParseException { + parseSignaturesFile(url.openStream()); + } + /** Reads a list of API signatures from the given file. */ public final void parseSignaturesFile(File f) throws IOException,ParseException { parseSignaturesFile(new FileInputStream(f)); diff --git a/src/main/java/de/thetaphi/forbiddenapis/gradle/CheckForbiddenApis.java b/src/main/java/de/thetaphi/forbiddenapis/gradle/CheckForbiddenApis.java index 4f0cff4d..0c4cb5ca 100644 --- a/src/main/java/de/thetaphi/forbiddenapis/gradle/CheckForbiddenApis.java +++ b/src/main/java/de/thetaphi/forbiddenapis/gradle/CheckForbiddenApis.java @@ -34,6 +34,7 @@ import org.gradle.api.DefaultTask; import org.gradle.api.GradleException; +import org.gradle.api.Incubating; import org.gradle.api.InvalidUserDataException; import org.gradle.api.file.FileCollection; import org.gradle.api.file.FileTree; @@ -163,6 +164,26 @@ public void setSignaturesFiles(FileCollection signaturesFiles) { data.signaturesFiles = signaturesFiles; } + /** + * A list of references to URLs, which contain signatures and comments for forbidden API calls. + * The signatures are resolved against {@link #getClasspath()}. + *
+ * This property is useful to refer to resources in plugin classpath, e.g., using
+ * {@link Class#getResource(String)}. It is not useful for general gradle builds. Especially,
+ * don't use it to refer to resources on foreign servers!
+ */
+ @Input
+ @Optional
+ @Incubating
+ public List