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'
    
    begin
      Ore::Specification.new do |gemspec|
        # custom logic here
      end
    rescue NameError
      begin
        require 'ore/specification'
        retry
      rescue LoadError
        STDERR.puts "The '#{__FILE__}' file requires Ore."
        STDERR.puts "Run `gem install ore-core` to install Ore."
      end
    end
    
  • Provides an extendable project generator that supports user-installed templates.

Requirements

Install

$ gem install ore

Example gemspec.yml File

The gemspec.yml file used to build Ore:

name: ore
version: 0.7.2
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: postmodern.mod3@gmail.com
homepage: http://github.com/ruby-ore/ore
has_yard: true
post_install_message: |
  **************************************************************************
  Generate a new Ruby library:

      $ mine my_library --rspec --yard

  Build the library:

      $ rake build

  Release the library to rubygems.org:

      $ rake release

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

dependencies:
  ore-core: ~> 0.1, >= 0.1.4
  thor: ~> 0.14.3

development_dependencies:
  ore-tasks: ~> 0.4
  rspec: ~> 2.4
  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 git://github.com/ruby-ore/mini_test.git

List installed templates:

$ ore list

Remove a previously installed template:

$ ore remove mini_test

Generate a new project:

$ mine my_project

Generate a new customized project:

$ mine my_project --bundler --rspec --yard

Generate a new project using previously installed templates:

$ mine my_project --bundler --rspec --yard --template mini_test

Add default generator options to ~/.ore/options.yml:

ore_tasks: true
rspec: true
yard: true
markdown: true
authors:
  - Alice
email: alice@example.com

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

$ ore gem

License

Copyright (c) 2010-2011 Hal Brodigan

See LICENSE for license information.