Vasily
Когда я жму клин, я ожидаю полной очистки
Vasily
А не вот этой вот странной ебанины "тут чистим, тут не чистим"
Vasily
Надо в paket гневное письмо еще написать
Ayrat
а msbuild clean клинит только папку конфиги например
Vasily
Vasily
проекта
Ayrat
то есть он по умолчанию Debug клинит
Ayrat
пидарас
Vasily
Он чистит аутпут и частично obj
Vasily
Пора в проститутки, наверное
Dr. Friedrich
Он чистит то, что в мсбилде зарегистрировано как output items
Dr. Friedrich
Нугет-штуки не зарегистрированы
Dr. Friedrich
Потому что они просто мимо мсбилда генерируются
Vasily
Любопытно, почему msbuild не может сделать output item папку
Vasily
Хотя этот тот случай, когда встретились две команды индусов
Vasily
Не самых квалифицированных
Dr. Friedrich
Vasily
Логично
Vasily
Но на clean могли бы и вбить костыль
Dr. Friedrich
Для инкрементальной сборки нужно чётко знать, какой аутпут файл произошёл из какого набора инпутов
Dr. Friedrich
Чтобы таймстампы сравнить
Ayrat
я хочу собрать заново
Ayrat
с нуля
Ayrat
Ayrat
я плох в чтении!
Dr. Friedrich
Это не ответ на вопрос, почему клин не чистит obj :)
Dr. Friedrich
Я-то считаю, что должен чистить целиком
Ayrat
я клином перестал пользоваться очень давно
Vasily
Напишу-ка я в paket гадость
Ayrat
и просто делаю
rm -rf
Vasily
Ну вот тоже скоро перейду
Vasily
Останавливает только то, что надо себя заставить делать рекурсивно это
Vasily
git clean -fxd несет некоторые дополнительные расходы
Dr. Friedrich
На самом деле понятно, почему клин не чистит всю папку.
Ayrat
Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
Ayrat
вот вам павершельный вариант
Dr. Friedrich
Потому что мало ли чего юзеры туда наложили? В obj я не видал, а вот в bin — запросто
Vasily
Прикопаем
Vasily
Dr. Friedrich
И потом юзер придёт и будет жаловаться: dotnet clean удалил мои кастом штуки, которые я сложил в bin
Vasily
То, что туда положил пользователь - это проблемы пользователя
Ayrat
Dr. Friedrich
Более того, в старые православные времена даже повторное восстановление пакетов могло всё сломать
Vasily
Ну обычно, например, у меня папочка базы данных создается
Vasily
В консольном приложении
Dr. Friedrich
Потому что собираемость некоторых старых проектов зависела от порядка, в котором ты пакеты восстанавливаешь. Кто последним какую-нибудь DLL в bin запишет — тот и молодец
Vasily
И сохраняется между запусками
Dr. Friedrich
А разные пакеты запросто могли принести одну и ту же DLL
Vasily
Т.е. резон в этом есть
Dr. Friedrich
И всему конец
Vasily
Но
Vasily
Все, что связано с билдом
Vasily
Должно удаляться
Vasily
В частности, ошметки нугета
Dr. Friedrich
Да, по всему выходит, что нугет чуваки просто должны зарегистрировать свой треш как output item
Vasily
Это на каком языке?
Ayrat
въебень это в билд скрипт
Ayrat
Vasily
У меня нет билд скриптов
Ayrat
Dr. Friedrich
Ну или просто кастомный клин таргет можно
Ayrat
!!111
Vasily
Пока нормально
Vasily
TeamCity вывозит
Dr. Friedrich
О, давайте сделаем кастомный клин, положим в props, и запакуем в нугет?
Ayrat
на павершеле клин выше тоже рекурсивный
Ayrat
так что можно юзать смело
Dr. Friedrich
И будем всем добрым людям раздавать
Ayrat
Ayrat
вертел я этот клин
Ayrat
который нихуя не клин
Vasily
Vasily
И будем с помощью paket устанавливать :)
Ayrat
Vasily
Обсудили с @fvnever , НЕ ОЧЕНЬ
Ayrat
то что у тебя там тфм не хватало, это другой вопрос