2013-10-04 5 views
0

Задача я использую выглядит примерно так:Как сгенерировать несколько пакетов с помощью Rake?

Rake::PackageTask.new("deploy", "0.1.2") do |p| 
    p.need_tar = true 
    p.package_files.include("build/**/*") 
end 

Это создает deploy-0.1.2.zip файл. Я хотел бы иметь возможность создать другой пакет для каждой папки, содержащейся в сборке, например:

build/ 
    |— en/ 
    |— es/ 
    |— de/ 
    |— fr/ 

должен генерировать deploy-en-0.1.2.zip, deploy-es-0.1.2.zip, deploy-de-0.1.2.zip, deploy-fr-0.1.2.zip файлов.

ответ

0

Предложенная концепция - это локали, а не конкретные пакеты. Работайте с i18n, при необходимости создайте определяющий код или предположите локали рабочей станции, сервер, как выполняется код (в случае CLI, библиотеки и т. Д.). .)

В противном случае вы могли бы создать n клонов для каждого языка вашего проекта и создать Rakefile в корневой папке, как сделать явный или рекурсивный вызов rake-target для каждого здания gem ... вам нужно сделать n конкретных gemspec (один для определенного языка), вам также нужно написать целевую целевую группу в своем Rakefile для централизованных пакетов из-за того, что разные папки pkg создаются в каждой созданной вами языковой папке с конкретными языками? Personnaly Я думаю, что это не очень хорошая идея, вы должны поддерживать n аналогичной копии того же приложения ....

+0

Спасибо за вход Romain. Мой вопрос идет за локалями, я просто упоминаю это как пример, вопрос в том, как сгенерировать несколько пакетов с граблями. Возможно, я должен уточнить это в описании. –

+0

Это конец моего объяснения, вам нужно создать несколько gemspec и перебрать на верхнем уровне Rakefile => rake, которые вызывают явно или рекурсивно другие файлы Rakefile или Gemspec. – Romain

Смежные вопросы