我应该如何构造包含非源代码工件的Gradle项目?
我有一个Gradle项目,其中包含(除其他外,像一些Java类)一个目录,其中包含了需要部署到远程服务器的模板 现在我在我应该如何构造包含非源代码工件的Gradle项目?,gradle,Gradle,我有一个Gradle项目,其中包含(除其他外,像一些Java类)一个目录,其中包含了需要部署到远程服务器的模板 现在我在src/main/velocity中有模板,我有一个名为syncTemplates的同步任务,它将此目录与本地计算机上的另一个位置同步 我需要修改此构建,以便使用SCP将模板与远程计算机上的目录同步。做这件事的“格拉德尔方式”是什么?我仍然不清楚配置、工件和源集之间的关系,所以我不确定是否有一种优雅的方法来实现这一点,或者我是否应该使用带有一些硬编码(项目相关)路径的ant任务
src/main/velocity
中有模板,我有一个名为syncTemplates
的同步任务,它将此目录与本地计算机上的另一个位置同步
我需要修改此构建,以便使用SCP将模板与远程计算机上的目录同步。做这件事的“格拉德尔方式”是什么?我仍然不清楚配置、工件和源集之间的关系,所以我不确定是否有一种优雅的方法来实现这一点,或者我是否应该使用带有一些硬编码(项目相关)路径的ant任务。这里有一种方法。您可以为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')
}
}
}
配置{
scp
}
依赖项{
scp'org.apache.ant:antjsch:1.8.2'
}
任务同步模板这里有一种方法。您可以为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')
}
}
}
配置{
scp
}
依赖项{
scp'org.apache.ant:antjsch:1.8.2'
}
任务同步模板