-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document new jOOQ-refaster module #9825
Comments
I think I have now finally figured out how to use Errorprone Refaster both for Java 8 and 11. I doubt that there is any solution for Java 6. |
We don't need a Java 6 solution, that's fine. The jOOQ-checker module also doesn't support Java 6 |
... A lot of this stuff depends on JSR-308, which shipped with Java 8 |
We need to make the compiled |
Can we load them from the classpath, too? Ideally, the files would be in a |
We could also commit the
So far I have not found any way to do that. Maybe I find something if I study the source code. I tested with URLs, but that doesn't work: google/error-prone#1513. |
Hmm, not sure. We'd depend on GitHub's directory structures and the way they present URLs of files. I believe they have changed that a few times in the past. I'd prefer a directory like |
Yes, that would also be my preferred solution. As with the XSDs we will want to have versioned files. So something like |
Exactly |
Since Errorprone currently cannot be configured to load and apply multiple |
I don't agree. We need separation of concerns. For example, everyone might agree with the deprecation transformations, but not with the performance ones. It is better for users to be able to apply these files individually and see the resulting patch output separately, rather than to have everything combined and then not be sure why some change was suggested. |
OK. It is just really a shame that multiple files can't be applied at once. IIRC @Stephan202 said that he had a patch to address this. Possibly he could be coerced into providing a build for this 😉 |
Well, I see your point... how about publishing both? 1) a set of individual
files and 2) the combined file?
I just want to make sure users can use the individual files as well.
|
The combined file would be called all.refaster, for clarity.
|
That would also be an option. Due to another limitation of Refaster, a |
I think we have enough preprocessing infrastructure to produce such Java
files by now 😉
|
Very nice to see this take shape!
That's probably the most pragmatic approach for now. Some alternatives for completeness:
Food for thought:
I checked and it seems I don't have a patch against Error Prone for this. (The fork includes google/error-prone#947, but while that is a step in the right direction, it is not enough.) Currently within Picnic we rely on the grouping provided by google/error-prone#552. The next step is to finalize the code I have described under point 2 in google/error-prone#552 (comment). This is reason I'm interested in the classpath-based distribution mechanism mentioned above: once the I'm swamped with work these weeks, but I can see how it'd be nice to finally open-source a first version of the code. Let me see what I can do in the upcoming weeks. |
@Stephan202 Thanks for your feedback. There are indeed a few open questions and issues surrounding Refaster. I hope Google will at some point provide some feedback.
I just did this a few minutes ago 🤣
Good idea. I will look into this. But I would really also prefer a solution which allows loading the |
The `Splitter` now also copies the `jooq-refaster` and `jooq-test-refaster` Maven modules for all relevant builds.
`jOOQ-refaster` doesn't need to be built as part of the Java 8 builds and in fact only causes problems.
The `exec-maven-plugin` is supposed to use `${basedir}` as the working directory (as one would expect), but it uses the parent process' working directory. Also the existing `<workingDirectory>` parameter has no effect...
Documentation has been published along with |
I'm not really a fan of this idea for these reasons:
As always, when ideas are "clever", the caveats start feeling like show stoppers. We just may have to accept that this technology is not very mature yet, and without the vendor (Google) providing clear guidelines and better features, I prefer not to do too many clever things. |
Let's stick with the |
Yes, and I hope we'll then be able to ship them in a jar file...
Am Freitag, 21. Februar 2020 schrieb Knut Wannheden <
notifications@github.com>:
… Let's stick with the .refaster files on the web site and in the ZIP files
for now. Once Error Prone can load the .refaster files from the
classpath, we can revisit this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#9825?email_source=notifications&email_token=AAFTLAIMVHTND7KJOJBSHXTRD64MBA5CNFSM4KTX4C52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMSNYHI#issuecomment-589618205>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFTLAN2YNPCGEORGHS5OYLRD64MBANCNFSM4KTX4C5Q>
.
|
This commit also contains whitespace changes due to changes required in jOOQ's source preprocessor.
The work from #9630 needs documentation in the manual
The text was updated successfully, but these errors were encountered: