Зависимости при компиляции (грабли)

Версия Minecraft
1.7.10
167
10
69
Доброго. Сразу сорян, если написал какуе-то непонятную глупость :D Кто подскажет как правильно добавить зависимости в build.gradle чтобы можно было скомпилировать мод используя исходники дополнительных проектов.

Добавляю в свой проект дополнительные исходники
1.png


2.png

Запускаяю в еклипсе и все работает чудесно.

Но когда компилирую, выдает ошибку на классы которые я присоеденил
3.png


Буду благодарен, кто раскажет как правильно добавлять зависимости в build.gradle.
 

Icosider

Kotliner
Администратор
3,603
99
664
Зачем скрываешь название, когда и так из названия понятно, что это мод MC Helicopter :unsure: На счёт того, что хочет автор, как сказал @Dysphoria, тебе надо скачать нужны моды, в основном для сборки достаточно лишь самого мода. Указать его в зависимостях и при сборке собирать в единый бинарный файл. В случаи отсутствия мода в репозиториях maven и ему подобных, можно использовать flatDir, чтобы тянуть зависимости из папки.
 

Icosider

Kotliner
Администратор
3,603
99
664
@Dysphoria, можно и так, но лучше этого не делать. Могут возникнуть проблемы, когда будет браться всё(все бинарные файлы из libraries). Запустить с такими зависимостями мод также не получится, так как понадобится dev версия мода(проще говоря - деобфусцированная), а с твоим решением если в папке будет bin, dev, dev-sources, то начнётся тот ещё геморрой.

Gradle (Groovy):
// В блоке репозиториев
flatDir {
    dirs: 'lib'
}

// В блоке зависимостей
compile name: 'mymod-dev'
compile name: 'mymod-dev-sources'
 

Icosider

Kotliner
Администратор
3,603
99
664
Закинул деобфусцированный мод в папку libraries, рефрешнул градл и все.
И все запускается нормально и работает.
А если ему надо объединить модифицированный код с текущим бинарником? Будешь также в libraries хранить обфусцированный бинарник мода?
 

Icosider

Kotliner
Администратор
3,603
99
664
Я тебе ещё раз говорю, когда у тебя будет лежать:
mymod.jar
mymod-dev.jar
mymod-dev-sources.jar
У тебя возникнут проблемы со сборкой данного мода(в случаи если ты ХОЧЕШЬ ОБЪЕДИНИТЬ БИНАРНИК И ИСХОДНИКИ ИЗМЕНЁННЫЕ), если у тебя просто там либы лежат, то всё будет и так работать. С запуском такого мода также будет проблема, так как запускаться первая зависимость будет, а именно mymod.jar и фордж будет требовать тебя пояснить за func_* и field_*, НО ЭТО ЛИШЬ В ПЕРВОМ СЛУЧАИ(надеюсь стало понятней...)
 

Icosider

Kotliner
Администратор
3,603
99
664
И чем тебе не проще объединить модифицированные исходники с бинарным модом и получить уже готовый бинарник на выходе? А так, собрал и закинул без лишних телодвижений. На счёт каждый раз добавления "compile name:", у меня обход по всем файлам в lib и добавления в зависимости.(добавляются только dev, dev-sources)
 
167
10
69
Зачем скрываешь название, когда и так из названия понятно, что это мод MC Helicopter
Я скрываю свой мод, а подтягиваю исходники MCHeli, этого я не скрываю.
для сборки достаточно лишь самого мода
MCHeli после компиляции, думаю многим известно, работает только в разархивированном виде и подключить его как *.jar не получается.
Gradle (Groovy):
dependencies {
    compile fileTree(dir: 'libraries', includes: ['*.jar'])
}
Можно сделать compile fileTree(dir: 'libraries', includes: ['звездочка.звездочка']) ? так как написал выше что скомпиленый MCHeli в *.jar не будет работать.
@Dysphoria, можно и так, но лучше этого не делать. Могут возникнуть проблемы, когда будет браться всё(все бинарные файлы из libraries). Запустить с такими зависимостями мод также не получится, так как понадобится dev версия мода(проще говоря - деобфусцированная), а с твоим решением если в папке будет bin, dev, dev-sources, то начнётся тот ещё геморрой.

Gradle (Groovy):
// В блоке репозиториев
flatDir {
    dirs: 'lib'
}

// В блоке зависимостей
compile name: 'mymod-dev'
compile name: 'mymod-dev-sources'
Попробую, спасибо.

p.s. ['звездочка.звездочка'] заменяется на ['.'] как правильно отформатировать то)
 
Сверху