bio-gem 1.3.4 → 1.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +1 -1
- data/Gemfile +1 -1
- data/Rakefile +1 -1
- data/Tutorial.rdoc +14 -5
- data/VERSION +1 -1
- data/bin/biogem +33 -26
- data/bio-gem.gemspec +5 -6
- data/lib/bio-gem/application.rb +48 -37
- data/lib/bio-gem/generator/render.rb +8 -3
- data/lib/bio-gem/mod/jeweler.rb +19 -13
- data/lib/bio-gem/mod/jeweler/options.rb +5 -0
- data/lib/bio-gem/templates/README.md +3 -3
- data/lib/bio-gem/templates/bin/bio-plugin +10 -1
- data/lib/bio-gem/templates/lib/plugin.rb +17 -1
- data/lib/bio-gem/templates/travis.yml +2 -1
- data/test/test_bio-gem.rb +25 -5
- metadata +38 -30
- data/Gemfile.lock +0 -29
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d51d946c9198261b369526a545153ea8f4806e55
|
4
|
+
data.tar.gz: 2f5aca2b0c51a7a7c512be9bcd253d705c9f7295
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 381baf735d2b2f95b1291ec3f867f50c7d9f9c8c1fc172ed55245339650fcef80e988066651e8b319b9f6b43159654e4a82a0f29eff31339df20af7de0c75469
|
7
|
+
data.tar.gz: 1c8d0e431d34e6e14f3ea3e93c610aba48ebdd2f9e1769cdc7b0bf03a6faa36b900a4d5aa96293288e1fd685b5b0393dc4024efacc1af0403cc9ac62ddc53215
|
data/.travis.yml
CHANGED
@@ -3,7 +3,7 @@ rvm:
|
|
3
3
|
- 1.9.2
|
4
4
|
- 1.9.3
|
5
5
|
- jruby-19mode # JRuby in 1.9 mode
|
6
|
-
- rbx-19mode # rvm install rbx -- --enable-version=1.9,1.8 --default-version=1.9
|
6
|
+
# - rbx-19mode # rvm install rbx -- --enable-version=1.9,1.8 --default-version=1.9
|
7
7
|
# - 1.8.7
|
8
8
|
# - jruby-18mode # JRuby in 1.8 mode
|
9
9
|
# - rbx-18mode
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -24,7 +24,7 @@ Jeweler::Tasks.new do |gem|
|
|
24
24
|
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
25
25
|
#gem.version='0.0.1'
|
26
26
|
gem.rdoc_options << '--main' << 'README' << '--line-numbers'
|
27
|
-
gem.required_ruby_version = "
|
27
|
+
gem.required_ruby_version = ">= 1.9"
|
28
28
|
gem.extra_rdoc_files = ['LICENSE.txt', 'README.rdoc','Tutorial.rdoc']
|
29
29
|
end
|
30
30
|
|
data/Tutorial.rdoc
CHANGED
@@ -204,20 +204,29 @@ In bioinformatics is very common to presents data using a web application, and o
|
|
204
204
|
To example this Biogem's features we want to create a Rails application which provides a form to users. Data are submitted to TogoWS http://togows.dbcls.jp/ and the result is returned in a web page. In the mean time we want to store suers queries and return them in the page of TogoWS' result. We'll create a Rails application and a separated Biogem to store queries and provide connection to TogoWS, following "man in the middle" pattern.
|
205
205
|
|
206
206
|
$ biogem --with-engine Foo foo
|
207
|
+
$ cd bioruby-foo
|
208
|
+
$ rake version:write
|
209
|
+
$ bundle install
|
207
210
|
|
208
211
|
Note: a database is automatically configure for the newly created gem
|
209
212
|
|
210
|
-
|
213
|
+
Create a completely new Rails web application NOT inside the newly create biogem, so rememner to
|
211
214
|
|
212
|
-
|
215
|
+
$ cd ..
|
213
216
|
|
214
|
-
|
217
|
+
and then create a new web app
|
218
|
+
|
219
|
+
$ rails new Webfoo
|
215
220
|
|
216
221
|
update the installation running:
|
217
222
|
|
218
223
|
cd Webfoo
|
219
224
|
bundle install
|
220
225
|
|
226
|
+
You can test your application just inserting into Rails application Gemfile the newly created gem:
|
227
|
+
|
228
|
+
gem 'bio-foo', :path=>'path_gem_dir'
|
229
|
+
|
221
230
|
Enable the route for the added gem (in biouby-foo/config/routes.rb) uncomment:
|
222
231
|
|
223
232
|
yourPathToTheControllerFiles = 'foopath'
|
@@ -291,8 +300,8 @@ This is Gemfile's content
|
|
291
300
|
# Include everything needed to run rake, tests, features, etc.
|
292
301
|
group :development do
|
293
302
|
gem "shoulda", ">= 0"
|
294
|
-
gem "bundler", "
|
295
|
-
gem "jeweler", "
|
303
|
+
gem "bundler", "> 1.0.0"
|
304
|
+
gem "jeweler", "> 1.6.4"
|
296
305
|
gem "rcov", ">= 0"
|
297
306
|
gem "bio", ">= 1.4.2"
|
298
307
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.
|
1
|
+
1.3.5
|
data/bin/biogem
CHANGED
@@ -10,33 +10,40 @@ require 'rake'
|
|
10
10
|
|
11
11
|
orig_argv = ARGV.clone
|
12
12
|
# application_exit[:exit] exists, application_exit[:options] it depends.
|
13
|
-
|
14
|
-
options = application_exit[:options]
|
13
|
+
exit Bio::Gem::Generator::Application.run!(*ARGV)
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
#run
|
16
|
+
## bundle install
|
17
|
+
## rake version:write
|
18
|
+
## rake gemspec
|
20
19
|
|
21
|
-
|
22
|
-
|
20
|
+
# application_exit = Bio::Gem::Generator::Application.run!(*ARGV)
|
21
|
+
# options = application_exit[:options]
|
22
|
+
|
23
|
+
# if (application_exit[:exit]==0)
|
24
|
+
# pwd = FileUtils.pwd
|
25
|
+
# FileUtils.cd "bioruby-#{application_exit[:options][:project_name]}"
|
26
|
+
# ARGV.clear << "install"
|
27
|
+
|
28
|
+
# Bundler::CLI.start
|
29
|
+
# #TODO: call rake directly not from shell
|
23
30
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
else
|
40
|
-
|
41
|
-
end
|
31
|
+
# if options[:testing_framework] == :rspec
|
32
|
+
# # Don't remove the following warning, as it may be encountered by anyone running
|
33
|
+
# # biogem from source (especially with the --with-rspec switch)!
|
34
|
+
# print "
|
35
|
+
# WARNING: if rake gives an (rspec) error try running biogem from a directly
|
36
|
+
# installed gem instead:
|
37
|
+
# bundle exec rake install
|
38
|
+
# biogem [options]
|
39
|
+
# "
|
40
|
+
# end
|
41
|
+
# print "\trake version:write\n"
|
42
|
+
# sh "rake version:write"
|
43
|
+
# print "\trake gemspec\n"
|
44
|
+
# sh "rake gemspec"
|
45
|
+
# print "Done!\n"
|
46
|
+
# else
|
47
|
+
# $stderr.print "\nERROR: Biogem failed!\n"
|
48
|
+
# end
|
42
49
|
|
data/bio-gem.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "bio-gem"
|
8
|
-
s.version = "1.3.
|
8
|
+
s.version = "1.3.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Raoul J.P. Bonnal", "Pjotr Prins"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2013-07-24"
|
13
13
|
s.description = "Biogem is a software generator for those bioinformaticans who want to start coding an application or a library for using/extending BioRuby core library and sharing it through rubygems.org .\n The basic idea is to simplify and promote a modular approach to bioinformatics software development"
|
14
14
|
s.email = "ilpuccio.febo@gmail.com"
|
15
15
|
s.executables = ["biogem"]
|
@@ -23,7 +23,6 @@ Gem::Specification.new do |s|
|
|
23
23
|
".travis.yml",
|
24
24
|
".yardopts",
|
25
25
|
"Gemfile",
|
26
|
-
"Gemfile.lock",
|
27
26
|
"LICENSE.txt",
|
28
27
|
"README.rdoc",
|
29
28
|
"Rakefile",
|
@@ -71,12 +70,12 @@ Gem::Specification.new do |s|
|
|
71
70
|
s.licenses = ["MIT"]
|
72
71
|
s.rdoc_options = ["--main", "README", "--line-numbers"]
|
73
72
|
s.require_paths = ["lib"]
|
74
|
-
s.required_ruby_version = Gem::Requirement.new("
|
75
|
-
s.rubygems_version = "
|
73
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.9")
|
74
|
+
s.rubygems_version = "2.0.0"
|
76
75
|
s.summary = "Biogem is a software generator for Ruby in bioinformatics"
|
77
76
|
|
78
77
|
if s.respond_to? :specification_version then
|
79
|
-
s.specification_version =
|
78
|
+
s.specification_version = 4
|
80
79
|
|
81
80
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
82
81
|
s.add_runtime_dependency(%q<bundler>, [">= 1.0.21"])
|
data/lib/bio-gem/application.rb
CHANGED
@@ -4,52 +4,63 @@ module Bio
|
|
4
4
|
class Generator
|
5
5
|
class Application
|
6
6
|
class << self
|
7
|
-
|
8
|
-
# This function has been stolen from Jeweler and mdified with the return hash, the original class returns just 0|1
|
9
|
-
# the problem is that I need to identify the name of the project_name from outside to use bundler.
|
7
|
+
include Shellwords
|
10
8
|
def run!(*arguments)
|
11
|
-
env_opts = if ENV['JEWELER_OPTS']
|
12
|
-
Jeweler::Generator::Options.new(ENV['JEWELER_OPTS'].split(' '))
|
13
|
-
end
|
14
|
-
options = Jeweler::Generator::Options.new(arguments)
|
15
|
-
options = options.merge(env_opts) if env_opts
|
16
9
|
|
17
|
-
|
18
|
-
$stderr.puts options[:invalid_argument]
|
19
|
-
options[:show_help] = true
|
20
|
-
end
|
10
|
+
options = build_options(arguments)
|
21
11
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
12
|
+
if options[:invalid_argument]
|
13
|
+
$stderr.puts options[:invalid_argument]
|
14
|
+
options[:show_help] = true
|
15
|
+
end
|
26
16
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
17
|
+
if options[:show_version]
|
18
|
+
$stderr.puts "Version: #{Jeweler::Version::STRING}"
|
19
|
+
return 1
|
20
|
+
end
|
21
|
+
|
22
|
+
if options[:show_help]
|
23
|
+
$stderr.puts options.opts
|
24
|
+
return 1
|
25
|
+
end
|
31
26
|
|
32
|
-
|
27
|
+
if options[:project_name].nil? || options[:project_name].squeeze.strip == ""
|
28
|
+
$stderr.puts options.opts
|
29
|
+
return 1
|
30
|
+
end
|
31
|
+
|
32
|
+
begin
|
33
|
+
if options[:directory]!='.'
|
34
|
+
FileUtils.mkdir_p options[:directory]
|
35
|
+
end
|
36
|
+
FileUtils.cd options[:directory] do
|
33
37
|
generator = Jeweler::Generator.new(options)
|
34
38
|
generator.run
|
35
|
-
return
|
36
|
-
rescue Jeweler::NoGitUserName
|
37
|
-
$stderr.puts %Q{No user.name found in ~/.gitconfig. Please tell git about yourself (see http://help.github.com/git-email-settings/ for details). For example: git config --global user.name "mad voo"}
|
38
|
-
return {:exit=>1}
|
39
|
-
rescue Jeweler::NoGitUserEmail
|
40
|
-
$stderr.puts %Q{No user.email found in ~/.gitconfig. Please tell git about yourself (see http://help.github.com/git-email-settings/ for details). For example: git config --global user.email mad.vooo@gmail.com}
|
41
|
-
return {:exit=>1}
|
42
|
-
rescue Jeweler::NoGitHubUser
|
43
|
-
$stderr.puts %Q{No github.user found in ~/.gitconfig. Please tell git about your GitHub account (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.user defunkt}
|
44
|
-
return {:exit=>1}
|
45
|
-
rescue Jeweler::NoGitHubToken
|
46
|
-
$stderr.puts %Q{No github.token found in ~/.gitconfig. Please tell git about your GitHub account (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.token 6ef8395fecf207165f1a82178ae1b984}
|
47
|
-
return {:exit=>1}
|
48
|
-
rescue Jeweler::FileInTheWay
|
49
|
-
$stderr.puts "The directory for #{options[:project_name]} already exists. Maybe move it out of the way before continuing?"
|
50
|
-
return {:exit=>1}
|
39
|
+
return 0
|
51
40
|
end
|
41
|
+
rescue Jeweler::NoGitUserName
|
42
|
+
$stderr.puts %Q{No user.name found in ~/.gitconfig. Please tell git about yourself (see http://help.github.com/git-email-settings/ for details). For example: git config --global user.name "mad voo"}
|
43
|
+
return 1
|
44
|
+
rescue Jeweler::NoGitUserEmail
|
45
|
+
$stderr.puts %Q{No user.email found in ~/.gitconfig. Please tell git about yourself (see http://help.github.com/git-email-settings/ for details). For example: git config --global user.email mad.vooo@gmail.com}
|
46
|
+
return 1
|
47
|
+
rescue Jeweler::NoGitHubUser
|
48
|
+
$stderr.puts %Q{Please specify --github-username or set github.user in ~/.gitconfig (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.user defunkt}
|
49
|
+
return 1
|
50
|
+
rescue Jeweler::FileInTheWay
|
51
|
+
$stderr.puts "The directory #{options[:project_name]} already exists. Maybe move it out of the way before continuing?"
|
52
|
+
return 1
|
53
|
+
end
|
52
54
|
end #run!
|
55
|
+
|
56
|
+
def build_options(arguments)
|
57
|
+
env_opts_string = ENV['JEWELER_OPTS'] || ""
|
58
|
+
env_opts = Jeweler::Generator::Options.new(shellwords(env_opts_string))
|
59
|
+
argument_opts = Jeweler::Generator::Options.new(arguments)
|
60
|
+
|
61
|
+
env_opts.merge(argument_opts)
|
62
|
+
end
|
63
|
+
|
53
64
|
end #self
|
54
65
|
end #Application
|
55
66
|
end #Generator
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
module Biogem
|
5
5
|
module Render
|
6
|
-
# new hook for removing stuff
|
6
|
+
# new hook for removing stuff (FIXME: could use a test!!)
|
7
7
|
def after_render_template(source,buf)
|
8
8
|
if source == 'other_tasks.erb'
|
9
9
|
$stdout.puts "\tremove jeweler rcov lines"
|
@@ -92,12 +92,17 @@ module Biogem
|
|
92
92
|
mkdir_in_target bin_dir
|
93
93
|
output_template_in_target_generic path('bin/bio-plugin'), path(bin_dir, bin_name)
|
94
94
|
# TODO: set the file as executable (Windows?)
|
95
|
-
File.chmod
|
95
|
+
File.chmod 0755, path(target_dir, bin_dir, bin_name)
|
96
96
|
end
|
97
97
|
|
98
98
|
def create_test_data
|
99
99
|
mkdir_in_target("test") unless File.exists? "#{target_dir}/test"
|
100
|
-
|
100
|
+
#TODO use and iterator ...
|
101
|
+
mkdir_in_target test_data_dir
|
102
|
+
mkdir_in_target 'test/data/input'
|
103
|
+
mkdir_in_target 'test/data/regression'
|
104
|
+
mkdir_in_target 'test/data/rspec'
|
105
|
+
mkdir_in_target 'test/data/cucumber'
|
101
106
|
end
|
102
107
|
|
103
108
|
def create_ffi_structure
|
data/lib/bio-gem/mod/jeweler.rb
CHANGED
@@ -19,6 +19,11 @@ class Jeweler
|
|
19
19
|
original_initialize(options)
|
20
20
|
# RCov is not properly supported in Ruby 1.9.2, so we remove it
|
21
21
|
development_dependencies.delete_if { |k,v| k == "rcov" }
|
22
|
+
# Jeweler has a bug for bundler
|
23
|
+
development_dependencies.delete_if { |k,v| k == "bundler" }
|
24
|
+
development_dependencies.delete_if { |k,v| k == "jeweler" }
|
25
|
+
development_dependencies << ["jeweler",'~> 1.8.4", :git => "https://github.com/technicalpickles/jeweler.git']
|
26
|
+
development_dependencies << ["bundler", ">= 1.0.21"]
|
22
27
|
# development_dependencies << ["bio-logger"]
|
23
28
|
development_dependencies << ["bio", ">= 1.4.2"]
|
24
29
|
# we add rdoc because of an upgrade of rake RDocTask causing errors
|
@@ -28,6 +33,7 @@ class Jeweler
|
|
28
33
|
development_dependencies << ["activesupport", ">= 3.0.7"]
|
29
34
|
development_dependencies << ["sqlite3", ">= 1.3.3"]
|
30
35
|
end
|
36
|
+
development_dependencies << ['systemu', '>=2.5.2'] if options[:wrapper]
|
31
37
|
end
|
32
38
|
|
33
39
|
alias original_project_name project_name
|
@@ -69,20 +75,20 @@ class Jeweler
|
|
69
75
|
end
|
70
76
|
|
71
77
|
def create_and_push_repo
|
72
|
-
|
73
|
-
begin
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
rescue SocketError => se
|
84
|
-
puts_template_message("Seems you are not connected to Internet, can't create a remote repository. Do not forget to create it by hand, from GitHub, and sync it with this project.")
|
78
|
+
puts "Please provide your Github password to create the Github repository"
|
79
|
+
begin
|
80
|
+
login = github_username
|
81
|
+
password = ask("Password: ") { |q| q.echo = false }
|
82
|
+
github = Github.new(:login => login.strip, :password => password.strip)
|
83
|
+
github.repos.create(:name => github_repo_name, :description => summary)
|
84
|
+
rescue Github::Error::Unauthorized
|
85
|
+
puts "Wrong login/password! Please try again"
|
86
|
+
retry
|
87
|
+
rescue Github::Error::UnprocessableEntity
|
88
|
+
raise GitRepoCreationFailed, "Can't create that repo. Does it already exist?"
|
85
89
|
end
|
90
|
+
# TODO do a HEAD request to see when it's ready?
|
91
|
+
@repo.push('origin')
|
86
92
|
end
|
87
93
|
end #Generator
|
88
94
|
end #Jeweler
|
@@ -24,6 +24,7 @@ class Jeweler
|
|
24
24
|
|
25
25
|
require 'optparse'
|
26
26
|
@opts = OptionParser.new do |o|
|
27
|
+
self[:directory]='.'
|
27
28
|
o.banner = "Usage: #{File.basename($0)} [options] reponame\ne.g. #{File.basename($0)} the-perfect-gem"
|
28
29
|
|
29
30
|
o.on('--directory [DIRECTORY]', 'specify the directory to generate into') do |directory|
|
@@ -62,6 +63,10 @@ class Jeweler
|
|
62
63
|
self[:biogem_db] = true
|
63
64
|
end
|
64
65
|
|
66
|
+
o.on('--with-wrapper', 'setup the biogem to be a wrapper around a command line application') do
|
67
|
+
self[:wrapper] = true
|
68
|
+
end
|
69
|
+
|
65
70
|
o.separator ""
|
66
71
|
|
67
72
|
o.separator "These options are for Jeweler"
|
@@ -9,13 +9,13 @@ Note: this software is under active development!
|
|
9
9
|
## Installation
|
10
10
|
|
11
11
|
```sh
|
12
|
-
|
12
|
+
gem install <%= project_name %>
|
13
13
|
```
|
14
14
|
|
15
15
|
## Usage
|
16
16
|
|
17
17
|
```ruby
|
18
|
-
|
18
|
+
require '<%= project_name %>'
|
19
19
|
```
|
20
20
|
|
21
21
|
The API doc is online. For more code examples see the test files in
|
@@ -39,7 +39,7 @@ If you use this software, please cite one of
|
|
39
39
|
|
40
40
|
## Biogems.info
|
41
41
|
|
42
|
-
This Biogem is published at
|
42
|
+
This Biogem is published at (http://biogems.info/index.html#<%= project_name %>)
|
43
43
|
|
44
44
|
## Copyright
|
45
45
|
|
@@ -4,7 +4,16 @@
|
|
4
4
|
# Author:: <%= user_name %>
|
5
5
|
# Copyright:: <%= Time.now.year %>
|
6
6
|
|
7
|
-
|
7
|
+
USAGE = "Describe <%= bin_name %>"
|
8
|
+
|
9
|
+
gempath = File.dirname(File.dirname(__FILE__))
|
10
|
+
$: << File.join(gempath,'lib')
|
11
|
+
|
12
|
+
VERSION_FILENAME=File.join(gempath,'VERSION')
|
13
|
+
version = File.new(VERSION_FILENAME).read.chomp
|
14
|
+
|
15
|
+
# print banner
|
16
|
+
print "<%= bin_name %> #{version} by <%= user_name %> <%= Time.now.year %>\n"
|
8
17
|
|
9
18
|
if ARGV.size == 0
|
10
19
|
print USAGE
|
@@ -1,3 +1,19 @@
|
|
1
|
-
|
1
|
+
<% if options[:wrapper] %>require 'systemu'
|
2
|
+
<% end %>
|
2
3
|
|
4
|
+
module <%= constant_name %>
|
5
|
+
<% if options[:wrapper] %>
|
6
|
+
class Wrapper
|
7
|
+
def run
|
8
|
+
command = "some_application arguments"
|
9
|
+
status, stdout, stderr = systemu command, 0 => 'dummy stdin'
|
10
|
+
if status.exitstatus != 0
|
11
|
+
$stderr.puts "Failed to run wrapping command correctly, as non-zero exit status "+
|
12
|
+
"#{status.exitstatus} detected. Command run was `#{command}'"
|
13
|
+
else
|
14
|
+
# All good. Now to something useful with the stdout..
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
<% end %>
|
3
19
|
end
|
data/test/test_bio-gem.rb
CHANGED
@@ -5,10 +5,18 @@ $UNITTEST=true # prevents github push
|
|
5
5
|
|
6
6
|
class TestBiorubyGem < Test::Unit::TestCase
|
7
7
|
TEST_DIR = 'test/bioruby-biogem-test'
|
8
|
+
def basic_generated_files(project_name)
|
9
|
+
%W(Gemfile lib lib/bio-#{project_name}.rb LICENSE.txt Rakefile README.rdoc test test/helper.rb test/test_bio-#{project_name}.rb).map do |file_name_to_test|
|
10
|
+
File.join("bioruby-#{project_name}",file_name_to_test)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
8
14
|
def setup
|
9
15
|
# check and create test directory
|
10
|
-
|
11
|
-
|
16
|
+
`git config --global user.email "git@example.com"` if `git config user.email`.empty?
|
17
|
+
`git config --global user.name "GitExample"` if `git config user.name`.empty?
|
18
|
+
FileUtils.rm_rf(TEST_DIR) if Dir.exist?(TEST_DIR)
|
19
|
+
Dir.mkdir TEST_DIR
|
12
20
|
end
|
13
21
|
|
14
22
|
def teardown
|
@@ -21,11 +29,23 @@ class TestBiorubyGem < Test::Unit::TestCase
|
|
21
29
|
project_name = "biogem-test"
|
22
30
|
Dir.chdir(TEST_DIR) do
|
23
31
|
application_exit = Bio::Gem::Generator::Application.run!("--no-create-repo", "--user-name=\"fake_name\"", "--user-email=\"fake_email\"", "--github-username=\"fake_github_user\"","#{project_name}")
|
24
|
-
|
25
|
-
File.exist?(
|
32
|
+
basic_generated_files(project_name).each do |path|
|
33
|
+
assert File.exist?(path), path
|
26
34
|
end
|
27
|
-
assert_equal [true, true, true, true, true, true, true, true, true], files_tested
|
28
35
|
end
|
29
36
|
|
30
37
|
end
|
38
|
+
|
39
|
+
def test_create_wrapper_project
|
40
|
+
project_name = "biogem-test2"
|
41
|
+
Dir.chdir(TEST_DIR) do
|
42
|
+
application_exit = Bio::Gem::Generator::Application.run!('--with-wrapper',"--no-create-repo", "--user-name=\"fake_name\"", "--user-email=\"fake_email\"", "--github-username=\"fake_github_user\"","#{project_name}")
|
43
|
+
basic_generated_files(project_name).each do |path|
|
44
|
+
assert File.exist?(path), path
|
45
|
+
end
|
46
|
+
assert File.read(File.join("bioruby-#{project_name}",'lib',"bio-#{project_name}","#{project_name}.rb")).match(/require 'systemu'/)
|
47
|
+
assert File.read(File.join("bioruby-#{project_name}",'lib',"bio-#{project_name}","#{project_name}.rb")).match(/systemu command/)
|
48
|
+
assert File.read(File.join("bioruby-#{project_name}",'Gemfile')).match(/gem "systemu"/)
|
49
|
+
end
|
50
|
+
end
|
31
51
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bio-gem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
5
|
-
prerelease:
|
4
|
+
version: 1.3.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Raoul J.P. Bonnal
|
@@ -10,56 +9,67 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2013-07-24 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: bundler
|
17
|
-
requirement:
|
18
|
-
none: false
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - '>='
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: 1.0.21
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
|
-
version_requirements:
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.0.21
|
26
28
|
- !ruby/object:Gem::Dependency
|
27
29
|
name: jeweler
|
28
|
-
requirement:
|
29
|
-
none: false
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- -
|
32
|
+
- - '>='
|
32
33
|
- !ruby/object:Gem::Version
|
33
34
|
version: '0'
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
37
42
|
- !ruby/object:Gem::Dependency
|
38
43
|
name: rdoc
|
39
|
-
requirement:
|
40
|
-
none: false
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
41
45
|
requirements:
|
42
|
-
- -
|
46
|
+
- - '>='
|
43
47
|
- !ruby/object:Gem::Version
|
44
48
|
version: '0'
|
45
49
|
type: :runtime
|
46
50
|
prerelease: false
|
47
|
-
version_requirements:
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
48
56
|
- !ruby/object:Gem::Dependency
|
49
57
|
name: shoulda
|
50
|
-
requirement:
|
51
|
-
none: false
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
52
59
|
requirements:
|
53
|
-
- -
|
60
|
+
- - '>='
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: '0'
|
56
63
|
type: :development
|
57
64
|
prerelease: false
|
58
|
-
version_requirements:
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
description: |-
|
71
|
+
Biogem is a software generator for those bioinformaticans who want to start coding an application or a library for using/extending BioRuby core library and sharing it through rubygems.org .
|
72
|
+
The basic idea is to simplify and promote a modular approach to bioinformatics software development
|
63
73
|
email: ilpuccio.febo@gmail.com
|
64
74
|
executables:
|
65
75
|
- biogem
|
@@ -73,7 +83,6 @@ files:
|
|
73
83
|
- .travis.yml
|
74
84
|
- .yardopts
|
75
85
|
- Gemfile
|
76
|
-
- Gemfile.lock
|
77
86
|
- LICENSE.txt
|
78
87
|
- README.rdoc
|
79
88
|
- Rakefile
|
@@ -119,6 +128,7 @@ files:
|
|
119
128
|
homepage: http://github.com/helios/bioruby-gem
|
120
129
|
licenses:
|
121
130
|
- MIT
|
131
|
+
metadata: {}
|
122
132
|
post_install_message:
|
123
133
|
rdoc_options:
|
124
134
|
- --main
|
@@ -127,21 +137,19 @@ rdoc_options:
|
|
127
137
|
require_paths:
|
128
138
|
- lib
|
129
139
|
required_ruby_version: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
140
|
requirements:
|
132
|
-
- -
|
141
|
+
- - '>='
|
133
142
|
- !ruby/object:Gem::Version
|
134
143
|
version: '1.9'
|
135
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
145
|
requirements:
|
138
|
-
- -
|
146
|
+
- - '>='
|
139
147
|
- !ruby/object:Gem::Version
|
140
148
|
version: '0'
|
141
149
|
requirements: []
|
142
150
|
rubyforge_project:
|
143
|
-
rubygems_version:
|
151
|
+
rubygems_version: 2.0.0
|
144
152
|
signing_key:
|
145
|
-
specification_version:
|
153
|
+
specification_version: 4
|
146
154
|
summary: Biogem is a software generator for Ruby in bioinformatics
|
147
155
|
test_files: []
|
data/Gemfile.lock
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
git (1.2.5)
|
5
|
-
jeweler (1.8.3)
|
6
|
-
bundler (~> 1.0)
|
7
|
-
git (>= 1.2.5)
|
8
|
-
rake
|
9
|
-
rdoc
|
10
|
-
json (1.6.5)
|
11
|
-
json (1.6.5-java)
|
12
|
-
rake (0.9.2.2)
|
13
|
-
rdoc (3.12)
|
14
|
-
json (~> 1.4)
|
15
|
-
shoulda (3.0.1)
|
16
|
-
shoulda-context (~> 1.0.0)
|
17
|
-
shoulda-matchers (~> 1.0.0)
|
18
|
-
shoulda-context (1.0.0)
|
19
|
-
shoulda-matchers (1.0.0)
|
20
|
-
|
21
|
-
PLATFORMS
|
22
|
-
java
|
23
|
-
ruby
|
24
|
-
|
25
|
-
DEPENDENCIES
|
26
|
-
bundler (>= 1.0.21)
|
27
|
-
jeweler
|
28
|
-
rdoc
|
29
|
-
shoulda
|