RFR: 8264010: Add Gradle dependency verification
Kevin Rushforth
kcr at openjdk.java.net
Thu Apr 1 23:26:10 UTC 2021
On Wed, 31 Mar 2021 14:09:40 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>>> Are all of them actually needed?
>>
>> Just to follow up on that question, all of them are in fact downloaded during the build, at least. I removed the Gradle directory `$HOME/.gradle` and ran the build as follows. Then I compared the list of downloaded artifacts with the ones listed in the dependency verification file.
>>
>> $ rm -r $HOME/.gradle
>> $ bash gradlew sdk jmods javadoc apps test -x :web:test
>> ...
>> $ find ~/.gradle/caches/modules-2 ( -name "*.jar" -o -name "*.pom" ) \
>> -exec basename {} ; | sort > downloaded.log
>> $ grep '<artifact' gradle/verification-metadata.xml | sed 's/.*name="(.*)">/\1/' \
>> | sort > verified.log
>> $ diff downloaded.log verified.log
>> 31a32
>>> org.eclipse.swt.cocoa.macosx.x86_64_3.105.3.v20170228-0512-.jar
>> 32a34
>>> org.eclipse.swt.win32.win32.x86_64_3.105.3.v20170228-0512-.jar
>>
>> A total of 36 artifacts (14 JAR files and 22 POM files) are downloaded during the build. The SWT libraries for macOS and Windows were not downloaded because I ran the build on Linux.
>
> We have a few in-flight or imminent updates that will impact this PR. There is a tight deadline on one of them (an ICU data file dependency), so I'd prefer to wait on integrating this until after they are done.
>
> It's still worth continuing the review in the mean time. I noticed that the libav bundles are missing on Linux. To ensure that you aren't missing any dependencies, can you add the following gradle flags to your build?
>
> -PCOMPILE_MEDIA=true -PBUILD_LIBAV_STUBS=true
>
> This will build the native media libraries, including the libav stubs (the latter is Linux only). Eventually, you will need to include WebKit, but that's not needed for now.
When you build media with libav stubs on Linux, you should see the following 5 new entries:
ffmpeg-3.3.3-.tar.gz
ffmpeg-4.0.2-.tar.gz
libav-11.4-.tar.gz
libav-12.1-.tar.gz
libav-9.14-.tar.gz
And I was right about the additional internal tools that I would need to add. Here is the list:
cmake-3.13.3-Darwin-x86_64.tar.gz
cmake-3.13.3-Linux-x86_64.tar.gz
cmake-3.13.3-win32-x86.zip
devkit-linux_x64-gcc10.2.0-OL6.4+1.0.tar.gz
devkit-macosx_x64-Xcode11.3.1-MacOSX10.15+1.0.tar.gz
devkit-windows_x64-VS2019-16.7.2+1.0.tar.gz
jfx-devkit-gcc-patch+1.1.tar.gz
ninja-win.zip
When you build media with libav stubs on Linux, you should see the following 5 new entries:
ffmpeg-3.3.3-.tar.gz
ffmpeg-4.0.2-.tar.gz
libav-11.4-.tar.gz
libav-12.1-.tar.gz
libav-9.14-.tar.gz
And I was right about the additional tools that I would need to add (as a bonus I found an unused tool that I will eliminate). Here is the list:
cmake-3.13.3-Darwin-x86_64.tar.gz
cmake-3.13.3-Linux-x86_64.tar.gz
cmake-3.13.3-win32-x86.zip
devkit-linux_x64-gcc10.2.0-OL6.4+1.0.tar.gz
devkit-macosx_x64-Xcode11.3.1-MacOSX10.15+1.0.tar.gz
devkit-windows_x64-VS2019-16.7.2+1.0.tar.gz
jfx-devkit-gcc-patch+1.1.tar.gz
ninja-win.zip
And here is one that will show up after PR #450 is integrated:
icudt-64l.zip
And here is one that will show up after PR #450 is integrated:
icudt-64l.zip
-------------
PR: https://git.openjdk.java.net/jfx/pull/437
More information about the openjfx-dev
mailing list