Skip to content

Refaster template compilation instructions are out of date or unclear #4261

Open
@timo-a

Description

@timo-a

Following https://errorprone.info/docs/refaster I created a new file StringIsEmpty.java (in an empty directory) and ran:

$ wget http://repo1.maven.org/maven2/com/google/errorprone/error_prone_refaster/2.3.1/error_prone_refaster-2.3.1.jar
--2024-01-25 21:56:41--  http://repo1.maven.org/maven2/com/google/errorprone/error_prone_refaster/2.3.1/error_prone_refaster-2.3.1.jar
Resolving repo1.maven.org (repo1.maven.org)... 2a04:4e42:8d::209, 146.75.116.209
Connecting to repo1.maven.org (repo1.maven.org)|2a04:4e42:8d::209|:80... connected.
HTTP request sent, awaiting response... 501 HTTPS Required
2024-01-25 21:56:41 ERROR 501: HTTPS Required.

➡️ This information is out of date the URL needs to have https

Then, I ran

$ javac -version
javac 17.0.8
$ javac \
  -cp error_prone_refaster-2.3.1.jar \
  "-Xplugin:RefasterRuleCompiler --out ${PWD}/myrule.refaster" \
  StringIsEmpty.java
Exception in thread "main" java.lang.IllegalAccessError: class com.google.errorprone.refaster.RefasterRuleCompiler (in unnamed module @0x6b143ee9) cannot access class com.sun.tools.javac.api.BasicJavacTask (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.api to unnamed module @0x6b143ee9
        at com.google.errorprone.refaster.RefasterRuleCompiler.init(RefasterRuleCompiler.java:51)
        at jdk.compiler/com.sun.tools.javac.api.BasicJavacTask.initPlugin(BasicJavacTask.java:255)
        at jdk.compiler/com.sun.tools.javac.api.BasicJavacTask.initPlugins(BasicJavacTask.java:229)
        at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:292)
        at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:176)
        at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:64)
        at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:50)

➡️ compile instructions are either out of date or not fool proof

A look at the maven repo reveals that the current version is 2.24.1, I get the same error however.

➡️ error_prone_refaster version needs to be updated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions