Иконка ресурса

Bon2Gradle

Версия(и) Minecraft
1.7+

Bon2Gradle​


Плагин для Minecraft проектов, что позволяет использовать BON2 как аналог fg.reobf из ForgeGradle.

GitHub issues GitHub forks GitHub stars GitHub license JitPack JitCI GitHub CI test status

Использование​


Зависимости​

  • Gradle 6.8+ (Provider используется для предоставления зависимостей).
  • Java 8+ (лямбды и потоки).

Подключение плагина к проекту​


Gradle (Groovy):
buildscript {
    repositories {
        // Добавьте JitPack.io в ваши репозитории сборки
        maven { url 'https://jitpack.io' } 
        
        // Вещи для ForgeGradle
        maven { 
            name 'forge'
            url 'https://maven.minecraftforge.net/'
        }
    }
    dependencies {
        // Вещи для ForgeGradle (форк anatawa12)
        classpath('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
            changing = true
        }

        // Добавьте плагин в зависимости, можете использовать "master-SNAPSHOT" как версию, чтобы
        // использовать последний коммит. 
        classpath 'com.github.MJaroslav:Bon2Gradle:0.3.1'
    }
}

apply plugin: 'bon2gradle' // Подключение плагина

Настройка плагина​


Gradle (Groovy):
// Расширение для настройки BON2
// опция = значенеи по умолчанию // описание
bon2 {
    useParallelDeobfuscation = false // Если зависимость состоит из нескольких файлов,
    // Они будут деобфусцированы параллельно. EXPERIMENTAL
    forceMapping = false // Использовать только следующий маппинг для зависимостей.
    forcedMappingLocation = null // Директория с файлами methods.csv и fields.csv.
    forcedMappingRelativeConfPath = null // Дополнительный относительный путь для параметра выше.
    // ^ Будет использовано значение 'unpacked/conf' если не параметр не представлен ^
    
    mappingProvider = 'io.github.mjaroslav.bon2gradle.api.impl.FG12Provider'
    // Просто реализация интерфейса 'io.github.mjaroslav.bon2gradle.api.MappingProvider'
    // Для получения текущего маппинга вашего Minecraft проекта.     
}

Деобфускация зависимостей​


Просто оберните строку-идентификатор зависимости в метод bon2.deobf:

Gradle (Groovy):
repositories {
    mavenCentral()
    maven {
        url "https://cursemaven.com/"
        content {
            includeGroup "curse.maven"
        }
    }
}

dependencies {
    // Мод HEE из репозитория cursemaven просто для примера
    // Все деобфусцированные jar'ы будут сохранены в специальной директории внутри build директории проекта.
    implementation bon2.deobf("curse.maven:hardcore-ender-expansion-228015:2316923")
}

Поддердиваемые версии Minecraft проектов​


  • Плагин написан и протестирован с форком ForgeGradle-1.2 от anatawa12.
  • В теории, если я не использовал код FG где-либо вне его MappingProvider'а, вы сможете использовать плагин с любым проектом.

Building​


Просто клонируйте репозиторий, переключитесь на master ветку и выполните ./gradlew build. Это запустит сборку и выполнение unit тестов, если вы хотите выполнить и функциональные тесты тоже, то запускайте с переменной окружений CI равно true.

Минимальная версия JDK для сборки 8. Вы можете увидеть синтаксический сахар из более новых версий, это возможно благодаря плагину Jabel.

Постскриптум​

  • Не до конца уверен с выбором категории ресурса, эта была ближе всех...
  • Я изначально писал это в markdown и на английском для README, поэтому могут быть странные речевые обороты, ошибки и опечатки в тексте, не стесняйтесь исправлять меня :)
  • Like
Реакции: Garik и hohserg
Автор
MJaroslav
Просмотры
585
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя MJaroslav

Последние обновления

  1. 0.4.0

    0.4.0 - 2022-10-17 Изменено Резкий и полный переход на kotlin, в том числе и в скриптах сборки.
  2. 0.3.1

    0.3.1 - 2022-10-16 Исправлено Ошибка конфигурации проекта с указанием на абстрактность класса...
  3. 0.3.0

    0.3.0 - 2022-10-14 Исправлено Иногда деобфусцированные бинарники зависимостей не появлялись в...
Сверху