-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Обновить NewPipeExtractor до v0.22.4 или последнего билда #161
Comments
И здесь начался какой-то треш. Для начала здесь https://jitpack.io/#TeamNewPipe/NewPipeExtractor/ версия 0.22.4 маркирована ошибкой, 0.22.3 помечана как ок. Указал просто новую версию в app/build/gradle как всегда делал было:
стало:
получаю при билде:
т.е. не может найти библиотеку этой версии и по этому адресу, действительно, ничего нет. Но здесь видно, что оно каким-то фигом подставило в адрес лишний участок NewPipeExtractor после ручной правки в таком виде адрес работает: Но сборочный плагин почему-то не в курсе, откуда он берет этот сегмент - не ясно. Сначала подумал, что дело, может, в устаревшей сборочной системе (каки-нибудь не дружит с jitpack.io), попытался обновить (по схеме из проекта NewPipe)
(у меня сейчас 'com.android.tools.build:gradle:4.2.0') но при обновлении вылезли еще какие-то ошибки (судя по всему, последние версии грейдла хотят java 11, а не 8 как у меня, но это не точно). Попытался откатить всё обратно, но проект перестал собираться с версией NewPipeExtractor:v0.22.1, с которой еще вчера всё работало (вероятно, она хранилась где-то в кеше, почему она выкачивалась раньше - не ясно вообще). Пока мудохался с обновлениями, почистил кэш грейдла очистил несколько гигов. Но, видимо, где-то там же были старые версии библиотеки, которые, по какой-то причине раньше смогли установиться. Дальше еще интереснее. Если посмотреть внимательнее на страницу библиотеки https://jitpack.io/#TeamNewPipe/NewPipeExtractor/ в общем виде шаблон добавления в зависимости он придлагает такой:
(как у меня сейчас) а если кликнуть на конкретную версию, он заполняет шаблон автоматом и он выглядит уже по-другому:
В названии пэкэджа (в мейвене это groupId) появляется NewPipeExtractor в конце. Такое название больше соответствует ссылке, по которой эту зависимость пытается искать билд-скрипт грейдл. Но, сука, ссылки на закачку у них по этой схеме не работают, а работают по схеме без этого дополнительного уточнения. Если указать в проекте так, как они предлагают, то ошибка ровно та же. Причем, файл pom пытается искать ровно по той же ссылке. Значит он ссылку на закачку по этой схеме не генерит сам, а берет откуда-то еще. Например, из индекса репозитория, в котором она почему-то битая или у меня кэш нужно обновить. Дальше стал проверять, получится ли выкачать хоть какую старую версию NewPipeExtractor, как-то же собиралось же раньше с ним. Спустился вниз до v0.21.12 - она устанавливается. Версия v0.21.13 уже не устанавливается с абсолютно аналогичной ошибкой. Ниже 0.21.12 тоже устанавливаются (взял несколько навскидку) У меня в версии 0.9.0 NewPipeExtractor версии 0.22.1 https://github.com/sadr0b0t/yashlang/blob/v0.9.0/app/build.gradle Еще появилось предположение, что, может, более новые версии библиотеки собираются, к примеру, с Java11, а у меня Java8 и установщик, к примеру, просто не даёт их качать как недоступные для момоей системы, но при этом выдает какую-то дикую фигню вместо нормальной ошибки. Смотрю сборочные логи jitpack.io Эти качаются: Эти не качаются: https://jitpack.io/com/github/TeamNewPipe/NewPipeExtractor/v0.21.12/build.log (эта качается)
https://jitpack.io/com/github/TeamNewPipe/NewPipeExtractor/v0.21.13/build.log (эта не качается)
Никаких существенных отличий на первый взгляд нет. Версия Java и там и там 8, но в 13-й немного освежился билд Можно было бы подумать не этот адейт. Но у меня ровно такой же билд, как в 0.21.13:
Еще отличие - в 0.22.12 команда сборки "gradle build", а начиная с 0.22.12 - "gradle assemble". Но судя по сообщениям в интернетах, у них принципиальной разницы нет, просто билд кроме сборки еще запускает какие-то дополнительные тесты. В 0.22.3 примерно то же, только обновился gradle, java та же В 0.22.4 как раз ошибка из-за того, что пытаются использовать 11-ю жабу |
Так, с этой частью понятно. Корневой проект NewpPipeExtractor у них содержит в засимостях еще три подпроекта, один из которых называется так же - NewPipeExtractor. При загрузке корневого проекта он обращается к одноименному дочернему. <?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.TeamNewPipe</groupId>
<artifactId>NewPipeExtractor</artifactId>
<version>v0.22.3</version>
<dependencies>
<dependency>
<groupId>com.github.TeamNewPipe.NewPipeExtractor</groupId>
<artifactId>extractor</artifactId>
<version>v0.22.3</version>
</dependency>
<dependency>
<groupId>com.github.TeamNewPipe.NewPipeExtractor</groupId>
<artifactId>NewPipeExtractor</artifactId>
<version>v0.22.3</version>
</dependency>
<dependency>
<groupId>com.github.TeamNewPipe.NewPipeExtractor</groupId>
<artifactId>timeago-parser</artifactId>
<version>v0.22.3</version>
</dependency>
</dependencies>
</project> Это видно в файле pom, интерфейс jitpack это тоже показывает И в случае с NewPipeExtractor v0.21.12 на месте оба файла - и корневой и дочерний А в случае с NewPipeExtractor v0.21.13 и всеми старшими сейчас на месте только корневой Поэтому их система сборки загрузить не и неможет. Значит ни в репозиториях ни в системе сборки логических глюков никаких нет - всё ок. Остаётся открытым вопрос, куда эти дочерние библиотеки делись, если они раньше точно были. И как собирается обычный NewPipe, если у него в зависимостях указаны именно эти версии из этого репозитория. |
В таком виде интересней: https://jitpack.io/com/github/TeamNewPipe/NewPipeExtractor/NewPipeExtractor/v0.21.12/
https://jitpack.io/com/github/TeamNewPipe/NewPipeExtractor/NewPipeExtractor/v0.21.13/
На последней ссылке на секунду поймал сообщение
сейчас уже просто "Not found" на других версиях ловится вариант "File not found. Build ok" Интересно еще посмотреть, какая версия NewPipe в репозитории F-droid. По идее там должны билды происходить на своих серверах, поэтому все зависимости внешние дожны из публики тянуться. |
О, вот здесь вроде дочерний проект на месте
а здесь
|
С этой версией (точнее, произвольным срезом, т.к. это не релиз):
попробую найти рабочие билды посвежее |
NewPipe последний релиз - 0.25.0 (9-е февраля, свежак) NewPipeExtractor указан не тег, а какой-то билд или коммит:
Билд дочернего проекта на месте |
Короче, билд норм 5f88af8
Можно релизить. Только ссылки на иконки каналов, похоже, поменялись. Нужно поправить в рекомендациях и, видимо, како-то обновить еще старые внутри базы. |
Оказывается, NewPipeExtractor со времени 0.22.1 (апрель 2022) публиковал релизы, просто маркировал их как "пре-релиз", поэтому они не появлялись на главной https://github.com/TeamNewPipe/NewPipeExtractor/releases
Текущий последний релиз 0.22.4 https://github.com/TeamNewPipe/NewPipeExtractor/releases/tag/v0.22.4 ноябрь 2022 и, надеюсь, в нем ютюб должен быть починен.
Плюс они публикуют билды на https://jitpack.io/, а там, оказывается, можно указывать в качестве зависимости не только таги, но и коммиты и немаркированные билды.
У NewPipe, к примеру, в зависимостях сейчас стоит какой-то коммит или билд, а не маркированная версия
https://github.com/TeamNewPipe/NewPipe/blob/v0.24.1/app/build.gradle
Поэтому можно обновиться и запулить, наконец, релиз.
https://jitpack.io/
Список опубликованных версий NewPipeExtractor:
https://jitpack.io/#TeamNewPipe/NewPipeExtractor/
--
плюс сдесь же между делом заменим jcenter() (на который среда ругается мне уже давно) на mavenCentral()
https://github.com/TeamNewPipe/NewPipe/blob/dev/build.gradle
The text was updated successfully, but these errors were encountered: