-
-
Save ctrochalakis/361878 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= Ruby Packaging Standard | |
The aim of this document is to specify a common structure of how a | |
Ruby package distributed as source (that is, but not limited to, | |
development directories, version-controlled repositories, .tar.gz, | |
Gems, ...) should conform to. | |
(See RFC 2119 for use of MUST, SHOULD, SHALL.) | |
== Library files | |
Library code MUST reside in lib/. | |
Libraries SHOULD use a directory as namespace, e.g. lib/foo.rb and lib/foo/**. | |
Libraries SHOULD NOT require code of the project that are outside of lib/. | |
Libraries MUST not require 'rubygems' or modify the $LOAD_PATH. | |
Ruby library files MUST end with .rb. | |
Library files SHOULD be installed with mode 0644. | |
== Executables | |
Executables MUST reside in bin/. | |
Ruby executables SHOULD have a shebang line using env: | |
#!/usr/bin/env ruby | |
Executables SHOULD NOT require code of the project that are outside of lib/. | |
Executables SHOULD NOT require 'rubygems' or modify the $LOAD_PATH. | |
Executable files SHOULD NOT end with .rb. | |
Executable files SHOULD be installed with mode 0775. | |
== Extensions | |
Extensions are directories which contain a extconf.rb. | |
Extensions SHOULD reside in ext/. | |
Extensions SHOULD be buildable with "ruby extconf.rb; make". | |
XXX | |
== Tests | |
Tests SHOULD reside in test/ or spec/. | |
== History | |
09apr2010: First initial draft. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment