logirel 0.1.4 → 0.1.5

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: 1
4
- :patch: 4
4
+ :patch: 5
5
5
  :special: ""
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  source "http://rubygems.org"
2
- source "http://gems.github.com"
3
2
 
4
3
  # Specify your gem's dependencies in logirel.gemspec
5
4
  gemspec
data/lib/logirel.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  require 'thor'
2
- require 'uuid'
2
+ require 'uuidtools'
3
3
  require 'logirel/cli'
data/lib/logirel/cli.rb CHANGED
@@ -4,7 +4,6 @@ require 'logirel/vs/solution'
4
4
  require 'logirel/vs/environment'
5
5
  require 'logirel/tasks/albacore_tasks'
6
6
  require 'logirel/cli_helper'
7
- require 'uuid'
8
7
  require 'thor'
9
8
  require 'fileutils'
10
9
 
@@ -34,15 +33,12 @@ module Logirel
34
33
  @root = root
35
34
 
36
35
  puts "logirel v#{Logirel::VERSION}"
37
- puts ""
36
+
38
37
  @folders = helper.folders_selection
39
38
  @files = helper.files_selection folders
40
-
41
- puts "Choose what projects to include:"
42
39
  selected_projs = helper.parse_folders(folders[:src]).find_all { |f| BoolQ.new(f).exec }
43
-
44
- puts ""
45
40
  @metas = selected_projs.empty? ? [] : helper.metadata_interactive(selected_projs, @folders)
41
+ to_package = @metas.find_all{|p| p[:create_package] }
46
42
 
47
43
  puts "initing main environment"
48
44
  run 'semver init'
@@ -57,9 +53,45 @@ module Logirel
57
53
  run 'git init'
58
54
  run 'git add .'
59
55
 
56
+ generate_asm_info = BoolQ.new("Create common assembly info file?").exec
57
+ build_sln = BoolQ.new("Add msbuild task for sln file?").exec
58
+
59
+ build_dep = ["env:release"]
60
+
61
+ if generate_asm_info then
62
+ assembly_info_task @metas.first(), { :depends => build_dep }
63
+ build_dep.push 'assemblyinfo'
64
+ end
65
+
66
+ if build_sln then
67
+ msbuild_task
68
+ build_dep.push "msbuild" if build_sln
69
+
70
+ outputs = { :depends => @metas.collect { |m| :"#{m[:ruby_key]}_output" } }
71
+ @metas.each { |p| output_task p, {:depends=>[:msbuild]} }
72
+ append_file BUILD_FILE, "task :output#{ inject_dependency outputs }\n"
73
+
74
+ build_dep.push "output"
75
+ end
76
+
77
+ if not to_package.empty? then
78
+ nuspecs = { :depends => to_package.collect{|p| :"#{p[:ruby_key]}_nuspec" } }
79
+ append_to_file BUILD_FILE, "task :nuspecs#{ inject_dependency nuspecs }\n"
80
+ to_package.each{ |p| nuspec_task p }
81
+
82
+ nugets = { :depends => [:"env:release", :nuspecs].concat(to_package.collect{|p| :"#{p[:ruby_key]}_nuget" }) }
83
+ append_to_file BUILD_FILE, "task :nugets#{inject_dependency nugets}\n"
84
+ to_package.each{ |p| nuget_task p }
85
+
86
+ build_dep.push "nugets"
87
+ end
88
+
89
+ if BoolQ.new("Setup default task?") then
90
+ opts = { :depends => build_dep }
91
+ append_to_file File.join(@root, BUILD_FILE), "task :default #{ inject_dependency opts }"
92
+ end
93
+
60
94
  # TODO: add a few nuget, nuspec, owrap, fpm, puppet etc tasks here!
61
- build_sln = BoolQ.new("add msbuild task for sln file?", true).exec
62
- msbuild_task BoolQ.new("Set this task up as rake default task?", true).exec if build_sln
63
95
 
64
96
  helper.say_goodbye
65
97
  end
@@ -1,4 +1,5 @@
1
1
  require 'logirel/queries'
2
+ require 'uuidtools'
2
3
 
3
4
  module Logirel
4
5
  class CliHelper
@@ -10,6 +11,14 @@ module Logirel
10
11
 
11
12
  # src: relative path!
12
13
  def parse_folders src
