[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8264010: Add Gradle dependency verification
From:       Kevin Rushforth <kcr () openjdk ! java ! net>
Date:       2021-03-31 14:12:15
Message-ID: AcSvCi067gRzifO1ofy50ZQSkQdUZyMe7AznjEv7sFc=.9c24da1d-8c14-48a3-b291-4e44154d8a61 () github ! com
[Download RAW message or body]

On Thu, 25 Mar 2021 18:53:41 GMT, John Neffenger <jgneff@openjdk.org> wrote:

> > Thanks, Kevin. I added a README file and updated the Lucene instructions, as you \
> > suggested. I'm open to any other suggestions on the wording or formatting, no \
> > matter how minor. 
> > > Some of the files listed are not used directly. I presume that you added them \
> > > because they are used indirectly by other components? Are all of them actually \
> > > needed?
> > 
> > The Gradle command, now documented in the `gradle/README.txt` file, adds entries \
> > to the dependency verification file for all dependencies, including transitive \
> > ones. I think that's the list of everything downloaded during the builds on \
> > Linux, macOS, and Windows. I'll clear the Gradle cache and double-check it now. \
> > I'll let you know if I find anything unexpected.
> 
> > 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.

-------------

PR: https://git.openjdk.java.net/jfx/pull/437


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic