2015-02-23 2 views
0

У меня есть два отдельных проекта градиента в следующей структуре. Я хочу написать задачу, чтобы переместить банку сборки из projectA в папку lib библиотеки projectB.Gradle - используйте задачу копирования для копирования файла извне проекта

Projecta -> C:/User/someUser/DEV/Projecta

projectB -> C:/User/someUser/DEV/projectB

В сценарии сборки Projecta, я бы следующее, чтобы переместить созданный jar из папки build/lib projectA в папку lib библиотеки projectB.

task deployJar(type: Copy) { 
    from('build/libs/') 
    into('C:/Users/someUser/dev/projectB/libs') 
    include('*.jar') 
} 

Я использую абсолютный путь, но он не работает. Я надеялся, что кто-то может указать, что я делаю неправильно.

Благодаря

ответ

1

Вы рассматривали создание проектов как мульти-проекта? Вы можете связать их вместе с includeFlat. То, что вы обычно делаете, заключается в том, чтобы развернуть проект в хранилище артефактов и разрешить банку в проектеB через dependencies {} или установить проект/проектB в качестве мультипроекта и иметь проектB в зависимости от результата проектаA (также через dependencies {}). Если вы идете по второму маршруту, вы получаете хорошие вещи, такие как projectA, автоматически перестраивая при необходимости, когда вы строите projectB.

Я не вижу ничего неправильного в том, что у вас уже есть. Сбой ошибки с ошибкой?

Имейте в виду, что настройка вашей сборки с помощью абсолютных путей сделает ее не переносной/хрупкой.

+0

Да, у меня есть. Это то, что я в конечном итоге сделаю, когда все будет настроено. Итак, я вернулся, чтобы воспроизвести его, чтобы предоставить вам сообщение об ошибке, и когда я это сделал, он работал ... Наверное, я, должно быть, неправильно набрал что-то, когда я изначально устал. Я скопировал то, что у меня было выше, и это сработало. Еще раз спасибо. – link258

Смежные вопросы