我正在使用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
"""
)
}
}
}发布于 2019-02-03 19:30:19
您可以为该目录中的所有文件设置copy处理模式,并将其他文件保留在默认处理模式下,如:modes: [ copy(/scripts/vendor/) ]。注意路径末尾的/;这很重要。也请参阅文档:http://fmpp.sourceforge.net/settings.html#processingMode
发布于 2019-02-01 20:18:22
其实我真的很想这个问题,退了一步后,找到了一个简单的解决办法。下面的更新代码运行良好
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副本就足够简单了。
https://stackoverflow.com/questions/54486521
复制相似问题