--- !ruby/object:Gem::Specification
name: cartage
version: !ruby/object:Gem::Version
version: 1.1.1
platform: ruby
authors:
- Austin Ziegler
autorequire:
bindir: bin
cert_chain: []
date: 2015-03-26 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: cmdparse
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '3.0'
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '3.0'
- !ruby/object:Gem::Dependency
name: minitest
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '5.5'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '5.5'
- !ruby/object:Gem::Dependency
name: rdoc
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '4.0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '4.0'
- !ruby/object:Gem::Dependency
name: rake
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '10.0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '10.0'
- !ruby/object:Gem::Dependency
name: hoe-doofus
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.0'
- !ruby/object:Gem::Dependency
name: hoe-gemspec2
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.1'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.1'
- !ruby/object:Gem::Dependency
name: hoe-git
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.5'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.5'
- !ruby/object:Gem::Dependency
name: hoe-geminabox
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.3'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.3'
- !ruby/object:Gem::Dependency
name: hoe-travis
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.2'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.2'
- !ruby/object:Gem::Dependency
name: minitest-autotest
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.0'
- !ruby/object:Gem::Dependency
name: minitest-bisect
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.2'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.2'
- !ruby/object:Gem::Dependency
name: minitest-focus
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.1'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '1.1'
- !ruby/object:Gem::Dependency
name: minitest-moar
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.0'
- !ruby/object:Gem::Dependency
name: minitest-pretty_diff
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.1'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.1'
- !ruby/object:Gem::Dependency
name: simplecov
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.7'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '0.7'
- !ruby/object:Gem::Dependency
name: hoe
requirement: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '3.13'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - "~>"
- !ruby/object:Gem::Version
version: '3.13'
description: |-
Cartage provides a plug-in based tool to reliably create a package for a
Bundler-based Ruby application that can be used in deployment with a
configuration tool like Ansible, Chef, Puppet, or Salt. The package is created
with its dependencies bundled in +vendor/bundle+, so it can be deployed in
environments with strict access control rules and without requiring development
tool access.
Cartage has learned its tricks from Heroku, Capistrano, and Hoe. From Hoe, it
learned to keep a manifest to control what is packaged (as well as its plug-in
system). From Heroku, it learned to keep a simple ignore file. From Capistrano,
it learned to mark the Git hashref as a file in its built package, and to
timestamp the packages.
Cartage follows a relatively simple set of steps when creating a package:
1. Copy the application files to the work area. The application’s files are
specified in +Manifest.txt+ and filtered against the exclusion list
(+.cartignore+). If there is no +.cartignore+, try to use +.slugignore+. If
there is no +.slugignore+, Cartage will use a sensible default exclusion
list. To override the use of this exclusion list, an empty +.cartignore+
file must be present.
2. The Git hashref is written to the work area (as +release_hashref+) and to
the package staging area.
3. Files that have been modified are restored to pristine condition in the
work area. The source files are not touched. (This ensures that
+config/database.yml+, for example, will not be the version used by a
continuous integration system.)
4. Bundler is fetched into the work area, and the bundle is installed into the
work area’s +vendor/bundle+ without the +development+ and +test+
environments. If a bundle cache is kept (by default, one is), the resulting
+vendor/bundle+ will be put into a bundle cache so that future bundle
installs are faster.
5. A timestamped tarball is created from the contents of the work area. It can
then be copied to a more permanent or accessible location.
Cartage is extremely opinionated about its tools and environment:
* The packages are created with +tar+ and +bzip2+ using tar cfj.
* Cartage only understands +git+, which is used for creating
release_hashrefs, +Manifest.txt+ creation and comparison, and even
default application name detection (from the name of the origin remote).
email:
- aziegler@kineticcafe.com
executables:
- cartage
extensions: []
extra_rdoc_files:
- Cartage.yml.rdoc
- Contributing.rdoc
- History.rdoc
- Licence.rdoc
- Manifest.txt
- README.rdoc
files:
- ".autotest"
- ".gemtest"
- ".minitest.rb"
- ".travis.yml"
- Cartage.yml.rdoc
- Contributing.rdoc
- Gemfile
- History.rdoc
- Licence.rdoc
- Manifest.txt
- README.rdoc
- Rakefile
- bin/cartage
- cartage.yml.sample
- lib/cartage.rb
- lib/cartage/command.rb
- lib/cartage/config.rb
- lib/cartage/manifest.rb
- lib/cartage/manifest/commands.rb
- lib/cartage/pack_command.rb
- lib/cartage/plugin.rb
- test/minitest_config.rb
- test/test_cartage.rb
- test/test_cartage_config.rb
homepage: https://github.com/KineticCafe/cartage/
licenses:
- MIT
metadata: {}
post_install_message:
rdoc_options:
- "--main"
- README.rdoc
require_paths:
- lib
required_ruby_version: !ruby/object:Gem::Requirement
requirements:
- - ">="
- !ruby/object:Gem::Version
version: '0'
required_rubygems_version: !ruby/object:Gem::Requirement
requirements:
- - ">="
- !ruby/object:Gem::Version
version: '0'
requirements: []
rubyforge_project:
rubygems_version: 2.2.2
signing_key:
specification_version: 4
summary: Cartage provides a plug-in based tool to reliably create a package for a
Bundler-based Ruby application that can be used in deployment with a configuration
tool like Ansible, Chef, Puppet, or Salt
test_files: []