logirel 0.0.8 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
data/.semver CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 8
4
+ :patch: 14
5
5
  :special: ""
data/Rakefile.rb CHANGED
@@ -11,27 +11,35 @@ RSpec::Core::RakeTask.new(:spec)
11
11
  #gem install'd it) and release will push the gem to Rubygems for
12
12
  #consumption by the public.
13
13
 
14
- desc 'Tag the repository in git with gem version number'
15
- task :tag do
14
+ task :verify do
16
15
  changed_files = `git diff --cached --name-only`.split("\n") + `git diff --name-only`.split("\n")
16
+ if !(changed_files == ['Rakefile.rb'] or changed_files.empty?)
17
+ raise "Repository contains uncommitted changes; either commit or stash."
18
+ end
19
+ end
20
+
21
+ desc 'Tag the repository in git with gem version number'
22
+ task :tag => :verify do
17
23
  v = SemVer.find
18
- if changed_files == ['Rakefile.rb'] or changed_files.empty?
19
- Rake::Task["build"].invoke
24
+ Rake::Task["build"].invoke
20
25
 
21
- if `git tag`.split("\n").include?("#{v.to_s}")
22
- raise "Version #{v.to_s} has already been released"
23
- end
24
- puts 'adding'
25
- `git add #{File.expand_path("logirel.gemspec", __FILE__)}`
26
- puts 'committing'
27
- `git commit -m "Released version #{v.to_s}"`
28
- puts 'tagging'
29
- `git tag #{v.to_s}`
30
- puts 'pushing tags'
31
- `git push --tags`
32
- puts 'pushing'
33
- `git push`
34
- else
35
- raise "Repository contains uncommitted changes; either commit or stash."
26
+ if `git tag`.split("\n").include?("#{v.to_s}")
27
+ raise "Version #{v.to_s} has already been released"
36
28
  end
29
+ puts 'adding'
30
+ `git add Rakefile.rb`
31
+ puts 'committing'
32
+ `git commit -m "Released version #{v.to_s}"`
33
+ puts 'tagging'
34
+ `git tag #{v.to_s}`
35
+ puts 'locally installing'
36
+ Rake::Task["install"].invoke
37
+ end
38
+
39
+ desc "push data and tags"
40
+ task :push => :verify do
41
+ puts 'pushing tags'
42
+ `git push --tags`
43
+ puts 'pushing'
44
+ `git push`
37
45
  end
@@ -4,33 +4,34 @@ require 'net/http'
4
4
 
5
5
  module Logirel
6
6
  class Initer
7
-
8
- attr_accessor :root_path, :buildscripts_path
9
-
10
- def initialize(root = '.', buildscripts = 'buildscripts');
11
- @root_path = root
12
- @buildscripts_path = buildscripts; end
13
- def set_root(root); @root_path = root; end
14
-
7
+
8
+ attr_accessor :root_path, :buildscripts_path
9
+
10
+ def initialize(root = '.', buildscripts = 'buildscripts');
11
+ @root_path = root
12
+ @buildscripts_path = buildscripts
13
+ end
14
+ def set_root(root); @root_path = root; end
15
+
15
16
  def get_commands
