排除处理一个文件夹(但复制)与FMPP

问题描述 投票:0回答:2

我使用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
            """
            )
        }        
    }
}
gradle ant fmpp
2个回答
1
投票

您可以为目录中的所有文件设置copy处理模式,并留下其他的默认处理方式,如:modes: [ copy(/scripts/vendor/) ]。注意在这条道路的末端/;这一点很重要。另见文档中:http://fmpp.sourceforge.net/settings.html#processingMode


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正在处理忽略的文件夹,然后执行一个副本的gradle后FMPP完成足够简单

© www.soinside.com 2019 - 2024. All rights reserved.