Closed artbear closed 6 years ago
Возможно, что в коде идет обращение к сценарию КонстантыOpm уже после удаления файлов opm. Тогда поможет предварительное кеширование результатов вызова этого скрипта.
Пока некогда, может быть, вечером подключусь и сам посмотрю проблему и решение :)
C:\Program Files (x86)\OneScript\lib\opm\src\Модули\КонстантыOpm.os
данного файла и в правду нет и не должно быть он переехал в C:\Program Files (x86)\OneScript\lib\opm\src\core Модули\КонстантыOpm.os
Вопрос почему он есть в packagedef... (видимо вызов и определение версии)
Ух как хочется packagedef.json <<--- из-за того что там может быть код и этот файл подключается как сценарий opm невозможно собрать через -make
Ух как хочется packagedef.json
package.json а в packagedef код который его инклюдит?
Просто package.json
или packagedef
в формате package.json
))
Просто package.json или packagedef в формате package.json))
Слишком просто )
@artbear У тебя явно ставится не 0.14.2 Вот как выглядит лог установки 0.14.2
Aleksej:opm khorevaa$ opm install opm
ИНФОРМАЦИЯ - Скачиваю файл: opm.ospx
ИНФОРМАЦИЯ - Устанавливаю пакет opm
ИНФОРМАЦИЯ - Регистрация приложения: opm
ИНФОРМАЦИЯ - Установка завершена
Aleksej:opm khorevaa$ opm version
0.14.2
Это я к тому что при установке 0.14.2 - не устанавливаются зависимости совсем. Они идут вместе с пакетом!!!!
@asosnoviy уж очень хочется! Можно тогда бы было автоматически менять при выпуске релиза! А не каждый раз ручками!! (( Да и зависимости разработки ух как требуются - не хочу я включать в зависимости пакета 1bdd и 1testruuner. Приходится через скрипт доустанавливать в ручную
@Khorevaa зависимости опм не ставятся только если ставить 0.14.2 какой-либо 0.14 версией. А 0.13 ничего не знает про установку библиотек из oscript_modules
Нужно выяснить, почему работающий опм после выполнения установки реинициализирует описание пакета из 0.13.
Но ещё раз повторяю, проблема не в 14 версии, а в некорректной работе 13ой.
@artbear @nixel2007 если ставить 0.14 версией 0.14.х Тогда лог выглядит вот так
leksej:opm khorevaa$ opm install opm
ИНФОРМАЦИЯ - Скачиваю файл: opm.ospx
ИНФОРМАЦИЯ - Устанавливаю пакет opm
ИНФОРМАЦИЯ - Регистрация приложения: opm
ИНФОРМАЦИЯ - Установка завершена
ИНФОРМАЦИЯ - Устанавливаю зависимость: <fs> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <fs> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <asserts> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <asserts> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <json> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <json> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <fluent> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <fluent> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <logos> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <logos> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <cmdline> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <cmdline> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <tempfiles> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <tempfiles> уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: <gitrunner> из каталога локальных зависимостей
ИНФОРМАЦИЯ - <gitrunner> уже установлен. Пропускаем.
@artbear @nixel2007 Получается тогда это битая версия 0.13 - как минимум
о чем я и говорю уже месяц)
@nixel2007 @artbear В 0.13 версии КешУстановленныхПакетов
перечитывает состав кеша при установки зависимостей. Возможно в этом проблема
Хотя в 0.14 версии поведение класса не менялось
@khorevaa @nixel2007 Конечно, проблема в обновлении с 0.13.1 на 0.14
Нужно как-то это подправить.
@nixel2007 Провожу дальше исследование После распаковки пакета происходить считывает обработчиков из packagedef. При этом данный файл уже может быть подменен см тут
В общем, все просто
Я поставил версию 0.13.1 ее исследовал и выявил, что не удаляется файл packagedef
Добавил указанную строку и все заработало. 0.13.1 через opm install opm ставит последнюю 0.14.2
@khorevaa @nixel2007 Теперь осталось решить главное - как клиентам с 0.13.1 поступить?
Предлагаю выпустить релиз 0.13.2
а клиенты, у кого с opm install opm
возникнут проблемы
opm install opm@0.13.2
opm install opm
Фикс-ветку 0-13-1-fix я запушил.
@artbear @nixel2007 Думаю аналогичные изменения нужны и для версии 0.14.х Принципиально то код не менялся
@artbear разве нельзя добавить перехватчик в opm 0.14.x, который будет удалять старый packagedef ПередУстановкой
?
@artbear просто никто в здравом уме не догадается, что перед апдейтом на 0.14 надо сначала сделать апдейт на 0.13.2. все равно в гиттер придут.
плюс удаление packagedef перед установкой пакета не отвечает на вопросы "почему вызывается старый packagedef после установки нового пакета" или "почему установка нового packagedef не перезатирает старый packagedef". этот фикс - скорее избавление от симптома, и боюсь, что проблема глубже, и она может повториться и в ветке 0.14+
Может патч какой выпустить? Типа не "сначала сделайте opm install 13.2, а потом install 14", а прямо отдельный какой-то трюк типа "вот так сделайте и все будет зашибись"...
Никита, фишка в том, что наш бар возникает для кейса - в старом пакете есть packagedef, а в новом пакете его нет. А опм в любом случае проверяет наличие этого файла и если есть, запускает его обработку.
Т.е. из 2х упомянутых тобой кейсов не работает только первый кейс. А со вторым все в порядке. Я проверил его сразу.
А вообще достаточно исправить 0.14 , как я исправил, удаляя packagedef .
И баг будет исправлен.
Пока что в метро, не могу исправить.
пн, 9 июл. 2018 г., 0:38 Nikita Gryzlov notifications@github.com:
плюс удаление packagedef перед установкой пакета не отвечает на вопросы "почему вызывается старый packagedef после установки нового пакета" или "почему установка нового packagedef не перезатирает старый packagedef". этот фикс скорее избавление от симптома и боюсь, что проблема глубже и она может повториться и в ветке 0.14+
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/oscript-library/opm/issues/123#issuecomment-403319177, or mute the thread https://github.com/notifications/unsubscribe-auth/ACyRcVJ0l3_KWQD6ILeNSJ0RWg38tQKDks5uEnvHgaJpZM4VGv8I .
А может перевыпустить релиз движка с opm 14.2 на борту ?
"вот так сделайте и все будет зашибись"...
Переставьте движок и будет все зашибись...
А оно может не сработать. Обычно флажок библиотек снимают, чтобы существующий lib не похерить
@artbear
в старом пакете есть packagedef, а в новом пакете его нет.
как так? О_О в новом opm тоже есть packagedef. только содержимое у него поменялось
Ну никак не получается поломать так как у @artbear =( По другому получается, а так нет...
А нет ли здесь бага движка с Архив.ИзвлечьВсе
, когда packagedef не заменяется версией из архива?
В https://github.com/oscript-library/opm/pull/124 исправил проблему, когда
что и наблюдалось в текущем ишузе.
Предлагаю выпустить релиз 0.14.3
в старом пакете есть packagedef, а в новом пакете его нет.
как так? О_О в новом opm тоже есть packagedef. только содержимое у него поменялось
@nixel2007 тут важно наличие packagedef в папки установки пакета и отсутствие packagedef в ospx-поставке пакета
а именно так сейчас и есть в opm :)
Предлагаю выпустить релиз 0.14.3
Твой фикс никак не поможет обновиться с 0.13.
для обновления с 0.13 простой рецепт:
%OneScript%/lib/opm/packagedef
opm update opm
а мой фикс поможет решить описанную мной выше проблему https://github.com/oscript-library/opm/issues/123#issuecomment-404199831
надо чтобы это автоматом призошло. думаю, стоит дописать обработчик установки в новом opm, который бы чистил за предыдущей версией файл. тогда твой фикс не даст произойти такой проблеме с другими либами, а обработчик даст обновиться с 0.13 автоматически.
@nixel2007 А раньше в поставку либы/ приложения разве входил файл packagedef
?
он с движком идет. т.к. движок собирает либы гит-клоном, а не из ospx
чт, 12 июл. 2018 г. в 15:04, Aleksey Khorev notifications@github.com:
@nixel2007 https://github.com/nixel2007 А раньше в поставку либы/ приложения разве входил файл packagedef?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/oscript-library/opm/issues/123#issuecomment-404489336, or mute the thread https://github.com/notifications/unsubscribe-auth/ABFJKNN08qXHcX6bcSxogDUGqjg8gv8Nks5uFztGgaJpZM4VGv8I .
ну и да, второй вариант - просто добавить packagedef во включаемые файлы, чтобы он приезжал с установкой нового пакета.
чт, 12 июл. 2018 г. в 15:04, Aleksey Khorev notifications@github.com:
@nixel2007 https://github.com/nixel2007 А раньше в поставку либы/ приложения разве входил файл packagedef?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/oscript-library/opm/issues/123#issuecomment-404489336, or mute the thread https://github.com/notifications/unsubscribe-auth/ABFJKNN08qXHcX6bcSxogDUGqjg8gv8Nks5uFztGgaJpZM4VGv8I .
движок сейчас не собирает гит-клоном, а как раз берет ospx
надо чтобы это автоматом призошло. думаю, стоит дописать обработчик установки в новом opm, который бы чистил за предыдущей версией файл. тогда твой фикс не даст произойти такой проблеме с другими либами, а обработчик даст обновиться с 0.13 автоматически.
Никита, ты чего? я же уже сделал это :) сообщил в https://github.com/oscript-library/opm/issues/123#issuecomment-404199831
@artbear ещё раз. Ты пофиксил класс установки пакета. Который будет отрабатывать только в новом opm. А я говорю поправить манифест самого opm, который отрабатывает и в старом опм тоже.
А я говорю поправить манифест самого opm, который отрабатывает и в старом опм тоже.
Можешь перевести? Что сделать надо? Вот это?:
ну и да, второй вариант - просто добавить packagedef во включаемые файлы
@EvilBeaver
Можешь перевести? Что сделать надо? Вот это?: ну и да, второй вариант - просто добавить packagedef во включаемые файлы
По идее, это как раз решит проблему неудаления лишнего packagedef. Просто потому, что он перезатрется при установке новой версии пакета со включенным packagedef. Но надо протестить. Я только вечером смогу :(
Доктор, почему меня все игнорируют :(
а ведь я уже исправил аж в ДВУХ ветках проблему неудаления лишнего packagedef :( и этим исправлениям уже несколько дней!
ОДНА строка - весьма тупое удаление packagedef
в отличие от некоторых :) я как раз уже все протестил, выявил проблему, повторил ее, исправил на найденном кейсе, и убедился, что проблемы нет
Артур, я тебе еще раз говорю. Твое удаление сделано в классе, которого нет у пользователей 0.13.х Оно у них никак не появится!
для 0.13 я уже дал рецепт - если не ставится, удаляйте файла и просто еще раз обновитесь.
я уже писал, что реально-то проблема не так актуальна.
сколько таких пакетов? и большая часть только у контрибьюторов, у которых есть packadef, которого, кстати, в чистом 0.13 нету
для 0.13 я уже дал рецепт - если не ставится, удаляйте файла и просто еще раз обновитесь.
это не решение, это костыль, который про который никто не узнает и никто не будет его делать. если проблему можно решить автоматом, почему не решить?
после установки каталог opm/src без нужных os-файлов Windows 10 64
Ниже лог-доказательство - 0.13.1 ставится, а последний (0.14.2 ?) нет :(
Прикладываю полный отладочный лог
opm install opm
opm-install-opm.txt@khorevaa @nixel2007 может быть, вам поможем разобраться с проблемой.