jextract standalone repository
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Fri Apr 1 20:52:13 UTC 2022
I believe you need to wait. I don't think it's possible to file PRs
without OCA (the bots will check for that).
Maurizio
On 01/04/2022 21:43, Daniel Jarabek wrote:
> Hi,
>
> I am ready to contribute my changes, however my OCA is still under
> review. Is there some way to speed up the review process or do I just
> need to wait? Should I make the pull request anyways even though my
> OCA has not yet been reviewed?
>
> -DJ
>
> On 3/28/2022 6:14 AM, Maurizio Cimadamore wrote:
>> Hi Daniel,
>> thanks for the feedback.
>>
>> We're more than happy to accept contributions on this. I'd prefer to
>> start with #3 - I think #1 seems to do its own magic to fetch a
>> matching openjdk build (but w/o using one of those available in e.g.
>> https://urldefense.com/v3/__https://jdk.java.net/18/__;!!ACWV5N9M2RV99hQ!catUiRwx_3rkR0m6zfgVD-FZPJGqXcLN4g3kdCMHjfu5-shBKqsOvCJQoOmJxYYx5xG03LM$
>> ).
>>
>> Thanks
>> Maurizio
>>
>> On 26/03/2022 17:56, Daniel Jarabek wrote:
>>> Hi,
>>>
>>> I noticed you are using Gradle as a build tool for jextract. I took
>>> a look at your build.gradle file and noticed a few things that could
>>> be improved. I'm by no means a Gradle expert, but I hope my advice
>>> is still helpful.
>>>
>>> 1. Use Gradle JVM toolchains
>>> Gradle JVM toolchains let you use JDKs other than the JDK Gradle is
>>> running on. This would eliminate the need for the jdk18_home
>>> property. Gradle automatically scans for JDKs matching the
>>> requirements in known paths as well as user specified locations.
>>> Unfortunately, the moditect plugin uses java.home to locate tools,
>>> however you can still manually override this property with the
>>> location from the toolchain. The jpackage plugin handles toolchains
>>> correctly. You can learn more about Gradle toolchains here:
>>> https://urldefense.com/v3/__https://docs.gradle.org/current/userguide/toolchains.html__;!!ACWV5N9M2RV99hQ!catUiRwx_3rkR0m6zfgVD-FZPJGqXcLN4g3kdCMHjfu5-shBKqsOvCJQoOmJxYYxGDv__PM$
>>>
>>> 2. Use a more "gradle-like" approach
>>> This is a little bit harder to do. Gradle has advanced features
>>> relating to incremental builds and caching, however the use of
>>> onlyIf with file exists checks breaks many of these features,
>>> meaning you must run clean task before every build to get a fresh
>>> build. This could cause some confusion for people who are familiar
>>> with Gradle's normal operation. This isn't really that big of an
>>> issue, but might be something to consider in the future.
>>>
>>> 3. General cleanup/improvements
>>> A lot of things could be generally cleaned/improved up, for example:
>>> - `options.compilerArgs.addAll(['--release', '18'])` can become
>>> `options.release = 18`
>>> - `dependsOn jar` in addMainModuleInfo would be more technically
>>> correct than `dependsOn build`
>>> - making build task depend on jpackage task so that build (the
>>> normal gradle task to build a project) creates the executable.
>>> - improvements to libclang path handling are already being worked on
>>> at
>>> https://urldefense.com/v3/__https://github.com/openjdk/jextract/pull/8__;!!ACWV5N9M2RV99hQ!catUiRwx_3rkR0m6zfgVD-FZPJGqXcLN4g3kdCMHjfu5-shBKqsOvCJQoOmJxYYxIk5t7Aw$
>>>
>>> I would be willing to make pull request(s) for #1 and #3 if those
>>> are desired changes and if JBS issues can be created.
>>>
>>> -DJ
>>>
>>> On 3/23/2022 5:50 PM, Maurizio Cimadamore wrote:
>>>> Hi,
>>>> as anticipated in [1], jextract has finally landed in its own
>>>> standalone repository:
>>>>
>>>> https://urldefense.com/v3/__https://github.com/openjdk/jextract__;!!ACWV5N9M2RV99hQ!catUiRwx_3rkR0m6zfgVD-FZPJGqXcLN4g3kdCMHjfu5-shBKqsOvCJQoOmJxYYx7eLBw9M$
>>>>
>>>> The version of jextract included in this repo is suitable to work
>>>> with Java 18 (just hot off the press!), and we plan to create new
>>>> branches as new Java versions will come out (to make it easy to
>>>> find the version you want to work with).
>>>>
>>>> The jextract sources can be built using gradle; as usual, the build
>>>> depends on libclang, so a LLVM binary snapshot is required [2].
>>>> Testing is also possible (requires jtreg).
>>>>
>>>> Jextract binary snapshots will be made available at a later date.
>>>> Moving forward, we will gradually phase out the jextract branch
>>>> (foreign-jextract) of the panama/foreign repository, and work on
>>>> the standalone repository instead.
>>>>
>>>> If you are interested, please give it a try, and let us know what
>>>> you think.
>>>>
>>>> Cheers
>>>> Maurizio
>>>>
>>>> [1] -
>>>> https://mail.openjdk.java.net/pipermail/panama-dev/2021-December/015895.html
>>>>
>>>> [2] -
>>>> https://urldefense.com/v3/__https://releases.llvm.org/download.html__;!!ACWV5N9M2RV99hQ!catUiRwx_3rkR0m6zfgVD-FZPJGqXcLN4g3kdCMHjfu5-shBKqsOvCJQoOmJxYYx3NSXE28$
>>>>
>>>>
More information about the panama-dev
mailing list