redhat-developer / redhat-developer/vscode-java

Self referencing maven modules should not trigger an infinite loop in vscode

Ouverte
#1,977 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

compile Maven
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

Vscode enters an infinite loop while trying to compile a falsy module setup. It should instead break the build should break with an error stating that a module is self-referencing itself the same way the maven cli report it.

Environment
  • Operating System: OSX BIg Sur
  • JDK version: OpenJDK 11.0.8 2020-07-14
  • Visual Studio Code version: [Version: 1.56.2 Commit: 054a9295330880ed74ceaedda236253b4f39a335]
  • Java extension version:
Steps To Reproduce
  1. Create a parent maven project with packaging type pom - parent
  2. Create a submodule (module-1) project with the packaging type 'jar' in the previous parent project
  3. Add a dependency of module-1 in parent with the save version (${project.version})
  4. See the error: Vscode will enter an infinite loop trying to resolve the dependency

Sample project reproducing the error

test-self-ref.zip

Current Result

The build will never get past the 339/1000 as displayed in the console (infinite loop)

Screenshot 2021-06-10 at 10 40 39
Expected Result

Build should terminate with error as done bymaven when using the cli.

Screenshot 2021-06-10 at 11 02 07
Additional Informations

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par importer le projet test-self-ref.zip joint dans l’extension Java et par comparer son comportement avec celui de Maven CLI. Suivez le chemin de résolution des modules responsable de l’arrêt à 339/1000 ; le travail est terminé lorsque la configuration autoréférente se termine avec une erreur au lieu de boucler indéfiniment.

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

Évaluation

Stack technique
java, vscode
Domaine
build-system, devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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