我正在使用FMPP建立我的网站,最近遇到了一个问题。尝试构建我的项目(使用gradle)时,它炸毁了PHPMailer中的文件。有没有办法忽略使用FMPP处理该文件夹但仍将其复制到我的构建目录中的方法?我知道我可以将 ignoredir.fmpp 文件添加到该文件夹中,但是从复制开始它会完全忽略它,而我没有。这是我的代码段
task build_website {
group 'csWebsite'
description 'Task for compiling the website implementing the fmpp templates'
dependsOn gzipCss
finalizedBy minifyJs
ant.taskdef(name: 'fmpp', classname:'fmpp.tools.AntTask') {
classpath {
fileset(dir: 'lib', includes: '*.jar')
}
}
doLast {
ant.fmpp(sourceRoot: "src", outputRoot :"build") {
data(expandProperties: 'yes',
"""
base_url: $project.base_url
google_analytics_number : $project.google_analytics_number
mail_user : $project.mail_user
mail_password : $project.mail_password
mail_recipient : $project.mail_recipient
upload_folder : $project.upload_folder
host : $project.host
port : $project.port
"""
)
}
}
}
答案 0 :(得分:1)
您可以为该目录内的所有文件设置copy
处理模式,而将其他文件保留为默认处理模式,例如:modes: [ copy(/scripts/vendor/) ]
。注意该路径末尾的/
;这一点很重要。另请参见文档:http://fmpp.sourceforge.net/settings.html#processingMode
答案 1 :(得分:0)
我实际上真的考虑过这个问题,退后一步找到了一个简单的解决方案。我下面更新的代码运行正常
task build_website {
group 'csWebsite'
description 'Task for compiling the website implementing the fmpp templates'
dependsOn gzipCss
finalizedBy minifyJs
ant.taskdef(name: 'fmpp', classname:'fmpp.tools.AntTask') {
classpath {
fileset(dir: 'lib', includes: '*.jar')
}
}
doLast {
ant.fmpp(sourceRoot: "src", outputRoot :"build", excludes: "**/vendor/**") {
data(expandProperties: 'yes',
"""
base_url: $project.base_url
google_analytics_number : $project.google_analytics_number
mail_user : $project.mail_user
mail_password : $project.mail_password
mail_recipient : $project.mail_recipient
upload_folder : $project.upload_folder
host : $project.host
port : $project.port
"""
)
}
copy{
from "${projectDir}/src/scripts/vendor"
into "${buildDir}/scripts/vendor"
}
}
}
只需忽略文件夹就不会被FMPP处理,然后在FMPP完成后发出gradle副本就足够了