apache / apache/maven-wrapper

Avoid getting HTTP 429 through honoring repositories defined in settings.xml

Ouverte
#421 6 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Java
Étoiles
254
Forks
78
Merge moyen
5 h 26 min
PR mergées (30 j)
2

Description

### New feature, improvement proposal

We recently started getting HTTP 429 from Maven Central when performing builds on a company internal Jenkins:

```
./mvnw -B -e -s path/to/settings.xml ...
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2037)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at org.apache.maven.wrapper.DefaultDownloader.downloadInternal(DefaultDownloader.java:100)
at org.apache.maven.wrapper.DefaultDownloader.download(DefaultDownloader.java:86)
at org.apache.maven.wrapper.Installer.createDist(Installer.java:84)
at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:160)
at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:73)
```

I know there is a possibility to change `distributionUrl` in `.mvn/wrapper/maven-wrapper.properties`
Unfortunately, it is not feasible in this case, because it is a public git repository that can be built by anybody, so we cannot set a company internal `distributionUrl`.

I wonder whether it would be possible to implement some basic parsing of maven mirrors and an repositories present in settings.xml and respect those when downloading the distro?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par suivre le flux de téléchargement du wrapper à travers DefaultDownloader, Installer et WrapperExecutor, puis examinez la manière dont .mvn/wrapper/maven-wrapper.properties et le settings.xml fourni sont traités. Vérifiez les tests existants concernant les téléchargements de distributions et l’analyse de settings.xml. La tâche est terminée lorsque les définitions de dépôts ou de miroirs de settings.xml sont respectées lors des téléchargements de distributions, sans casser les builds qui ne fournissent pas ces paramètres.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
build-system
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.