16
- cmd ||= []
17
- cmd << "semver init"
18
- end
19
-
20
- def nuget_from_codeplex(cp_ver, gem_ver)
21
- (cp_ver <=> gem_ver) > 0
22
- end
23
-
24
- def create_structure
25
- # puts "making dir #{@root_path}"
26
- ['buildscripts', 'src'].each do |d|
27
- path = File.join(@root_path, d)
28
- Dir.mkdir path unless Dir.exists? path
29
- end
30
- end
31
-
32
- def create_path_folders(metas, f)
33
- f.puts %q{
17
+ cmd ||= []
18
+ cmd << "semver init"
19
+ end
20
+
21
+ def nuget_from_codeplex(cp_ver, gem_ver)
22
+ (cp_ver <=> gem_ver) > 0
23
+ end
24
+
25
+ def create_structure
26
+ # puts "making dir #{@root_path}"
27
+ ['buildscripts', 'src'].each do |d|
28
+ path = File.join(@root_path, d)
29
+ Dir.mkdir path unless Dir.exists? path
30
+ end
31
+ end
32
+
33
+ def create_path_folders(metas, f)
34
+ f.puts %q{
34
35
  require File.dirname(__FILE__) + '/project_data'
35
36
  root_folder = File.expand_path("#{File.dirname(__FILE__)}/..")
36
37
  Folders = \{
@@ -90,7 +91,8 @@ Folders = \{
90
91
  end
91
92
 
92
93
  def init_environement_rb
93
- path = File.join(@root_path, @buildscripts_path, "environment.rb")
94
+ base_path = ensure_path @buildscripts_path
95
+ path = File.join base_path, "environment.rb"
94
96
  File.open(path, "w") do |f|
95
97
  f.puts Net::HTTP.get(
96
98
  URI.parse('https://raw.github.com/haf/logirel/master/content/environment.rb'))
@@ -109,7 +111,7 @@ Folders = \{
109
111
  end
110
112
 
111
113
  def init_gemfile
112
- File.open(File.join(@root_path, "Gemfile"), "w") do |f|
114
+ File.open(File.join(@root_path, "Gemfile"), "w+") do |f|
113
115
  f.puts 'source "http://rubygems.org"'
114
116
  f.puts 'gem "albacore"'
115
117
  f.puts 'gem "semver"'
@@ -118,7 +120,8 @@ Folders = \{
118
120
  end
119
121
 
120
122
  def init_utils
121
- path = File.join(@root_path, @buildscripts_path, "utils.rb")
123
+ base_path = ensure_path @buildscripts_path
124
+ path = File.join base_path, "utils.rb"
122
125
  File.open(path, "w") do |f|
123
126
  f.puts Net::HTTP.get(
124
127
  URI.parse('https://raw.github.com/haf/logirel/master/content/utils.rb'))
@@ -138,8 +141,8 @@ Folders = \{
138
141
  end
139
142
 
140
143
  def init_rakefile(metas)
141
- # puts metas.map{|m| ":build_"+m.ruby_key}
142
- File.open(File.join(@root_path, @buildscripts_path, "Rakefile.rb"), "w") do |f|
144
+ base_path = ensure_path @buildscripts_path
145
+ File.open File.join(base_path, "Rakefile.rb"), "w" do |f|
143
146
  f.puts %q{
144
147
  require 'rubygems'
145
148
  require 'bundler'
@@ -163,20 +166,27 @@ task :ci => ["env:release", :build, :package]
163
166
  end
164
167
  end
165
168
 
166
- def init_project_details(metadata)
167
- File.open(File.join(@root_path, @buildscripts_path, "project_details.rb"), "w") do |f|
168
- f.puts "Projects = {"
169
- # m = ["my key", value]
170
- # projects[m[0]] = value
171
- metadata.keys.each_with_index do |key, index|
172
- if index == metadata.length-1
173
- f.puts ":#{key} = #{p(metadata[key])}"
174
- else
175
- f.puts ":#{key} = #{p(metadata[key])},"
176
- end
169
+ def init_project_details(metadata)
170
+ base_path = ensure_path @buildscripts_path
171
+ File.open(File.join(base_path, "project_details.rb"), "w+") do |f|
172
+ f.puts "Projects = {"
173
+ # m = ["my key", value]
174
+ # projects[m[0]] = value
175
+ metadata.keys.each_with_index do |key, index|
176
+ if index == metadata.length-1
177
+ f.puts ":#{key} = #{p(metadata[key])}"
178
+ else
179
+ f.puts ":#{key} = #{p(metadata[key])},"
180
+ end
177
181
  end
178
- f.puts "}"
182
+ f.puts "}"
179
183
  end
184
+ end
185
+
186
+ def ensure_path path
187
+ base_path = File.join @root_path, path
188
+ Dir.mkdir base_path unless Dir.exists? base_path
189
+ base_path
180
190
  end
181
191
  end
182
192
  end
data/lib/logirel/cli.rb CHANGED
@@ -11,26 +11,28 @@ module Logirel
11
11
  desc "init", "Convert the current folder's projects (src) into a rake+albacore build"
12
12
  def init(root_dir = Dir.pwd)
13
13
 
14
- puts "Logirel version #{Logirel::VERSION}"
15
- curr = Dir.pwd
16
-
14
+ puts "logirel"
15
+ puts "======="
16
+ curr = Dir.pwd
17
+ puts "Current dir: #{curr}"
18
+
17
19
  puts ""
18
20
  puts "Directories Selection"
19
21
  puts "---------------------"
20
-
21
- folder = lambda { |query, default|
22
- StrQ.new(query, default, STDIN, lambda { |dir|
23
- true # perform validation here if you wish
24
- }, STDOUT)
25
- }
26
-
27
- src_folders = Initer.new('./src').parse_folders.inspect
28
- dir = folder.call("Source Directory. Default contains (#{src_folders})", "./src").exec
29
- buildscripts = folder.call("Buildscripts Directory", "./buildscripts").exec
30
- tools = folder.call("Tools Directory", "./tools").exec
31
- initer = Initer.new(dir)
32
- initer.buildscripts_path = buildscripts
33
-
22
+
23
+ folder = lambda { |query, default|
24
+ StrQ.new(query, default, STDIN, lambda { |dir|
25
+ true # perform validation here if you wish
26
+ }, STDOUT)
27
+ }
28
+
29
+ src_folders = Initer.new('.').parse_folders.inspect
30
+ dir = folder.call("Source Directory. Default contains (#{src_folders})", "src").exec
31
+ buildscripts = folder.call("Buildscripts Directory", "buildscripts").exec
32
+ tools = folder.call("Tools Directory", "tools").exec
33
+ initer = Initer.new(".")
34
+ initer.buildscripts_path = buildscripts
35
+
34
36
  puts ""
35
37
  puts "Project Selection"
36
38
  puts "-----------------"
@@ -38,31 +40,34 @@ module Logirel
38
40
  selected_projs = initer.parse_folders.
39
41
  find_all { |f| BoolQ.new(f).exec }
40
42
 
41
- puts "Selected: #{selected_projs.inspect}"
42
-
43
+ puts "Selected: #{selected_projs.inspect}"
44
+
45
+
46
+ puts "initing semver in folder #{dir}"
47
+ `semver init`
48
+ puts "done..."
43
49
  puts ""
44
50
  puts "Project Meta-Data Definitions"
45
51
  puts "-----------------------------"
46
-
47
- puts "initing semver in folder #{dir}"
48
- `semver init`
49
-
52
+ puts "Let's set up some meta-data!"
50
53
  metas = selected_projs.map do |p|
51
54
 
52
55
  base = File.basename(p)
56
+
57
+ puts "META DATA FOR: '#{base}'"
53
58
  p_dir = File.join(dir, base)
54
59
 
55
60
  {
56
61
  :dir => p_dir,
57
- :title => StrQ.new("Title", base).exec,
58
- :test_dir => StrQ.new("Test Directory", base + ".Tests").exec,
59
- :description => StrQ.new("Description", "#{base} at commit #{`git log --pretty-format=%H`}").exec,
60
- :copyright => StrQ.new("Copyright").exec,
61
- :authors => StrQ.new("Authors").exec,
62
- :company => StrQ.new("Company").exec,
63
- :nuget_key => StrQ.new("NuGet key", base).exec,
64
- :ruby_key => StrQ.new("Ruby key (e.g. 'autotx')").exec,
65
- :guid => UUID.new
62
+ :title => StrQ.new("Title", base).exec,
63
+ :test_dir => StrQ.new("Test Directory", base + ".Tests").exec,
64
+ :description => StrQ.new("Description", "of #{base}").exec,
65
+ :copyright => StrQ.new("Copyright").exec,
66
+ :authors => StrQ.new("Authors").exec,
67
+ :company => StrQ.new("Company").exec,
68
+ :nuget_key => StrQ.new("NuGet key", base).exec,
69
+ :ruby_key => StrQ.new("Ruby key (e.g. 'autotx')").exec,
70
+ :guid => UUID.new
66
71
  }
67
72
  end
68
73
 
@@ -6,42 +6,44 @@ module Logirel
6
6
  class BoolQ < Q
7
7
  attr_accessor :pos_answer, :neg_answer
8
8
 
9
- def initialize(question,
10
- default,
11
- io_source = STDIN,
12
- io_target = STDOUT)
9
+ def initialize(question,
10
+ default = true,
11
+ io_source = STDIN,
12
+ io_target = STDOUT)
13
13
  @question = question
14
- @default = default
15
- @io_source = io_source
16
- @io_target = io_target
14
+ @default = default
15
+ @io_source = io_source
16
+ @io_target = io_target
17
+ end
18
+
19
+ def default_str
20
+
21
+ @default ? "[Yn]" : "[yN]"
22
+
17
23
  end
18
-
19
- def default_str
20
- @default ? "[Yn]" : "[yN]"
21
- end
22
24
 
23
25
  def exec
24
26
  @io_target.print @question + " " + default_str
25
- a = ""
26
- begin
27
- a = @io_source.gets.chomp
28
- end while !a.empty? && !['y', 'n'].include?(a.downcase)
29
- a.empty? ? @default : (a == 'y')
27
+ a = ""
28
+ begin
29
+ a = @io_source.gets.chomp
30
+ end while !a.empty? && !['y', 'n'].include?(a.downcase)
31
+ a.empty? ? @default : (a == 'y')
30
32
  end
31
33
  end
32
34
 
33
35
  class StrQ < Q
34
36
  def initialize(question,
35
- default = nil,
36
- io_source = STDIN,
37
- validator = nil,
38
- io_target = STDOUT)
37
+ default = nil,
38
+ io_source = STDIN,
39
+ validator = nil,
40
+ io_target = STDOUT)
39
41
  @question = question
40
42
  @default = default
41
43
  @io_source = io_source
42
44
  @validator = validator || lambda { |s| true }
43
- @io_target = io_target
44
- @answer = ""
45
+ @io_target = io_target
46
+ @answer = ""
45
47
  end
46
48
 
47
49
  def answer
@@ -50,12 +52,12 @@ module Logirel
50
52
 
51
53
  def exec
52
54
  @io_target.print @question + " [#{@default}]: "
53
- begin
55
+ begin
54
56
  @answer = @io_source.gets.chomp
55
- end while !@answer.empty? && !@validator.call(@answer)
56
- @answer = @answer.empty? ? @default : @answer
57
- @io_target.puts "Chose '#{@answer}'."
58
- @answer
57
+ end while !@answer.empty? && !@validator.call(@answer)
58
+ @answer = @answer.empty? ? @default : @answer
59
+ @io_target.puts "Chose '#{@answer}'."
60
+ @answer
59
61
  end
60
62
  end
61
63
  end
@@ -1,14 +1,21 @@
1
1
  module Logirel
2
2
  begin
3
3
  require 'semver'
4
- VERSION = SemVer.find.format "%M.%m.%p"
5
- class Version < SemVer
4
+ begin
5
+ VERSION = SemVer.find.format "%M.%m.%p"
6
+ rescue SemVerMissingError
7
+ VERSION = "0.0.x"
8
+ end
9
+
10
+ class Version < SemVer
6
11
  def parse_numeric(str)
7
- str.scan(/(\d{1,5}).?/).flatten.collect{|x| x.to_i}
8
- end
12
+ str.scan(/(\d{1,5}).?/).flatten.collect{|x| x.to_i}
13
+ end
9
14
  end
15
+
10
16
  rescue LoadError
11
17
  puts 'First time installing, eh? Just run "bundle install"! (unless this is you running it right now!)'
12
- VERSION = "0.0.0"
18
+ VERSION = "0.0.x"
13
19
  end
20
+
14
21
  end
data/logirel.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency "memoize"
28
28
  s.add_development_dependency "devver-construct"
29
29
  s.add_dependency "albacore", "~> 0.2.5"
30
- s.add_dependency "semver", "~> 1.0.1"
30
+ s.add_dependency "semver", "~> 1.0.6"
31
31
  s.add_dependency "bundler", "~> 1.0.14"
32
32
  s.add_dependency "thor"
33
33
  s.add_dependency "uuid"
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logirel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-28 00:00:00.000000000Z
12
+ date: 2011-06-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &19696860 !ruby/object:Gem::Requirement
16
+ requirement: &20363640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.6.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *19696860
24
+ version_requirements: *20363640
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: memoize
27
- requirement: &19696584 !ruby/object:Gem::Requirement
27
+ requirement: &20363364 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *19696584
35
+ version_requirements: *20363364
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: devver-construct
38
- requirement: &19696224 !ruby/object:Gem::Requirement
38
+ requirement: &20363052 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *19696224
46
+ version_requirements: *20363052
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: albacore
49
- requirement: &19695828 !ruby/object:Gem::Requirement
49
+ requirement: &20362536 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,21 +54,21 @@ dependencies:
54
54
  version: 0.2.5
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *19695828
57
+ version_requirements: *20362536
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: semver
60
- requirement: &19695396 !ruby/object:Gem::Requirement
60
+ requirement: &20362056 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
64
64
  - !ruby/object:Gem::Version
65
- version: 1.0.1
65
+ version: 1.0.6
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *19695396
68
+ version_requirements: *20362056
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &19694976 !ruby/object:Gem::Requirement
71
+ requirement: &20361588 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.0.14
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *19694976
79
+ version_requirements: *20361588
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: thor
82
- requirement: &19694544 !ruby/object:Gem::Requirement
82
+ requirement: &20361192 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *19694544
90
+ version_requirements: *20361192
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: uuid
93
- requirement: &19694076 !ruby/object:Gem::Requirement
93
+ requirement: &20360760 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *19694076
101
+ version_requirements: *20360760
102
102
  description: ! "The gem works by having as its dependencies \n everything you need
103
103
  to get started with OSS and proprietary .Net coding.\n The aim of the gem is to
104
104
  allow developers to get up and running quickly\n and provide a nice way of converting
@@ -123,7 +123,6 @@ files:
123
123
  - lib/logirel/NuGet.rb
124
124
  - lib/logirel/cli.rb
125
125
  - lib/logirel/details_emitter.rb
126
- - lib/logirel/logirel.rb
127
126
  - lib/logirel/q_model.rb
128
127
  - lib/logirel/querier.rb
129
128
  - lib/logirel/version.rb
@@ -149,7 +148,7 @@ files:
149
148
  - vendor/cache/rspec-expectations-2.6.0.gem
150
149
  - vendor/cache/rspec-mocks-2.6.0.gem
151
150
  - vendor/cache/rubyzip-0.9.4.gem
152
- - vendor/cache/semver-1.0.1.gem
151
+ - vendor/cache/semver-1.0.5.gem
153
152
  - vendor/cache/thor-0.14.6.gem
154
153
  - vendor/cache/uuid-2.3.2.gem
155
154
  homepage: https://github.com/haf/logirel
File without changes
Binary file