On Mon, Nov 29, 2021 at 8:10 AM Sandro Bonazzola <sbonazzo@redhat.com> wrote:


Il giorno lun 29 nov 2021 alle ore 08:02 Martin Perina <mperina@redhat.com> ha scritto:


On Fri, Nov 26, 2021 at 6:39 PM Sandro Bonazzola <sbonazzo@redhat.com> wrote:
Hi,
In ovirt-engine pom.xml there's a requirement for build time on ovirt-engine-extensions-api = 1.0.0.
This dependency is available on maven central so online build works.

Any clue on why we are not requiring 1.0.1 instead ? 

We are packaging ovirt-engine-extensions-api during the development but it ships 1.0.2.SNAPSHOT so when building in offline mode (needed for building on CentOS Virt SIG) it fails as the 1.0.0 artifact was never downloaded.

I can rebuild ovirt-engine-extensions-api from 1.0.0 or 1.0.1 which are available in maven central too as requiring explicitly 1.0.2.SNAPSHOT fails with:
Failed to execute goal on project common-dependencies: Could not resolve dependencies for project org.ovirt.engine.core.manager:common-dependencies:jar:4.5.0-SNAPSHOT: The following artifacts could not be resolved: org.ovirt.engine.api:ovirt-engine-extensions-api:jar:1.0.2.SNAPSHOT, org.ovirt.java-client-kubevirt:java-client-kubevirt:jar:0.5.0, org.apache.sshd:sshd-common:jar:2.6.0, org.apache.sshd:sshd-core:jar:2.6.0, net.i2p.crypto:eddsa:jar:0.3.0, org.ovirt.engine.api:metamodel-server:jar:1.3.7, org.ovirt.vdsm-jsonrpc-java:vdsm-jsonrpc-java-client:jar:1.6.0, com.fasterxml.jackson.core:jackson-databind:jar:2.12.1, org.jboss.resteasy:resteasy-jaxrs:jar:3.9.3.Final, com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.12.1, org.apache.httpcomponents:httpclient:jar:4.5.13: Could not find artifact org.ovirt.engine.api:ovirt-engine-extensions-api:jar:1.0.2.SNAPSHOT -> [Help 1]

Any recommendations on how to proceed? 

So in spec file we are requiring >= 1.0.0:


So it means that an RPM providing the necessary requirements should be installed.

Yes, 1.0.2-SNAPSHOT from master is being installed *at runtime*.
But here we need it *at build time*.
So we need to add a BuildRequires line there.
 
And AFAIK maven should detect we have ovirt-engine-extensions-api-1.0.z installed and it should use it for building. Or am I missing something?

The issue is that pom file is requiring exactly 1.0.0 and not >= 1.0.0. So if a different version is installed, it fails.

Well, I'm almost sure that xmvn is capable of using a newer version from RPM if the project requires an older version.
For example mockito 3.12.4 requires junit 4.12 and we have only 4.13 provided as an RPM.
So isn't the problem in the SNAPSHOT version availability?


 

I see that you built snapshot version on CBS:


But wouldn't it be better to build the stable 1.0.1 release instead?

Sure, I'll do. The build was a test to ensure CBS is able to build the package.
I'll build 1.0.1 and then adjust the pom to require it instead of 1.0.0.
 


--

Sandro Bonazzola

MANAGER, SOFTWARE ENGINEERING, EMEA R&D RHV

Red Hat EMEA

sbonazzo@redhat.com   

Red Hat respects your work life balance. Therefore there is no need to answer this email out of your office hours.




--
Martin Perina
Manager, Software Engineering
Red Hat Czech s.r.o.


--

Sandro Bonazzola

MANAGER, SOFTWARE ENGINEERING, EMEA R&D RHV

Red Hat EMEA

sbonazzo@redhat.com   

Red Hat respects your work life balance. Therefore there is no need to answer this email out of your office hours.




--
Martin Perina
Manager, Software Engineering
Red Hat Czech s.r.o.