gemspec.yml¶ ↑
Ore
uses the gemspec.yml
file to store all static data about a project. The gemspec.yml
is a simple YAML file, which contains the same data that a normal Ruby .gemspec
file would. Below is the complete listing of valid data that can be listed in a gemspec.yml
file.
name¶ ↑
The name of the project can be listed like so:
name: foo
The name of the project must be specified.
version¶ ↑
The version of the project can be listed like so:
version: 1.2.3
If the version is not listed, Ore
will first search for a VERSION
file in the root of the project. If Ore
cannot find any version files, it will then search within the lib/
directory for a version.rb
.
summary¶ ↑
The summary of the project can be listed like so:
summary: My awesome project
description¶ ↑
The description of the project can be listed in a variety of ways:
-
Single line:
description: My project, which provides various functionality.
-
Text block:
description: My project, which provides the developer with various attributes and behaviors.
If the description is not listed, it will default to the summary
.
license¶ ↑
The license of the project can be listed like so:
license: MIT
Multiple licenses can also be listed:
license: - LGPL-2.1 - GPL-2
authors¶ ↑
The authors of the project can be listed like so:
authors: Alice
If a project has more than one author, each author can be listed:
authors: - Alice - Eve - Bob
email¶ ↑
The primary email contact for the project can be listed like so:
email: alice@example.com
If a project has more than one email contact, each email address can be listed:
email: - alice@example.com - eve@example.com - bob@example.com
require_paths¶ ↑
The require_paths of a project can be listed like so:
require_paths: lib
If there are more than one require_path that needs listing:
require_paths: - ext - lib
executables¶ ↑
The names of the executables provided by the project can be listed like so:
executables: bin/*
One can also list the executables individually:
executables: - util1 - util2
If the executables
are not listed, Ore
will use the names of any executable file within the bin/
directory.
extensions¶ ↑
Any Ruby C-extensions can be listed like so:
extensions: ext/foo/extconf.rb
documentation¶ ↑
The format of the documentation can be listed like so:
documentation: yard
extra_doc_files¶ ↑
The extra files that should also be scanned for documentation can be listed like so:
extra_doc_files: - ChangeLog.md - LICENSE.txt
If extra_doc_files
is not listed, Ore
will use the extra-files listed in the .document
file.
files¶ ↑
The files of the project can be listed like so:
files: lib/**/*.rb
More than one file pattern can be specification:
files: - lib/**/*.rb - spec/**/* - data/**/*
If files
is not listed, Ore
will check if the project is using Git, can will find all tracked files using:
git ls-files -z
If the project is not using Git, Ore
will default files
to every file in the project.
test_files¶ ↑
The files used to test the project can be listed like so:
test_files: spec/**/*_spec.rb
More than one test-file pattern can be supplied:
test_files: - spec/**/*_spec.rb - features/**/*
If test_files
is not listed, Ore
will default files
to test/{**/}test_*.rb
and spec/{*/}_spec.rb
.
post_install_message¶ ↑
The post-installation message for a project can be listed like so:
post_install_message: | Thank you for installing MyProject 0.1.0. To start MyProject, simply run the following command: $ my_project
requirements¶ ↑
The external requirements of the project can be listed like so:
requirements: libcairo >= 1.8
Multiple external requirements can also be listed:
requirements: - libcairo >= 1.8.0 - libclutter >= 1.2.0
required_ruby_version¶ ↑
The version of Ruby required by the project can be listed like so:
required_ruby_version: >= 1.9.1
required_rubygems_version¶ ↑
The version of RubyGems required by the project can be listed like so:
required_rubygems_version: >= 1.3.7
If required_rubygems_version
is not listed and the project uses Bundler, Ore
will default required_rubygems_version
to >= 1.3.6
.
dependencies¶ ↑
The dependencies of the project can be listed like so:
dependencies: foo: ~> 0.1.0 bar: 1.2.3
More than one version can be specified for each dependency:
dependencies: foo: ~> 0.1.0, >= 0.0.7 bar: - 1.2.3 - 1.3.1
development_dependencies¶ ↑
The purely developmental-dependencies for a project can be specified like so:
development_dependencies: foo: ~> 0.1.0 bar: 1.2.3
More than one version can be specified for each dependency:
development_dependencies: foo: ~> 0.1.0, >= 0.0.7 bar: - 1.2.3 - 1.3.1