Bon2Gradle

Bon2Gradle

0.5.0 - 2024-03-18​


Добавлено​

  • Вариант функции deobf со вторым параметром типа Closure для настройки "чистых" (обфусцированных) зависимостей.
  • deobf функция с параметром типа Dependency.
  • Задачи очистки:
    • cleanDeobfCache - удаляет весь кеш деобфусцированных артефактов (просто выполняет следующие две задачи).
    • cleanLocalDeobfCache - удаляет локальный кеш деобфусцированных артефактов (в папке build проекта).
    • cleanGlobalDeobfCache - удаляет глобальный кеш деобфусцированных артефактов (в кеше Gradle Home).
  • Деобфусцированные зависимости теперь имеют суффикс у версий: _deobfuscated_with_{канал_маппингов}_{версия_маппингов}-{версия_игры} для "чистых" артефактов и _deobfuscated_with_DIRTY для "грязных".
  • Теперь деобфусцированные артефакты хранятся в подпапках с группой, именем и версией подобно тому как это делается у maven.
  • Bon2Task теперь имеет параметр "reverse" (скорее всего работает не очень).
  • Деобфускация зависимостей теперь происходит после конфигурации проекта или по прямому требованию артефакта (изменяется опцией настройки).
  • Опция для принудительного сохранения деобфусцированных артефактов локально в проекте (пометка их как "грязных").

Исправлено​

  • Ошибка #1 (игнорирование :: обращений при деобфускации) путем замены BON на форк GTNewHorizons/BON2.

Изменено​

  • Поддержка Gradle 8.5 (протестировано).
  • deobf функция теперь создает объект типа Dependency вместо Provider<Dependency>.
  • MappingProvider:
    • Несколько вспомогательных функций: парсер файлов CSV в Map<String, String> и метод для запуска задач.
    • Теперь состоит из двух функций: первая для имени "чистых" маппингов и вторая с типом Map<String, String> для "грязных" маппингов. "Чистые" маппинги имеют больший приоритет чем "грязные".
  • force опции в расширении изменены в соответствии с MappingProvider.
  • Максимально абстрагирование от internal классов Gralde (но все еще не полное).
  • Несколько дополнительных тестов.

Удалено​

  • Внутренняя реализация Provider<Dependency>.



Обновил страницу ресурса на форуме в соответствии с обновлениями и добавил иконку.

0.4.0 - 2022-10-17​

Изменено​

  • Резкий и полный переход на kotlin, в том числе и в скриптах сборки.

0.3.1 - 2022-10-16​

Исправлено​

  • Ошибка конфигурации проекта с указанием на абстрактность класса плагина на специфичных версиях Gradle. (На самом деле не уверен, но модификатор абстрактности класса убрал).

0.3.0 - 2022-10-14​

Исправлено​

  • Иногда деобфусцированные бинарники зависимостей не появлялись в своей папке. Это оказалось из-за того, что задача clean выполняется после разрешения зависимостей и удаляет эти бинарники. Теперь они хранятся в кешах gradle home.

Добавлено​

  • Параллельная деобфускация зависимостей (я имею ввиду, если идентификатор вернет больше одной зависимости, они будут деобфусцированы параллельно)
    • Вместе с переключателем в расширении bon2 (выключено по умолчанию).

Изменено​

  • Рефакторинг структуры пакетов.
  • Использование основанных на GradleException исключений в "коде разрешения/деобфускации зависимостей".
Сверху