Bundler/gemパッケージ作成
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Bundler]]
&tag(Bundler/gemパッケージ作成);
*目次 [#c31f33a4]
#contents
*関連ページ [#e82e6308]
*参考情報 [#s8cce1e1]
*gemパッケージの作り方 [#gfba42a0]
**注意: Windowsの場合 [#pe78e1b3]
-msysgitにパスを通してないとbundle gemがエラーになる。
**ひな形の生成 [#i19d63fd]
***ファイルの生成 [#v665d5d9]
-bundle gemコマンドでつくることができる。
bundle gem demo
-オプションで-bを指定すれば実行ファイルを、-tを指定すれば...
bundle gem demo -b -t
-もしくはminitestもサポートしている
bundle gem dbtools -b --test=minitest
-後からspecサポートを追加したい場合、次のリンクが参考にな...
--gemspecにrspecを追加して、bundle install実行。specフォ...
***gemspecファイルの編集[#p370c6f9]
-demo.gemspecファイルを編集する。
#pre{{
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'demo/version'
Gem::Specification.new do |spec|
spec.name = "demo"
spec.version = Demo::VERSION
spec.authors = ["src"]
spec.email = ["tanaka@test.net"]
spec.description = %q{TODO: Write a gem description}
spec.summary = %q{TODO: Write a gem summary}
spec.homepage = ""
spec.license = "MIT"
spec.files = `git ls-files`.split($/)
spec.executables = spec.files.grep(%r{^bin/}) { |f| F...
spec.test_files = spec.files.grep(%r{^(test|spec|fea...
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.3"
spec.add_development_dependency "rake"
end
}}
-gitと連携することが考えられていて、authors、email、files...
-descriptionに、TODOやFIXMEが含まれているとビルドできない。
-依存関係の設定は、runtime_dependencyとdevelopment_depend...
-開発ディレクトリでbundle installすると、runtime/developm...
-開発後gemファイルをgem installやbundle installでインスト...
***gemのインストール [#g5e00519]
-pathを指定する。開発時はruntime_dependency/development_d...
bundle install --path vendor/bundle
**パッケージ作成 [#y5b00e61]
-lib/demo.rbに実装を書く。
#pre{{
require "demo/version"
module Demo
def self.hello_world
p "hello world!!"
end
end
}}
**パッケージ実行 [#o31f0c74]
-bundle 経由で実行する
bundle exec bin/demo.rb
**パッケージビルド [#jb2bc76f]
-パッケージをビルドする。rakeコマンドを使用
bundle exec rake build
-パッケージをインストールする。
gem install pkg/demo-0.0.1.gem
-またはrake installで一発。
-動作確認(irbででも)。
#pre{{
require 'demo'
puts Demo.hello_world
}}
**パッケージリリース(PENDING) [#gc6b5755]
-rake release
*パッケージのテスト [#p839cd2e]
**MiniTest実行 [#gdd15c8d]
***直接実行 [#l221d749]
-以下のコマンドで実行。
bundle exec ruby test/hoge_test.rb
-test_helperのロードに失敗した場合、hoge_test.rbを編集し...
require_relative 'test_helper'
***Rakefileから実行 [#a7706101]
-以下のようなRakefileを作成
#pre{{
require "bundler/gem_tasks"
require "rake/testtask"
Rake::TestTask.new(:test) do |t|
t.libs << "test"
t.test_files = FileList['test/**/*_test.rb']
end
task :default => :test
}}
-以下のように実行する
# bundle exec rake test TEST=test/hoge_test.rb
bundle exec rake test $*
*パッケージの構成 [#u46504aa]
**コマンドラインツールの構成 [#ued2d92e]
-foo gemを作成した場合、exe/fooから、lib/foo.rbを呼び出し...
-それよりも小規模なツールの場合、上記構成をexe/fooからlib...
*RubyGems.orgへの登録 [#of09a81d]
-[[Rubygemsでライブラリを公開したので、手順をまとめてみた...
-アカウントを登録。
-APIキーの設定(初回のみ)
curl -u <username> https://rubygems.org/api/v1/api_key.y...
-公開
bundle exec rake release
-更新時はversion.rbのバージョンを変更し、commit/pushした...
bundle exec rake release
*RubyGems.orgから削除する [#ab65e01b]
-[[RubyGems.org に公開している gem を削除する方法 - prese...
gem yank 名前 -v バージョン
-全部のバージョンを削除したらrubygems.orgからも削除される...
*トラブルシューティング [#s48e9294]
**パッケージがローカル環境にインストールできない [#u62c78...
-以下のコマンドで実行しても自分のローカル環境にgemがイン...
bundle exec rake install
-上のコマンドを実行した場合、vendor/bundle以下にインスト...
終了行:
[[Bundler]]
&tag(Bundler/gemパッケージ作成);
*目次 [#c31f33a4]
#contents
*関連ページ [#e82e6308]
*参考情報 [#s8cce1e1]
*gemパッケージの作り方 [#gfba42a0]
**注意: Windowsの場合 [#pe78e1b3]
-msysgitにパスを通してないとbundle gemがエラーになる。
**ひな形の生成 [#i19d63fd]
***ファイルの生成 [#v665d5d9]
-bundle gemコマンドでつくることができる。
bundle gem demo
-オプションで-bを指定すれば実行ファイルを、-tを指定すれば...
bundle gem demo -b -t
-もしくはminitestもサポートしている
bundle gem dbtools -b --test=minitest
-後からspecサポートを追加したい場合、次のリンクが参考にな...
--gemspecにrspecを追加して、bundle install実行。specフォ...
***gemspecファイルの編集[#p370c6f9]
-demo.gemspecファイルを編集する。
#pre{{
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'demo/version'
Gem::Specification.new do |spec|
spec.name = "demo"
spec.version = Demo::VERSION
spec.authors = ["src"]
spec.email = ["tanaka@test.net"]
spec.description = %q{TODO: Write a gem description}
spec.summary = %q{TODO: Write a gem summary}
spec.homepage = ""
spec.license = "MIT"
spec.files = `git ls-files`.split($/)
spec.executables = spec.files.grep(%r{^bin/}) { |f| F...
spec.test_files = spec.files.grep(%r{^(test|spec|fea...
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.3"
spec.add_development_dependency "rake"
end
}}
-gitと連携することが考えられていて、authors、email、files...
-descriptionに、TODOやFIXMEが含まれているとビルドできない。
-依存関係の設定は、runtime_dependencyとdevelopment_depend...
-開発ディレクトリでbundle installすると、runtime/developm...
-開発後gemファイルをgem installやbundle installでインスト...
***gemのインストール [#g5e00519]
-pathを指定する。開発時はruntime_dependency/development_d...
bundle install --path vendor/bundle
**パッケージ作成 [#y5b00e61]
-lib/demo.rbに実装を書く。
#pre{{
require "demo/version"
module Demo
def self.hello_world
p "hello world!!"
end
end
}}
**パッケージ実行 [#o31f0c74]
-bundle 経由で実行する
bundle exec bin/demo.rb
**パッケージビルド [#jb2bc76f]
-パッケージをビルドする。rakeコマンドを使用
bundle exec rake build
-パッケージをインストールする。
gem install pkg/demo-0.0.1.gem
-またはrake installで一発。
-動作確認(irbででも)。
#pre{{
require 'demo'
puts Demo.hello_world
}}
**パッケージリリース(PENDING) [#gc6b5755]
-rake release
*パッケージのテスト [#p839cd2e]
**MiniTest実行 [#gdd15c8d]
***直接実行 [#l221d749]
-以下のコマンドで実行。
bundle exec ruby test/hoge_test.rb
-test_helperのロードに失敗した場合、hoge_test.rbを編集し...
require_relative 'test_helper'
***Rakefileから実行 [#a7706101]
-以下のようなRakefileを作成
#pre{{
require "bundler/gem_tasks"
require "rake/testtask"
Rake::TestTask.new(:test) do |t|
t.libs << "test"
t.test_files = FileList['test/**/*_test.rb']
end
task :default => :test
}}
-以下のように実行する
# bundle exec rake test TEST=test/hoge_test.rb
bundle exec rake test $*
*パッケージの構成 [#u46504aa]
**コマンドラインツールの構成 [#ued2d92e]
-foo gemを作成した場合、exe/fooから、lib/foo.rbを呼び出し...
-それよりも小規模なツールの場合、上記構成をexe/fooからlib...
*RubyGems.orgへの登録 [#of09a81d]
-[[Rubygemsでライブラリを公開したので、手順をまとめてみた...
-アカウントを登録。
-APIキーの設定(初回のみ)
curl -u <username> https://rubygems.org/api/v1/api_key.y...
-公開
bundle exec rake release
-更新時はversion.rbのバージョンを変更し、commit/pushした...
bundle exec rake release
*RubyGems.orgから削除する [#ab65e01b]
-[[RubyGems.org に公開している gem を削除する方法 - prese...
gem yank 名前 -v バージョン
-全部のバージョンを削除したらrubygems.orgからも削除される...
*トラブルシューティング [#s48e9294]
**パッケージがローカル環境にインストールできない [#u62c78...
-以下のコマンドで実行しても自分のローカル環境にgemがイン...
bundle exec rake install
-上のコマンドを実行した場合、vendor/bundle以下にインスト...
ページ名: