2016-09-19 9 views
3

Я пытаюсь сделать SBT работу с IPFS. Я хочу публиковать артефакты в IPFS, а затем зависеть от них в другом проекте.IPFS resolver for sbt

В зависимости проекта я использую этот SBT распознаватель:

resolvers += "ipfs-iscpif" at "https://ipfs.iscpif.fr/ipns/QmXTLZWz1VQqv9nFKersuNnRgPmMEkiHuRnS8i1c8A9XSF/ivy" 

Все работает за исключением того, что зависимости загружаются на каждом обновлении или, чистые; компиляции. Ключ плюща не работает вообще.

> ;clean;compile 
[success] Total time: 0 s, completed 19 sept. 2016 13:19:41 
[info] Updating {file:/tmp/test/}test... 
[info] Resolving fr.iscpif.gridscale#http_2.11;1.88-SNAPSHOT ... 
[warn] Unable to reparse fr.iscpif.gridscale#http_2.11;1.88-SNAPSHOT from ipfs-iscpif, using Mon Sep 19 13:19:43 CEST 2016 
[info] Resolving fr.iscpif.gridscale#gridscale_2.11;1.88-SNAPSHOT ... 
[warn] Unable to reparse fr.iscpif.gridscale#gridscale_2.11;1.88-SNAPSHOT from ipfs-iscpif, using Mon Sep 19 13:19:43 CEST 2016 
[info] Resolving jline#jline;2.12.1 ... 
[info] downloading https://ipfs.iscpif.fr/ipns/QmXTLZWz1VQqv9nFKersuNnRgPmMEkiHuRnS8i1c8A9XSF/ivy/fr/iscpif/gridscale/http_2.11/1.88-SNAPSHOT/http_2.11-1.88-20160919.103956-1.jar ... 
[info] [SUCCESSFUL ] fr.iscpif.gridscale#http_2.11;1.88-SNAPSHOT!http_2.11.jar (86ms) 
[info] downloading https://ipfs.iscpif.fr/ipns/QmXTLZWz1VQqv9nFKersuNnRgPmMEkiHuRnS8i1c8A9XSF/ivy/fr/iscpif/gridscale/gridscale_2.11/1.88-SNAPSHOT/gridscale_2.11-1.88-20160919.103953-1.jar ... 
[info] [SUCCESSFUL ] fr.iscpif.gridscale#gridscale_2.11;1.88-SNAPSHOT!gridscale_2.11.jar (92ms) 
[info] Done updating. 
[success] Total time: 3 s, completed 19 sept. 2016 13:19:44 
> ;clean;compile 
[success] Total time: 0 s, completed 19 sept. 2016 13:19:45 
[info] Updating {file:/tmp/test/}test... 
[info] Resolving fr.iscpif.gridscale#http_2.11;1.88-SNAPSHOT ... 
[warn] Unable to reparse fr.iscpif.gridscale#http_2.11;1.88-SNAPSHOT from ipfs-iscpif, using Mon Sep 19 13:19:45 CEST 2016 
[info] Resolving fr.iscpif.gridscale#gridscale_2.11;1.88-SNAPSHOT ... 
[warn] Unable to reparse fr.iscpif.gridscale#gridscale_2.11;1.88-SNAPSHOT from ipfs-iscpif, using Mon Sep 19 13:19:45 CEST 2016 
[info] Resolving jline#jline;2.12.1 ... 
[info] downloading https://ipfs.iscpif.fr/ipns/QmXTLZWz1VQqv9nFKersuNnRgPmMEkiHuRnS8i1c8A9XSF/ivy/fr/iscpif/gridscale/http_2.11/1.88-SNAPSHOT/http_2.11-1.88-20160919.103956-1.jar ... 
[info] [SUCCESSFUL ] fr.iscpif.gridscale#http_2.11;1.88-SNAPSHOT!http_2.11.jar (86ms) 
[info] downloading https://ipfs.iscpif.fr/ipns/QmXTLZWz1VQqv9nFKersuNnRgPmMEkiHuRnS8i1c8A9XSF/ivy/fr/iscpif/gridscale/gridscale_2.11/1.88-SNAPSHOT/gridscale_2.11-1.88-20160919.103953-1.jar ... 
[info] [SUCCESSFUL ] fr.iscpif.gridscale#gridscale_2.11;1.88-SNAPSHOT!gridscale_2.11.jar (93ms) 
[info] Done updating. 
[success] Total time: 1 s, completed 19 sept. 2016 13:19:46 

Банку загружают каждый раз. После длительного расследования, похоже, это связано с заголовком http «Last-Modified». Протокол IPFS не имеет понятия времени модификации, поэтому этот заголовок устанавливается шлюзом на текущую дату. Можно ли заставить SBT рассмотреть время публикации, опубликованное в метаданных (ivy.xml для ivy или maven-metdata.xml для maven) вместо этого заголовка http?

наилучшими пожеланиями, Ромен

Edit 1: на основе ОПЗ SBT репо будет очень хорошо. Однако я думаю, что он не может работать с текущим состоянием SBT и IPFS. SBT полагается на заголовок http Last-Modified, который установлен на текущую дату IPNS и отсутствует для IPFS. Это означает, что либо зависимость моментального снимка обновляется в каждом обновлении, либо никогда не обновляется. Последние 24 часа я посвятил этой теме, и я думаю, что в настоящее время нет решения опубликовать артефакт моментальных снимков для IPFS.

ответ

0

только что нашел этот вопрос. Не обязательно добавлять информацию в API имен, когда последняя публикация была опубликована, чтобы вы могли получить эту информацию в заголовке http. Тем не менее, вы нашли https://github.com/magik6k/sbt-publish-ipfs?

 Смежные вопросы

  • Нет связанных вопросов^_^