14
+ puts ""
15
+ puts "Projects Selection"
16
+ puts "---------------------"
17
+ puts "Choose what projects to include (don't include test-projects):"
18
+ parse_folders_inner src
19
+ end
20
+
21
+ def parse_folders_inner src
13
22
  src = File.join(@root_dir, src, '*')
14
23
  Dir.
15
24
  glob(src).
@@ -20,6 +29,7 @@ module Logirel
20
29
  end
21
30
 
22
31
  def folders_selection
32
+ puts ""
23
33
  puts "Directories Selection"
24
34
  puts "---------------------"
25
35
  puts "Current dir: #{@root_dir}, #{Dir.entries(@root_dir).keep_if{|x|
@@ -29,8 +39,9 @@ module Logirel
29
39
  puts ""
30
40
 
31
41
  build_dir = StrQ.new("Build Output Directory", "build").exec
42
+
32
43
  {
33
- :src => StrQ.new("Source Directory. Default (src) contains (#{parse_folders('src').inspect})", 'src').exec,
44
+ :src => StrQ.new("Source Directory. Default (src) contains (#{parse_folders_inner('src').inspect})", 'src').exec,
34
45
  :buildscripts => StrQ.new("Buildscripts Directory", "buildscripts").exec,
35
46
  :build => build_dir,
36
47
  :tools => StrQ.new("Tools Directory", "tools").exec,
@@ -43,13 +54,14 @@ module Logirel
43
54
  # folders: hash (as defined above), of folder paths
44
55
  def files_selection folders
45
56
  puts "Looking at src folder: '#{folders[:src]}'."
46
- first_sln = Dir.glob(File.join(@root_dir, folders[:src],"*.sln")).first
57
+ first_sln = Dir.glob(File.join(@root_dir, folders[:src],"*.sln")).first || ""
47
58
  {
48
59
  :sln => StrQ.new("sln file", File.join(folders[:src], File.basename(first_sln))).exec
49
60
  }
50
61
  end
51
62
 
52
63
  def metadata_interactive selected_projs, selected_folders
64
+ puts ""
53
65
  puts "Project Meta-Data Definitions"
54
66
  puts "-----------------------------"
55
67
  puts "Let's set up some meta-data!"
@@ -60,11 +72,13 @@ module Logirel
60
72
  def say_goodbye
61
73
  puts ""
62
74
  puts "SCAFFOLDING DONE! Now run 'bundle install' to install any dependencies for your albacore rakefile,"
63
- puts " and git commit to commit changes!"
75
+ puts " and git commit to commit changes! *** REMEMBER THAT YOU NEED NuGet at: '[tools]/nuget.exe' ***"
76
+ puts " to build nugets."
64
77
  puts ""
65
78
  puts "Footnote:"
66
- puts "If you hack a nice task or deployment script - feel free to send some code to henrik@haf.se to"
67
- puts "make it available for everyone and get support on it through the community for free!"
79
+ puts "If you hack a nice task or deployment script - feel free to send a pull request to https://github.com/haf/logirel,"
80
+ puts "to make it available for everyone and get support on it through the community for free!"
81
+ puts ""
68
82
  end
69
83
 
70
84
  private
@@ -73,19 +87,23 @@ module Logirel
73
87
 
74
88
  puts "META DATA FOR DIRECTORY: '#{src_dir}/#{base}'"
75
89
  title = StrQ.new("Title", base).exec
90
+ create_package = BoolQ.new("Package with package manager?").exec
91
+ has_unit_tests = BoolQ.new("Has unit-tests?").exec
76
92
 
77
93
  {
78
94
  :title => title,
79
95
  :id => base,
80
- :dir => File.join(src_dir, base),
81
- :test_dir => StrQ.new("Test Directory", title + ".Tests").exec,
96
+ :dir => base,
97
+ :test_dir => if has_unit_tests then StrQ.new("Test Directory", title + ".Tests").exec else "" end,
82
98
  :description => StrQ.new("Description", "Missing description for #{base}").exec,
83
- :copyright => StrQ.new("Copyright").exec,
84
99
  :authors => StrQ.new("Authors").exec,
85
100
  :company => StrQ.new("Company").exec,
86
- :nuget_key => StrQ.new("NuGet key", base).exec,
87
- :ruby_key => StrQ.new("Ruby key (e.g. 'autotx')", nil, STDIN, lambda { |s| s != nil && s.length > 0 }).exec,
88
- :guid => UUID.new.generate
101
+ :copyright => StrQ.new("Copyright", "Copyright (c)").exec,
102
+ :nuget_key => if create_package then StrQ.new("NuGet key", base).exec else "" end,
103
+ :ruby_key => StrQ.new("Ruby key (compulsory: e.g. 'autotx')", nil, STDIN, lambda { |s| s != nil && s.length > 0 }).exec,
104
+ :guid => UUIDTools::UUID.random_create.to_s,
105
+ :dependencies => [],
106
+ :create_package => create_package
89
107
  }
90
108
  end
91
109
  end
@@ -1,15 +1,29 @@
1
1
  module Logirel::Tasks
2
- def assembly_info_task(opts={})
2
+ def assembly_info_task proj_meta, opts={}
3
+
4
+ k = proj_meta[:ruby_key]
5
+
3
6
  append_to_file BUILD_FILE, <<-EOF, :verbose => false
4
7
 
5
- assemblyinfo #{ inject_task_name opts, 'assemblyinfo' }#{ inject_dependency opts } do |asm|
8
+ desc 'generate the shared assembly info'
9
+ assemblyinfo #{inject_task_name opts, 'assemblyinfo' }#{ inject_dependency opts } do |asm|
10
+ data = commit_data() #hash + date
11
+ asm.product_name = asm.title = PROJECTS[:#{k}][:title]
12
+ asm.description = PROJECTS[:#{k}][:description] + " \#{data[0]} - \#{data[1]}"
13
+ asm.company_name = PROJECTS[:#{k}][:company]
14
+ # This is the version number used by framework during build and at runtime to locate, link and load the assemblies. When you add reference to any assembly in your project, it is this version number which gets embedded.
6
15
  asm.version = BUILD_VERSION
16
+ # Assembly File Version : This is the version number given to file as in file system. It is displayed by Windows Explorer. Its never used by .NET framework or runtime for referencing.
7
17
  asm.file_version = BUILD_VERSION
8
- asm.company_name = "#{vars[:env].organization}"
9
- asm.product_name = "#{vars[:solution].name}"
10
- asm.copyright = "Copyright (c) #{vars[:env].organization}"
11
- asm.output_file = "AssemblyInfo.cs"
18
+ asm.custom_attributes :AssemblyInformationalVersion => "\#{BUILD_VERSION}", # disposed as product version in explorer
19
+ :CLSCompliantAttribute => false,
20
+ :AssemblyConfiguration => "\#{CONFIGURATION}",
21
+ :Guid => PROJECTS[:#{k}][:guid]
22
+ asm.com_visible = false
23
+ asm.copyright = PROJECTS[:#{k}][:copyright]
24
+ asm.output_file = File.join(FOLDERS[:src], 'SharedAssemblyInfo.cs')
12
25
  end
26
+
13
27
  EOF
14
28
  end
15
29
  end
@@ -21,8 +21,8 @@ module Logirel::Tasks
21
21
 
22
22
 
23
23
  private
24
- def inject_dependency(params)
25
- ' => ' + params[:depends].inspect.to_s if params[:depends]
24
+ def inject_dependency(params, further_deps=[])
25
+ ' => ' + params[:depends].concat(further_deps).inspect.to_s if params[:depends]
26
26
  end
27
27
 
28
28
  def inject_task_name(opts, default_name)
@@ -1,24 +1,17 @@
1
1
  module Logirel::Tasks
2
- def msbuild_task(add_as_default = true, opts={})
3
- #sln_file_path = tuck_and_get :sln_file_path, sln_file_path
4
- #add_as_default = tuck_and_get :add_as_default, add_as_default
2
+ def msbuild_task opts={}
5
3
 
6
- if add_as_default
7
- append_to_file File.join(@root, BUILD_FILE), <<-EOF, :verbose => false
8
-
9
- task :default => ["env:release", #{ inject_task_name opts, 'msbuild' }]
10
-
11
- EOF
12
- end
4
+ task_name = inject_task_name opts, 'msbuild'
13
5
 
14
6
  append_to_file File.join(@root, BUILD_FILE), <<-EOF, :verbose => false
15
7
 
16
8
  desc "build sln file"
17
- msbuild #{ inject_task_name opts, 'msbuild' }#{ inject_dependency opts } do |msb|
9
+ msbuild #{ task_name }#{ inject_dependency opts } do |msb|
18
10
  msb.solution = FILES[:sln]
19
11
  msb.properties :Configuration => CONFIGURATION
20
12
  msb.targets :Clean, :Build
21
13
  end
14
+
22
15
  EOF
23
16
  end
24
17
  end
@@ -1,17 +1,18 @@
1
1
  module Logirel::Tasks
2
- def nuget_task(nuget_exe_folder = nil, nuget_input_folder = nil, opts={})
3
- nuget_exe_folder = tuck_and_get :nuget_exe_folder, nuget_exe_folder
4
- nuget_input_folder = tuck_and_get :nuget_input_folder, nuget_input_folder
2
+ def nuget_task(proj_meta, opts={})
3
+
4
+ k = proj_meta[:ruby_key]
5
5
 
6
6
  append_to_file BUILD_FILE, <<-EOF, :verbose => false
7
7
 
8
- desc "create a nuget package"
9
- nugetpack #{ inject_task_name opts, 'nuget' }#{ inject_dependency opts } do |nuget|
10
- nuget.command = "#{nuget_exe_folder || 'tools/nuget'}/nuget.exe"
11
- nuget.nuspec = "#{vars[:solution].name}.nuspec"
12
- nuget.base_folder = "#{nuget_input_folder || 'out'}"
13
- nuget.output = "pkg"
8
+ desc "nuget pack '#{proj_meta[:title]}'"
9
+ nugetpack #{ inject_task_name opts, k + "_nuget" }#{ inject_dependency opts } do |nuget|
10
+ nuget.command = "\#{COMMANDS[:nuget]}"
11
+ nuget.nuspec = "\#{FILES[:#{k}][:nuspec]}"
12
+ # nuget.base_folder = "."
13
+ nuget.output = "\#{FOLDERS[:nuget]}"
14
14
  end
15
+
15
16
  EOF
16
17
  end
17
18
  end
@@ -1,4 +1,29 @@
1
1
  module Logirel::Tasks
2
- def nuspec_task
2
+ def nuspec_task proj_meta, opts={}
3
+
4
+ k = proj_meta[:ruby_key]
5
+
6
+ append_to_file BUILD_FILE, <<-EOF, :verbose => false
7
+
8
+ desc "Create a nuspec for '#{proj_meta[:title]}'"
9
+ nuspec #{inject_task_name opts, k + "_nuspec"}#{ inject_dependency opts } do |nuspec|
10
+ nuspec.id = "\#{PROJECTS[:#{k}][:nuget_key]}"
11
+ nuspec.version = BUILD_VERSION
12
+ nuspec.authors = "\#{PROJECTS[:#{k}][:authors]}"
13
+ nuspec.description = "\#{PROJECTS[:#{k}][:description]}"
14
+ nuspec.title = "\#{PROJECTS[:#{k}][:title]}"
15
+ # nuspec.projectUrl = 'http://github.com/haf' # TODO: Set this for nuget generation
16
+ nuspec.language = "en-US"
17
+ nuspec.licenseUrl = "http://www.apache.org/licenses/LICENSE-2.0" # TODO: set this for nuget generation
18
+ nuspec.requireLicenseAcceptance = "false"
19
+ #{proj_meta[:dependencies].
20
+ collect{|dep| " nuspec.dependency '#{dep[:nuget_key]}', '#{dep[:version]}'" }.
21
+ join("\n") unless proj_meta[:dependencies].empty?
22
+ }
23
+ nuspec.output_file = FILES[:#{k}][:nuspec]
24
+ nuspec_copy(:#{k}, "\#{PROJECTS[:#{k}][:id]}.{dll,pdb,xml}")
25
+ end
26
+
27
+ EOF
3
28
  end
4
29
  end
@@ -1,4 +1,16 @@
1
1
  module Logirel::Tasks
2
- def output_task
2
+ def output_task proj_meta, opts={}
3
+
4
+ k = proj_meta[:ruby_key]
5
+
6
+ append_to_file BUILD_FILE, <<-EOF, :verbose => false
7
+
8
+ task #{inject_task_name opts, k + "_output"}#{ inject_dependency opts } do
9
+ target = File.join(FOLDERS[:binaries], PROJECTS[:#{k}][:id])
10
+ copy_files FOLDERS[:#{k}][:out], "*.{xml,dll,pdb,config}", target
11
+ CLEAN.include(target)
12
+ end
13
+
14
+ EOF
3
15
  end
4
16
  end
@@ -9,7 +9,7 @@ namespace :env do
9
9
  fv = version SemVer.find.to_s
10
10
  revision = (!fv[3] || fv[3] == 0) ? (ENV['BUILD_NUMBER'] || Time.now.strftime('%j%H')) : fv[3] # (day of year 0-265)(hour 00-24)
11
11
 
12
- ENV['BUILD_VERSION'] = BUILD_VERSION = "#{SemVer.new(fv[0], fv[1], fv[2]).to_s}.#{revision}"
12
+ ENV['BUILD_VERSION'] = BUILD_VERSION = "#{ SemVer.new(fv[0], fv[1], fv[2]).format "%M.%m.%p" }.#{revision}"
13
13
  puts "Assembly Version: #{BUILD_VERSION}."
14
14
  puts "##teamcity[buildNumber '#{BUILD_VERSION}']" # tell teamcity our decision
15
15
 
@@ -38,18 +38,40 @@ namespace :env do
38
38
  <% end %>
39
39
  end
40
40
 
41
+ task :dir_tasks do
42
+ all_dirs = []
43
+
44
+ [:build, :tools, :tests, :nuget, :nuspec].each do |dir|
45
+ directory FOLDERS[dir]
46
+ all_dirs << FOLDERS[dir]
47
+ end
48
+
49
+ [:out, :nuspec, :test_out].each do |dir|
50
+ <%= metas.collect{ |m| :"#{m[:ruby_key]}" }.inspect.to_s %>.each{ |k|
51
+ directory FOLDERS[k][dir]
52
+ all_dirs << FOLDERS[k][dir]
53
+ }
54
+ end
55
+
56
+ all_dirs.each do |d|
57
+ Rake::Task[d].invoke
58
+ end
59
+ end
60
+
41
61
  # DEBUG/RELEASE
42
62
 
43
63
  desc "set debug environment variables"
44
64
  task :debug => [:common] do
45
65
  Rake::Task["env:configure"].invoke('Debug')
46
66
  Rake::Task["env:set_dirs"].invoke
67
+ Rake::Task["env:dir_tasks"].invoke
47
68
  end
48
69
 
49
70
  desc "set release environment variables"
50
71
  task :release => [:common] do
51
72
  Rake::Task["env:configure"].invoke('Release')
52
73
  Rake::Task["env:set_dirs"].invoke
74
+ Rake::Task["env:dir_tasks"].invoke
53
75
  end
54
76
 
55
77
  # FRAMEWORKS
@@ -3,4 +3,5 @@ obj/
3
3
  *.user
4
4
  _ReSharper*
5
5
  *.resharper
6
- *.suo
6
+ *.suo
7
+ build/
@@ -18,7 +18,7 @@ FOLDERS = folders.merge({
18
18
  <% metas.each do |m| %>
19
19
  :<%=m[:ruby_key]%> => {
20
20
  :test_dir => '<%= m[:test_dir] %>',
21
- :nuspec => "#{folders[:nuspec]}/#{PROJECTS[:<%= m[:ruby_key] %>][:nuget_key]}",
21
+ :nuspec => "#{File.join(folders[:nuspec], PROJECTS[:<%= m[:ruby_key] %>][:nuget_key])}",
22
22
  :out => 'placeholder - environment.rb will sets this',
23
23
  :test_out => 'placeholder - environment.rb sets this'
24
24
  },
@@ -29,7 +29,7 @@ FILES = {
29
29
  :sln => "<%= files[:sln] %>",
30
30
  <% metas.each do |m| %>
31
31
  :<%= m[:ruby_key] %> => {
32
- :nuspec => "todo" # File.join(FOLDERS[:<%= m[:ruby_key] %>][:nuspec], "#{PROJECTS[:<%= m[:ruby_key] %>][:nuget_key]}.nuspec")
32
+ :nuspec => File.join(FOLDERS[:<%= m[:ruby_key] %>][:nuspec], "#{PROJECTS[:<%= m[:ruby_key] %>][:nuget_key]}.nuspec")
33
33
  },
34
34
  <% end %>
35
35
  }
@@ -12,12 +12,24 @@ def commit_data
12
12
  [commit, commit_date]
13
13
  end
14
14
 
15
+ # copy from the key's data using the glob pattern
16
+ def nuspec_copy(key, glob)
17
+ puts "key: #{key}, glob: #{glob}, proj dir: #{PROJECTS[key][:dir]}"
18
+ FileList[File.join(FOLDERS[:binaries], PROJECTS[key][:dir], glob)].collect{ |f|
19
+ to = File.join( FOLDERS[:"#{key}"][:nuspec], "lib", FRAMEWORK )
20
+ FileUtils.mkdir_p to
21
+ cp f, to
22
+ # return the file name and its extension:
23
+ File.join(FRAMEWORK, File.basename(f))
24
+ }
25
+ end
15
26
 
16
27
  def copy_files(from_dir, file_pattern, out_dir)
17
- FileUtils.mkdir_p out_dir unless FileTest.exists?(out_dir)
18
- Dir.glob(File.join(from_dir, file_pattern)){|file|
19
- copy(file, out_dir) if File.file?(file)
20
- }
28
+ puts "copying from #{out_dir}"
29
+ FileUtils.mkdir_p out_dir unless FileTest.exists?(out_dir)
30
+ Dir.glob(File.join(from_dir, file_pattern)){|file|
31
+ copy(file, out_dir) if File.file?(file)
32
+ }
21
33
  end
22
34
 
23
35
  def versions(str)
@@ -1,5 +1,5 @@
1
1
  module Logirel
2
- VERSION = "0.1.x"
2
+ VERSION = "0.1.15"
3
3
  begin
4
4
  require 'semver'
5
5
  class Version < SemVer
data/logirel.gemspec CHANGED
@@ -27,11 +27,11 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency "rspec", "~> 2.6.0"
28
28
  s.add_development_dependency "memoize"
29
29
  s.add_development_dependency "devver-construct"
30
- s.add_dependency "albacore", "~> 0.2.5"
30
+ s.add_dependency "albacore", "~> 0.2.7"
31
31
  s.add_dependency "semver2", "~> 2.0.0"
32
32
  s.add_dependency "bundler", "~> 1.0.14"
33
33
  s.add_dependency "thor", "~> 0.14.6"
34
- s.add_dependency "uuid", "~> 2.3.2"
34
+ s.add_dependency "uuidtools", "~> 2.1.2"
35
35
  s.add_dependency "nokogiri", "~>1.4.4"
36
36
  s.add_dependency "rubyzip", "~>0.9.4"
37
37
 
Binary file
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.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-08-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &21961584 !ruby/object:Gem::Requirement
16
+ requirement: &23442324 !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: *21961584
24
+ version_requirements: *23442324
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: memoize
27
- requirement: &21961164 !ruby/object:Gem::Requirement
27
+ requirement: &23442036 !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: *21961164
35
+ version_requirements: *23442036
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: devver-construct
38
- requirement: &21960708 !ruby/object:Gem::Requirement
38
+ requirement: &23441652 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,21 +43,21 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *21960708
46
+ version_requirements: *23441652
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: albacore
49
- requirement: &21960312 !ruby/object:Gem::Requirement
49
+ requirement: &23441136 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 0.2.5
54
+ version: 0.2.7
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *21960312
57
+ version_requirements: *23441136
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: semver2
60
- requirement: &21959928 !ruby/object:Gem::Requirement
60
+ requirement: &23439984 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 2.0.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *21959928
68
+ version_requirements: *23439984
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &21959580 !ruby/object:Gem::Requirement
71
+ requirement: &23439648 !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: *21959580
79
+ version_requirements: *23439648
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: thor
82
- requirement: &21959208 !ruby/object:Gem::Requirement
82
+ requirement: &23439348 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,21 +87,21 @@ dependencies:
87
87
  version: 0.14.6
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *21959208
90
+ version_requirements: *23439348
91
91
  - !ruby/object:Gem::Dependency
92
- name: uuid
93
- requirement: &21958788 !ruby/object:Gem::Requirement
92
+ name: uuidtools
93
+ requirement: &23438868 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
97
97
  - !ruby/object:Gem::Version
98
- version: 2.3.2
98
+ version: 2.1.2
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *21958788
101
+ version_requirements: *23438868
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: nokogiri
104
- requirement: &21885516 !ruby/object:Gem::Requirement
104
+ requirement: &23438388 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 1.4.4
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *21885516
112
+ version_requirements: *23438388
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rubyzip
115
- requirement: &21885216 !ruby/object:Gem::Requirement
115
+ requirement: &23437752 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: 0.9.4
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *21885216
123
+ version_requirements: *23437752
124
124
  description: ! "The gem works by having as its dependencies \n everything you need
125
125
  to get started with OSS and proprietary .Net coding.\n The aim of the gem is to
126
126
  allow developers to get up and running quickly\n and provide a nice way of converting
@@ -139,7 +139,6 @@ files:
139
139
  - Rakefile.rb
140
140
  - bin/logirel
141
141
  - lib/logirel.rb
142
- - lib/logirel/Initer.rb
143
142
  - lib/logirel/cli.rb
144
143
  - lib/logirel/cli_helper.rb
145
144
  - lib/logirel/queries.rb
@@ -176,10 +175,9 @@ files:
176
175
  - spec/queries/string_query_spec.rb
177
176
  - spec/support/with_sample_projects.rb
178
177
  - spec/version_spec.rb
179
- - vendor/cache/albacore-0.2.5.gem
178
+ - vendor/cache/albacore-0.2.7.gem
180
179
  - vendor/cache/devver-construct-1.1.0.gem
181
180
  - vendor/cache/diff-lcs-1.1.2.gem
182
- - vendor/cache/macaddr-1.0.0.gem
183
181
  - vendor/cache/memoize-1.3.1.gem
184
182
  - vendor/cache/nokogiri-1.4.7-x86-mingw32.gem
185
183
  - vendor/cache/rspec-2.6.0.gem
@@ -189,7 +187,7 @@ files:
189
187
  - vendor/cache/rubyzip-0.9.4.gem
190
188
  - vendor/cache/semver2-2.0.0.gem
191
189
  - vendor/cache/thor-0.14.6.gem
192
- - vendor/cache/uuid-2.3.2.gem
190
+ - vendor/cache/uuidtools-2.1.2.gem
193
191
  homepage: https://github.com/haf/logirel
194
192
  licenses: []
195
193
  post_install_message:
@@ -1,162 +0,0 @@
1
- require 'logirel/queries/bool_q'
2
- require 'logirel/queries/str_q'
3
- require 'semver'
4
- require 'enumerator'
5
- require 'net/http'
6
- require 'uuid'
7
-
8
- module Logirel
9
- class Initer
10
-
11
- attr_reader :root_path, :buildscripts_path, :tools_path
12
-
13
- def initialize(root = '.',
14
- buildscripts = 'buildscripts',
15
- tools = 'tools')
16
- @root_path = root
17
- @buildscripts_path = buildscripts
18
- @tools_path = tools
19
- end
20
-
21
- def nuget_from_codeplex(cp_ver, gem_ver)
22
- (cp_ver <=> gem_ver) > 0
23
- end
24
-
25
- def create_path_folders(metas, f)
26
- f.puts %q{
27
- require File.dirname(__FILE__) + '/project_data'
28
- root_folder = File.expand_path("#{File.dirname(__FILE__)}/..")
29
- Folders = \{
30
- }
31
- f.puts ":src => " + StrQ.new("src").exec + ","
32
- f.puts ":out => " + StrQ.new("build").exec + ","
33
- f.puts ":package => " + StrQ.new("packages").exec + ","
34
- f.puts ":tools => " + StrQ.new("tools").exec + ","
35
- f.puts %q{:tests => File.join("build", "tests"),
36
- :nuget => File.join("build", "nuget"),
37
- :root => root_folder,
38
- :binaries => "placeholder - specify build environment",
39
- }
40
- f.puts ":#{metas[:ruby_key]}" + " => {"
41
- f.puts ':nuspec => File.join("build", "nuspec", Projects[' + ":#{metas[:ruby_key]}" + '][' + ":#{metas[:dir]}" + ']),'
42
- f.puts %q{:out => 'placeholder - specify build environment',
43
- :test_out => 'placeholder - specify build environment'
44
- \},\}}
45
- end
46
-
47
- def create_path_files(metas, f)
48
- f.puts "Files = {"
49
- f.puts ":sln => " + StrQ.new("sln").exec + ","
50
- f.puts ":#{metas[:ruby_key]} => {"
51
- f.puts ':nuspec => File.join(Folders[:nuspec], Projects[' + ":#{metas[:ruby_key]}" + '][' + ":#{metas[:id]}" + '].nuspec),'
52
- f.puts %q{:nunit => File.join(Folders[:nunit], "nunit-console.exe"),
53
- :ilmerge => File.join(Folders[:tools], "ILMerge.exe")
54
- \},\}}
55
- end
56
-
57
- def create_path_commands(metas, f)
58
- f.puts %q{Commands = \{
59
- :nuget => File.join(Folders[:tools], "NuGet.exe")
60
- \}}
61
- end
62
-
63
- def create_path_uris(metas, f)
64
- f.puts %q{Uris = \{
65
- :nuget_offical => "http://packages.nuget.org/v1/"
66
- \}}
67
- end
68
-
69
- def init_paths_rb metas
70
- File.open(File.join(@root_path, @buildscripts_path, "paths.rb"), "w") do |f|
71
- create_path_folders(metas, f)
72
- create_path_files(metas, f)
73
- create_path_commands(metas, f)
74
- create_path_uris(metas, f)
75
- end
76
- end
77
-
78
- def init_environement_rb
79
- base_path = ensure_path @buildscripts_path
80
- path = File.join base_path, "environment.rb"
81
- File.open(path, "w") do |f|
82
- f.puts Net::HTTP.get(
83
- URI.parse('https://raw.github.com/haf/logirel/master/content/environment.rb'))
84
- end
85
- end
86
-
87
-
88
- def init_gemfile
89
- File.open(File.join(@root_path, "Gemfile"), "w+") do |f|
90
- f.puts 'source "http://rubygems.org"'
91
- f.puts 'gem "albacore"'
92
- f.puts 'gem "semver"'
93
- f.puts 'gem "bundler"'
94
- end
95
- end
96
-
97
- def init_utils
98
- base_path = ensure_path @buildscripts_path
99
- path = File.join base_path, "utils.rb"
100
- File.open(path, "w") do |f|
101
- f.puts Net::HTTP.get(
102
- URI.parse('https://raw.github.com/haf/logirel/master/content/utils.rb'))
103
- end
104
- end
105
-
106
- def build_tasks metas
107
-
108
- end
109
-
110
- def assembly_infos metas
111
-
112
- end
113
-
114
- def nugets metas
115
-
116
- end
117
-
118
- def init_rakefile(metas)
119
- base_path = ensure_path @buildscripts_path
120
- File.open File.join(base_path, "Rakefile.rb"), "w" do |f|
121
- f.puts %q{
122
- require 'rubygems'
123
- require 'bundler'
124
- Bundler.setup
125
- Bundler.require # if rake gets a wee bit too slow, you may remove this
126
- require 'albacore'
127
- require 'semver'
128
- require 'rake/clean'
129
- require '#{buildscripts_path}/project_details'
130
- require '#{buildscripts_path}/paths'
131
- require '#{buildscripts_path}/utils'
132
- require '#{buildscripts_path}/environment'
133
- task :default => [:release]
134
- task :debug => ["env:debug", :build]
135
- task :release => ["env:release", :build]
136
- task :ci => ["env:release", :build, :package]
137
- }
138
- f.puts "task :build => #{metas[:ruby_key]}"
139
-
140
- f.puts build_tasks(metas)
141
- end
142
- end
143
-
144
- def init_project_details(metadata)
145
- base_path = ensure_path @buildscripts_path
146
- projects = {}
147
- metadata.each { |m|
148
- projects[:"#{m[:ruby_key]}"] = m #.select{|kv| :"#{kv[0]}" != :"ruby_key"}
149
- }
150
- File.open(File.join(base_path, "project_details.rb"), "w+") do |f|
151
- f.puts "Projects = #{p(projects)}"
152
- end
153
- end
154
-
155
- def ensure_path path
156
- base_path = File.join @root_path, path
157
- Dir.mkdir base_path unless Dir.exists? base_path
158
- base_path
159
- end
160
-
161
- end
162
- end
Binary file
Binary file
Binary file