我使用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
"""
)
}
}
}
您可以为目录中的所有文件设置copy
处理模式,并留下其他的默认处理方式,如:modes: [ copy(/scripts/vendor/) ]
。注意在这条道路的末端/
;这一点很重要。另见文档中:http://fmpp.sourceforge.net/settings.html#processingMode
我居然真的在想这个问题,并采取了一步回来后发现了一个简单的解决方案。下面我更新的代码工作正常
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正在处理忽略的文件夹,然后执行一个副本的gradle后FMPP完成足够简单