redhat-developer / redhat-developer/vscode-java

Gradle Source Dependencies do not Show up in Intellisense

Ouverte
#1,781 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

Gradle source dependencies (introduction article: https://blog.gradle.org/introducing-source-dependencies) do not show up inside of intellisense (and by extent, the debugger). Gradle can still build and run the projects fine, but the editor itself doesn't see any of it.

Example settings.gradle:

sourceControl {
    gitRepository("https://github.com/EliSauder/robot-lib-test.git") {
        producesModule("org.frcnomad:lib")
    }
}

Example build.gradle

plugins {
    id "application"
}

group = 'org.frcnomad'

repositories {
    mavenCentral()
}

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

mainClassName = 'org.frcnomad.robot.Main'

dependencies {
    implementation('org.frcnomad:lib') {
        version {
            branch = 'noFRC'
        }
    }

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
    
    testImplementation "org.mockito:mockito-core:2.+"
    testImplementation "org.mockito:mockito-junit-jupiter:2.+"
}

tasks.named('test') {
    useJUnitPlatform()
}

The dependency that is not being resolved is org.frcnomad:lib (a test library I wrote to test source dependencies)

Prior to pursuing this path I created a stack overflow issue here:
https://stackoverflow.com/questions/65912344/vscode-not-recognizing-gradle-source-dependency

Environment
  • Operating System: Windows 10 Pro - Build 19042
  • JDK version: 11.0.10
  • Visual Studio Code version: 1.52.1
  • Java extension version: 0.74.0
  • Gradle: 6.0.1 & 6.8.1 (I tested both versions)
Steps To Reproduce
  1. Create a gradle library to be used as a dependency and then post it publicly to any git server (such as github).
  2. Using gradle's source dependencies require that project directly from the git server.
  3. Intellisense will not detect the contents of the library however gradle will still build and run just fine.

Sample Projects:
Application: https://github.com/EliSauder/robot-test/tree/e652b3670f2bb63f1224c55d346fc5c95d0b1d49 (Linked to a commit since I have switched to jitpack until vscode works with source deps)
Library: https://github.com/EliSauder/robot-lib-test/tree/noFRC

Logs From VSCode (Includes me opening VSCode to opening a file that imports the source dependency): https://1drv.ms/u/s!As6xGUN6WyzakMVHpmJm6sVig9gbIw

Current Result

Intellisense does not recognize any of the contents of a source dependecy

Expected Result

Intellisense should recognize the contents of a source dependency

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

Reproduisez le problème avec les projets d’exemple d’application et de bibliothèque liés, en utilisant la configuration de dépendance de source fournie dans settings.gradle et build.gradle. Commencez par vérifier comment l’extension Java gère les dépendances Gradle, puis vérifiez si org.frcnomad:lib apparaît dans IntelliSense ; la tâche est terminée lorsque son contenu est reconnu, tandis que Gradle continue de compiler et de s’exécuter correctement.

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

Évaluation

Stack technique
java
Domaine
tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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