quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.73k stars 2.67k forks source link

Quarkus CLI update doesn't respect proxy settings of maven #40252

Open MFehmiB opened 6 months ago

MFehmiB commented 6 months ago

Describe the bug

We are on Quarkus 2.1. We want to update to Quarkus 3.8. We are in an enterprise environment and have in our maven settings our own nexus repository for maven. This is all configured in our settings.xml - and mvn in our IDEs and terminals always respects this proxy. When I try to use quarkus in my terminal and want to use 'quarkus update x', it prints this error message:

Could not transfer artifact io.quarkus.registry:quarkus-registry-descriptor:json:1.0-SNAPSHOT from/to registry.quarkus.io (https://registry.quarkus.io/maven):
transfer failed for https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-registry-descriptor/1.0-SNAPSHOT/quarkus-registry-descriptor-1.0-SNAPSHOT.json

I tried adding our own domain in the registry, but it's domain is: nexus.webapp.intern.repos/groups/maven when I try that, Quarkus says, '/' is an illegal character in host-name.

What can I do?

Expected behavior

quarkus update respects the configured proxy the settings.xml when using mvn

Actual behavior

quarkus cli doesn't respect proxy

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

java 17

Quarkus version or git rev

quarkus 2.14

Build tool (ie. output of mvnw --version or gradlew --version)

mvn 3.8.6

Additional information

No response

quarkus-bot[bot] commented 6 months ago

/cc @ebullient (cli), @maxandersen (cli), @quarkusio/devtools (maven)

maxandersen commented 3 months ago

this is not maven lookup but the lookup of quarkus registry which provides info about what needs to be updated.

it should work if you have a http proxy configured.

aloubyansky commented 3 months ago

@MFehmiB does quarkus create app work? It looks like it shouldn't be specific to quarkus update

gtroitsk commented 3 months ago

@MFehmiB In Quarkus QE we also using Nexus mirror, that works well. Tested update of getting-started app from Quarkus 2.13.9.Final to 3.12.3

Example of our settings.xml:


<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <mirrors>
        <mirror>
            <id>central-mirror</id>
            <mirrorOf>central</mirrorOf>
            <name>central</name>
            <url>http://nexus.dynamic.quarkus:8081/repository/maven-central</url>
            <blocked>false</blocked>
        </mirror>
        <mirror>
            <id>nexus-snapshots-mirror</id>
            <mirrorOf>nexus-snapshots</mirrorOf>
            <name>nexus-snapshots</name>
            <url>http://nexus.dynamic.quarkus:8081/repository/maven-snapshots</url>
            <blocked>false</blocked>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <repositories>
                <repository>
                    <id>central</id>
                    <name>central</name>
                    <url>http://nexus.dynamic.quarkus:8081/repository/maven-central</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>nexus-snapshots</id>
                    <name>nexus-snapshots</name>
                    <url>http://nexus.dynamic.quarkus:8081/repository/maven-snapshots</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                  </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <name>central</name>
                    <url>http://nexus.dynamic.quarkus:8081/repository/maven-central</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>nexus-snapshots</id>
                    <name>nexus-snapshots</name>
                    <url>http://nexus.dynamic.quarkus:8081/repository/maven-snapshots</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                  </pluginRepository>
            </pluginRepositories>
            <id>nexus</id>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>