Как мне структурировать проект Gradle, содержащий артефакты не из исходного кода? - PullRequest
1 голос
/ 23 февраля 2012

У меня есть проект Gradle, который содержит (среди прочего, как некоторые классы Java) каталог, полный шаблонов Velocity , которые необходимо будет развернуть на удаленном сервере.

Сейчас у меня есть шаблоны в src/main/velocity, и у меня есть задача синхронизации с именем syncTemplates, которая синхронизирует этот каталог с другим местоположением на локальном компьютере.

Мне нужно изменить эту сборку, чтобы шаблоны синхронизировались с каталогом на удаленном компьютере с помощью SCP. Что такое «способ Gradle» для этого? Мне все еще немного неясно, как соотносятся конфигурации, артефакты и наборы исходных кодов, поэтому я не уверен, есть ли элегантный способ сделать это или мне просто нужно использовать задачу ant с некоторыми жестко заданными относительные) пути.

1 Ответ

1 голос
/ 25 февраля 2012

Вот один из способов сделать это.Вы можете создать конфигурацию для зависимостей SCP, а затем использовать задачу Ant для передачи файлов.

configurations { 
    scp 
} 

dependencies { 
    scp 'org.apache.ant:ant-jsch:1.8.2' 
} 

task syncTemplates << { 
    ant.taskdef(name: 'scp', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.Scp', classpath: configurations.scp.asPath) 
    ant.scp(remoteToDir: 'user@host:someDir', password: 'password') {
        fileset(dir: 'src/main/velocity') {
            include(name: '**/*.vm')
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...