Исключить обработку папки (но скопировать ее) с помощью fmpp - PullRequest
0 голосов
/ 01 февраля 2019

Я использую 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
            """
            )
        }        
    }
}

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Вы можете установить copy режим обработки для всех файлов в этом каталоге и оставить другие в режиме обработки по умолчанию, например: modes: [ copy(/scripts/vendor/) ].Обратите внимание на / в конце этого пути;это важно.Смотрите также в документации: http://fmpp.sourceforge.net/settings.html#processingMode

0 голосов
/ 01 февраля 2019

Я на самом деле очень задумался над этой проблемой и, сделав шаг назад, нашел простое решение.Мой обновленный код, приведенный ниже, работает нормально

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 было достаточно простым

...