Class: MTBuild::OrganizedPackageTask
- Inherits:
-
Rake::PackageTask
- Object
- Rake::PackageTask
- MTBuild::OrganizedPackageTask
- Defined in:
- lib/mtbuild/organized_package_task.rb
Overview
Create a packaging task that will package files into distributable packages (e.g zip archive or tar files). The files are organized in folders inside the package.
The OrganizedPackageTask will create the following targets:
:package
-
Create all the requested package files.
:clobber_package
-
Delete all the package files. This target is automatically added to the main clobber target.
:repackage
-
Rebuild the package files from scratch, even if they are not out of date.
"package_dir/name-version.tgz"
-
Create a gzipped tar package (if need_tar is true).
"package_dir/name-version.tar.gz"
-
Create a gzipped tar package (if need_tar_gz is true).
"package_dir/name-version.tar.bz2"
-
Create a bzip2’d tar package (if need_tar_bz2 is true).
"package_dir/name-version.zip"
-
Create a zip package archive (if need_zip is true).
Example:
Rake::OrganizedPackageTask.new("MyPackage", "1.2.3") do |p|
p.need_tar = true
p.add_files_to_folder('bin', 'bin', '**/*')
p.package_files.include("lib/**/*.rb")
end
Instance Method Summary collapse
-
#add_files_to_folder(package_folder, included_files, excluded_files = []) ⇒ Object
Add files to a folder in the package.
-
#add_folders_to_folder(package_folder, folders, included_files = ['*'], excluded_files = []) ⇒ Object
Add folder to a folder in the package.
Instance Method Details
#add_files_to_folder(package_folder, included_files, excluded_files = []) ⇒ Object
Add files to a folder in the package
47 48 49 50 51 52 |
# File 'lib/mtbuild/organized_package_task.rb', line 47 def add_files_to_folder(package_folder, included_files, excluded_files=[]) file_list = Utils.(included_files, excluded_files) package_file_list = file_list.collect{ |f| File.join(package_dir_path, package_folder, File.basename(f)) } @origin_files += file_list @destination_files += package_file_list end |
#add_folders_to_folder(package_folder, folders, included_files = ['*'], excluded_files = []) ⇒ Object
Add folder to a folder in the package
55 56 57 58 59 60 61 62 63 |
# File 'lib/mtbuild/organized_package_task.rb', line 55 def add_folders_to_folder(package_folder, folders, included_files=['*'], excluded_files=[]) folders.each do |folder| included_files = Utils.ensure_array(included_files).collect{|f| File.join('**',f)} file_list = Utils.(included_files, excluded_files, folder) package_file_list = file_list.collect{ |f| File.join(package_dir_path, package_folder, get_relative_path(folder,f)) } @origin_files += file_list @destination_files += package_file_list end end |