Ore

Description

Ore is a simple RubyGem building solution. Ore handles the creation of Gem::Specification objects as well as building .gem files. Ore allows the developer to keep all of the project information in a single YAML file.

Features

  • Stores project information in one YAML file (gemspec.yml).
  • Does not impose a development workflow onto the developer. One could even use Ore with Jeweler::Tasks.
  • Can load the project version from:
    • VERSION or VERSION.yml files.
    • VERSION constants or Version modules defined in a version.rb file.
  • Can be used in traditional .gemspec files:

    require 'ore/specification'
    
    Ore::Specification.new do |gemspec|
      # custom logic here
    end
    
  • Provides an extendable project generator that supports user-installed templates.

Requirements

Install

$ gem install ore

Example gemspec.yml files

The gemspec.yml file used to build Ore:

name: ore
version: 0.4.1
summary: Mine raw RubyGems from YAML.
description:
  Ore is a simple RubyGem building solution. Ore handles the
  creation of Gem::Specification objects as well as building '.gem'
  files. Ore allows the developer to keep all of the project information
  in a single YAML file.

license: MIT
authors: Postmodern
email: [email protected]
homepage: http://github.com/ruby-ore/ore
has_yard: true
post_install_message: |
  **************************************************************************
  Generate a new Ruby library:

      $ mine my_library --rspec --ore-tasks

  Build the library:

      $ rake build

  Release the library to rubygems.org:

      $ rake release

  **************************************************************************

dependencies:
  ore-core: ~> 0.1.0
  thor: ~> 0.14.3

development_dependencies:
  ore-tasks: ~> 0.3.0
  rspec: ~> 2.3.0
  yard: ~> 0.6.1

For a complete refrence to the gemspec.yml file, please see the GemspecYML Reference

Synopsis

Install a custom template:

$ ore install http://github.com/user/awesometest.git

List installed templates:

$ ore list

Remove a previously installed template:

$ ore remove awesometest

Generate a new project:

$ mine myproj

Generate a new customized project:

$ mine myproj --bundler --rspec --yard

Generate a new project using previously installed templates:

$ mine myproj --bundler --rspec --yard -T awesometest

Builds a .gem file in the pkg/ directory of a project:

$ ore

License

See LICENSE for license information.