IntelliJ ne peut pas charger de projets avec ce plugin car il n'offre aucun moyen de définir des variables d'environnement à définir pour sbt lors du chargement d'un projet. Les configurer pour une application sur MacOS ne semble pas fiable, car les techniques de travail précédentes étaient cassées sur les mises à jour du système d'exploitation.
Ce serait bien si le jeton github pouvait être fourni en tant que propriété JVM, qui peut être facilement définie.
Heureux d'accepter un PR pour un TokenSource
qui fait ça !
Je suis d'accord que ce serait utile, mais je le fais comme une solution rapide/sale si vous en avez besoin.
githubTokenSource := TokenSource.GitConfig("github.token") || TokenSource.Environment("GITHUB_TOKEN")
Cette solution de contournement ne fonctionne pas pour moi.
Cette solution de contournement ne fonctionne pas pour moi.
Le jeton d'accès personnel que vous avez utilisé a-t-il défini les étendues des packages ? Le fichier ~/.gitconfig devrait avoir une ligne comme celle-ci.
[github]
token = <github_token_value>
Oui, et c'est ce que j'ai dans le fichier .gitconfig.
Cette solution de contournement ne fonctionne pas pour moi.
Le jeton d'accès personnel que vous avez utilisé a-t-il défini les étendues des packages ? Le fichier ~/.gitconfig devrait avoir une ligne comme celle-ci.
[github] token = <github_token_value>
J'ai essayé le même ~/.gitconfig
, cela n'a pas fonctionné en ma faveur non plus.
Pour que la variable d'environnement fonctionne dans IntelliJ, activez sbt shell pour le rechargement du projet.
Outils de construction > sbt > projets sbt
Cela a fonctionné pour moi dans la version Community Edition 2020.3.
Pour que la variable d'environnement fonctionne dans IntelliJ, activez sbt shell pour le rechargement du projet.
Outils de construction > sbt > projets sbt
Cela a fonctionné pour moi dans la version Community Edition 2020.3.
Cela n'a pas fonctionné pour moi. Je l'ai fait configurer via la variable d'environnement. J'ai contourné cela, comme solution de contournement, en utilisant le plugin sbt-dotenv . Après cela, tout a fonctionné sans aucune modification de la configuration IntelliJ ou autre.
Une variante d'une solution de contournement suggérée dans ce problème a fonctionné pour ma configuration IntelliJ.
githubTokenSource := TokenSource.Or(
TokenSource.Environment("GITHUB_TOKEN"), // Injected during a github workflow for publishing
TokenSource.GitConfig("github.token") // local token set in ~/.gitconfig
)
Je partage le fait que notre équipe pensait que nous avions réglé ce problème avec les builds à projet unique et à projets multiples en injectant la valeur githubTokenSource comme paramètre commun dans le bloc de configuration de chaque projet dans le build.sbt. Tout s'est bien passé pour les utilisateurs, les IDE et les espaces de travail GitHub Action qui avaient soit une entrée ~/.gitconfig github.token, soit une variable d'environnement GITHUB_TOKEN.
Jusqu'à ce que l'un de nous décide d'utiliser la tâche runAll
du plugin Lagom.
Cela meurt immédiatement pour le problème d'origine.
Le contexte fourchu utilisé par le plugin Lagom pour déployer l'essaim de services manque à la fois de la variable d'environnement et d'un fichier ~/.gitconfig.
Nous recherchons des moyens de définir l'environnement pour cet environnement d'exécution forké.
Cependant, l'hypothèse générale selon laquelle un GITHUB_TOKEN doit être fourni même si les tâches du plug-in GitHub Package ne sont pas appelées s'avère frustrante pour nos utilisateurs et nos robots qui n'ont pas déjà ce jeton facilement disponible.
Les gourous du SBT.
Existe-t-il un moyen approprié "d'injecter" un paramètre (en particulier githubTokenSource
) dans un espace de noms global afin qu'un plugin comme sbt-github-packages
voie ce paramètre pour tous les projets définis explicitement, pour tous les projets définis dynamiquement ( comme le plugin de Lagom crée), pour toutes les phases de construction, et pour tous les contextes fourchus ?
Il est onéreux d'avoir à revendiquer explicitement l'emplacement d'un identifiant qui est invariant à travers toutes ces permutations encore et encore, d'avoir à approfondir les détails de la façon dont SBT gère les espaces de noms ou les caches d'état.
Ce n'est peut-être pas la faute de ce plugin en particulier, mais ce plugin est celui qui est blâmé pour avoir dû faire toute cette opération SBT interne pour essayer de couvrir tous les cas.
Commentaire le plus utile
Pour que la variable d'environnement fonctionne dans IntelliJ, activez sbt shell pour le rechargement du projet.
Outils de construction > sbt > projets sbt
Cela a fonctionné pour moi dans la version Community Edition 2020.3.