RubyPackager 0.2.1.20101110 → 1.0.0.20120301

Sign up to get free protection for your applications and to get access to all the features.
data/AUTHORS CHANGED
@@ -1,3 +1,3 @@
1
- = Muriel Salvan (murielsalvan@users.sourceforge.net)
1
+ = Muriel Salvan (muriel@x-aeon.com)
2
2
  * 0.0.1.20090819
3
3
  * 0.1.0.20091021
data/ChangeLog CHANGED
@@ -1,6 +1,45 @@
1
1
  = RubyPackager Release History
2
2
 
3
- == 0.2.0.20101110 (Beta)
3
+ == 1.0.0.20120301 (Beta)
4
+
5
+ === API changes
6
+
7
+ * Adapted to Ruby's standard conventions.
8
+ * Renamed public methods to match standard Ruby's conventions
9
+ * Added dependency on allinoneruby
10
+ * Added dependency on highline
11
+ * Added a way to specify password for normal SSH login or passphrases
12
+
13
+ === New features
14
+
15
+ * Hide passwords entered using highline library.
16
+ * Removed --fileboxes deprecated option from RDoc
17
+ * Added --hyperlink-all option for RDoc
18
+ * Installer/RubyGems: Added RubyGems installer.
19
+ * Installer/SourceForge: Adapted to new SF.net FRS system (regression adapted).
20
+ * Installer/SourceForge: Do not ship release notes anymore
21
+
22
+ === Misc
23
+
24
+ * Do not ask for exerb and edicon presence in the system if no binary packaging is needed.
25
+ * Removed rdoc warning in documentation
26
+ * Updated Copyright information
27
+ * Updated email address of Muriel Salvan
28
+ * Adapted comments to match a better RDoc syntax
29
+ * Adapted to new version of rUtilAnts >= 1.0
30
+ * Sanitized SSH interface
31
+
32
+ === Regression
33
+
34
+ * Improved the way tests are written with system calls checking.
35
+ * Moved regression runs in temporary directories.
36
+ * Added a simple debug switch.
37
+
38
+ === Bug corrections
39
+
40
+ * Regression: Gem testing did not work on all Windows platforms.
41
+
42
+ == 0.2.1.20101110 (Beta)
4
43
 
5
44
  === Misc
6
45
 
data/LICENSE CHANGED
@@ -6,7 +6,7 @@ This list is found in the file named AUTHORS.
6
6
  The AUTHORS and LICENSE files have to be included in any release of software
7
7
  embedding source code of this package, or using it as a derivative software.
8
8
 
9
- Copyright (c) 2009-2010 Muriel Salvan (murielsalvan@users.sourceforge.net)
9
+ Copyright (c) 2009 - 2012 Muriel Salvan (muriel@x-aeon.com)
10
10
 
11
11
  Redistribution and use in source and binary forms, with or without
12
12
  modification, are permitted provided that the following conditions are met:
data/README CHANGED
@@ -1,6 +1,3 @@
1
- -- This file is best viewed when processed by rdoc.
2
- ++
3
-
4
1
  = RubyPackager
5
2
 
6
3
  Packaging your Ruby applications on any platform.
@@ -11,8 +8,8 @@ Check the website at http://rubypackager.sourceforge.net
11
8
 
12
9
  == Who wrote it ?
13
10
 
14
- Check the AUTHORS[link:files/AUTHORS.html] file.
11
+ Check the AUTHORS[link:AUTHORS.html] file.
15
12
 
16
13
  == What is the license ?
17
14
 
18
- You can find out in the LICENSE[link:files/LICENSE.html] file.
15
+ You can find out in the LICENSE[link:LICENSE.html] file.
data/ReleaseInfo CHANGED
@@ -2,7 +2,7 @@
2
2
  # This file has been generated by RubyPackager during a delivery.
3
3
  # More info about RubyPackager: http://rubypackager.sourceforge.net
4
4
  {
5
- :Version => '0.2.1.20101110',
5
+ :Version => '1.0.0.20120301',
6
6
  :Tags => [ 'Beta' ],
7
- :DevStatus => 'Beta'
7
+ :dev_status => 'Beta'
8
8
  }
data/bin/Release.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #!env ruby
2
2
  #--
3
- # Copyright (c) 2009-2010 Muriel Salvan (murielsalvan@users.sourceforge.net)
3
+ # Copyright (c) 2009 - 2012 Muriel Salvan (muriel@x-aeon.com)
4
4
  # Licensed under the terms specified in LICENSE file. No warranty is provided.
5
5
  #++
6
6
 
@@ -12,9 +12,9 @@
12
12
  # 4. In the case of specified distributors, ship the generated installers to those distributors
13
13
 
14
14
  require 'rUtilAnts/Logging'
15
- RUtilAnts::Logging::initializeLogging("#{File.dirname(__FILE__)}/..", 'http://sourceforge.net/tracker/?group_id=274236&atid=1165400')
15
+ RUtilAnts::Logging::install_logger_on_object(:lib_root_dir => "#{File.dirname(__FILE__)}/..", :bug_tracker_url => 'http://sourceforge.net/tracker/?group_id=274236&atid=1165400')
16
16
  require 'rUtilAnts/Misc'
17
- RUtilAnts::Misc.initializeMisc
17
+ RUtilAnts::Misc.install_misc_on_object
18
18
 
19
19
  module RubyPackager
20
20
 
@@ -25,9 +25,9 @@ module RubyPackager
25
25
 
26
26
  # Run the releaser
27
27
  #
28
- # Parameters:
28
+ # Parameters::
29
29
  # * *iParameters* (<em>list<String></em>): List of arguments, as in command-line
30
- # Return:
30
+ # Return::
31
31
  # * _Boolean_: Success ?
32
32
  def run(iParameters)
33
33
  rSuccess = true
@@ -36,7 +36,7 @@ module RubyPackager
36
36
  lRPReleaseInfo = {
37
37
  :Version => 'Development',
38
38
  :Tags => [],
39
- :DevStatus => 'Unofficial'
39
+ :dev_status => 'Unofficial'
40
40
  }
41
41
  lReleaseInfoFileName = "#{File.dirname(FILE_PATH)}/../ReleaseInfo"
42
42
  if (File.exists?(lReleaseInfoFileName))
@@ -48,10 +48,10 @@ module RubyPackager
48
48
  # Parse for plugins
49
49
  require 'rUtilAnts/Plugins'
50
50
  lPluginsManager = RUtilAnts::Plugins::PluginsManager.new
51
- lPluginsManager.parsePluginsFromDir('Installers', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/Installers", 'RubyPackager::Installers')
52
- lPluginsManager.parsePluginsFromDir('Installers', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/#{RUBY_PLATFORM}/Installers", 'RubyPackager::Installers')
53
- lPluginsManager.parsePluginsFromDir('Distributors', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/Distributors", 'RubyPackager::Distributors')
54
- lPluginsManager.parsePluginsFromDir('Distributors', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/#{RUBY_PLATFORM}/Distributors", 'RubyPackager::Distributors')
51
+ lPluginsManager.parse_plugins_from_dir('Installers', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/Installers", 'RubyPackager::Installers')
52
+ lPluginsManager.parse_plugins_from_dir('Installers', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/#{RUBY_PLATFORM}/Installers", 'RubyPackager::Installers')
53
+ lPluginsManager.parse_plugins_from_dir('Distributors', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/Distributors", 'RubyPackager::Distributors')
54
+ lPluginsManager.parse_plugins_from_dir('Distributors', "#{File.dirname(FILE_PATH)}/../lib/RubyPackager/#{RUBY_PLATFORM}/Distributors", 'RubyPackager::Distributors')
55
55
 
56
56
  # Parse command line arguments
57
57
  # Variables set by the parser
@@ -74,7 +74,7 @@ module RubyPackager
74
74
  end
75
75
  lOptionsParser.on('-e', '--debug',
76
76
  'Activate debugging logs.') do
77
- activateLogDebug(true)
77
+ activate_log_debug(true)
78
78
  end
79
79
  lOptionsParser.on('-v', '--version <Version>', String,
80
80
  '<Version>: Version string of the release.',
@@ -105,12 +105,12 @@ module RubyPackager
105
105
  end
106
106
  lOptionsParser.on('-i', '--installer <InstallerName>', String,
107
107
  '<InstallerName>: Name of an Installer to use.',
108
- "Generate an installer. Can be specified multiple times. Available Installers are: #{lPluginsManager.getPluginNames('Installers').join(', ')}") do |iArg|
108
+ "Generate an installer. Can be specified multiple times. Available Installers are: #{lPluginsManager.get_plugins_names('Installers').join(', ')}") do |iArg|
109
109
  lInstallers << iArg
110
110
  end
111
111
  lOptionsParser.on('-d', '--distributor <DistributorName>', String,
112
112
  '<DistributorName>: Name of a Distributor to use.',
113
- "Ship generated installers to a distributor. Can be specified multiple times. Available Distributors are: #{lPluginsManager.getPluginNames('Distributors').join(', ')}") do |iArg|
113
+ "Ship generated installers to a distributor. Can be specified multiple times. Available Distributors are: #{lPluginsManager.get_plugins_names('Distributors').join(', ')}") do |iArg|
114
114
  lDistributors << iArg
115
115
  end
116
116
  lReleaseInfo = nil
@@ -135,7 +135,7 @@ module RubyPackager
135
135
  end
136
136
  end
137
137
  # Check the installers
138
- lAvailableInstallers = lPluginsManager.getPluginNames('Installers')
138
+ lAvailableInstallers = lPluginsManager.get_plugins_names('Installers')
139
139
  lInstallers.each do |iInstallerName|
140
140
  if (!lAvailableInstallers.include?(iInstallerName))
141
141
  puts "Unknown specified installer: #{iInstallerName}."
@@ -144,7 +144,7 @@ module RubyPackager
144
144
  end
145
145
  end
146
146
  # Check the distributors
147
- lAvailableDistributors = lPluginsManager.getPluginNames('Distributors')
147
+ lAvailableDistributors = lPluginsManager.get_plugins_names('Distributors')
148
148
  lDistributors.each do |iDistributorName|
149
149
  if (!lAvailableDistributors.include?(iDistributorName))
150
150
  puts "Unknown specified distributor: #{iDistributorName}."
@@ -159,7 +159,7 @@ module RubyPackager
159
159
  end
160
160
  if (rSuccess)
161
161
  if (lDisplayUsage)
162
- puts "RubyPackager v. #{lRPReleaseInfo[:Version]} - #{lRPReleaseInfo[:DevStatus]}"
162
+ puts "RubyPackager v. #{lRPReleaseInfo[:Version]} - #{lRPReleaseInfo[:dev_status]}"
163
163
  puts ''
164
164
  puts lOptionsParser
165
165
  else
@@ -183,9 +183,9 @@ module RubyPackager
183
183
  lDistributors
184
184
  ).execute
185
185
  if (rSuccess)
186
- logInfo 'Release successful.'
186
+ log_info 'Release successful.'
187
187
  else
188
- logErr 'Error while releasing.'
188
+ log_err 'Error while releasing.'
189
189
  end
190
190
  end
191
191
  end
@@ -0,0 +1,67 @@
1
+ #--
2
+ # Copyright (c) 2009 - 2012 Muriel Salvan (muriel@x-aeon.com)
3
+ # Licensed under the terms specified in LICENSE file. No warranty is provided.
4
+ #++
5
+
6
+ require 'RubyPackager/Tools'
7
+
8
+ module RubyPackager
9
+
10
+ module Distributors
11
+
12
+ class RubyGems
13
+
14
+ include RubyPackager::Tools
15
+
16
+ # Check that we can use this distributor
17
+ #
18
+ # Return::
19
+ # * _Boolean_: Can we use this distributor ?
20
+ def check_tools
21
+ rSuccess = true
22
+
23
+ begin
24
+ rSuccess = system('gem push --help')
25
+ rescue Exception
26
+ log_err "Error while testing \"gem push\": #{$!}. Please update your RubyGems library."
27
+ rSuccess = false
28
+ end
29
+
30
+ return rSuccess
31
+ end
32
+
33
+ # Distribute what has been generated
34
+ #
35
+ # Parameters::
36
+ # * *iInstallerDir* (_String_): Directory where installers are generated
37
+ # * *iReleaseVersion* (_String_): Release version
38
+ # * *iReleaseInfo* (_ReleaseInfo_): Release info
39
+ # * *iGeneratedFileNames* (<em>list<String></em>): List of files to distribute
40
+ # * *iDocDir* (_String_): Directory where the documentation has been generated
41
+ # Return::
42
+ # * _Boolean_: Success ?
43
+ def distribute(iInstallerDir, iReleaseVersion, iReleaseInfo, iGeneratedFileNames, iDocDir)
44
+ rSuccess = true
45
+
46
+ # Take only the Gem files
47
+ iGeneratedFileNames.each do |iFileName|
48
+ if (iFileName[-4..-1].upcase == '.GEM')
49
+ change_dir(iInstallerDir) do
50
+ if ((!system("gem push #{iFileName}")) or
51
+ (($? != nil) and
52
+ ($? != 0)))
53
+ rSuccess = false
54
+ log_err "Error while pushing #{iFileName}: #{$?}."
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ return rSuccess
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+
67
+ end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2009-2010 Muriel Salvan (murielsalvan@users.sourceforge.net)
2
+ # Copyright (c) 2009 - 2012 Muriel Salvan (muriel@x-aeon.com)
3
3
  # Licensed under the terms specified in LICENSE file. No warranty is provided.
4
4
  #++
5
5
 
@@ -15,25 +15,25 @@ module RubyPackager
15
15
 
16
16
  # Check that we can use this distributor
17
17
  #
18
- # Return:
18
+ # Return::
19
19
  # * _Boolean_: Can we use this distributor ?
20
- def checkTools
20
+ def check_tools
21
21
  rSuccess = true
22
22
 
23
23
  begin
24
24
  require 'net/ssh'
25
25
  rescue Exception
26
- logErr 'Missing net/ssh library. gem install net-ssh.'
26
+ log_err 'Missing net/ssh library. gem install net-ssh.'
27
27
  rSuccess = false
28
28
  end
29
29
  begin
30
30
  require 'net/scp'
31
31
  rescue Exception
32
- logErr 'Missing net/scp library. gem install net-scp.'
32
+ log_err 'Missing net/scp library. gem install net-scp.'
33
33
  rSuccess = false
34
34
  end
35
35
  if (!system('zip -v'))
36
- logErr 'Missing zip command-line utility.'
36
+ log_err 'Missing zip command-line utility.'
37
37
  rSuccess = false
38
38
  end
39
39
 
@@ -42,28 +42,27 @@ module RubyPackager
42
42
 
43
43
  # Distribute what has been generated
44
44
  #
45
- # Parameters:
45
+ # Parameters::
46
46
  # * *iInstallerDir* (_String_): Directory where installers are generated
47
47
  # * *iReleaseVersion* (_String_): Release version
48
48
  # * *iReleaseInfo* (_ReleaseInfo_): Release info
49
49
  # * *iGeneratedFileNames* (<em>list<String></em>): List of files to distribute
50
50
  # * *iDocDir* (_String_): Directory where the documentation has been generated
51
- # Return:
51
+ # Return::
52
52
  # * _Boolean_: Success ?
53
53
  def distribute(iInstallerDir, iReleaseVersion, iReleaseInfo, iGeneratedFileNames, iDocDir)
54
54
  rSuccess = true
55
55
 
56
56
  @InstallerDir, @ReleaseVersion, @ReleaseInfo, @GeneratedFileNames, @DocDir = iInstallerDir, iReleaseVersion, iReleaseInfo, iGeneratedFileNames, iDocDir
57
- @SFProjectSubPath = "#{@ReleaseInfo.SFInfo[:ProjectUnixName][0..0]}/#{@ReleaseInfo.SFInfo[:ProjectUnixName][0..1]}/#{@ReleaseInfo.SFInfo[:ProjectUnixName]}"
58
- @SFLogin = "#{@ReleaseInfo.SFInfo[:Login]},#{@ReleaseInfo.SFInfo[:ProjectUnixName]}"
59
- @SFReleaseDir = "/home/frs/project/#{@SFProjectSubPath}/#{@ReleaseVersion}"
60
- createSFShell
57
+ @SFLogin = "#{@ReleaseInfo.sf_info[:login]},#{@ReleaseInfo.sf_info[:project_unix_name]}"
58
+ @SFReleaseDir = "/home/frs/project/#{@ReleaseInfo.sf_info[:project_unix_name][0..0]}/#{@ReleaseInfo.sf_info[:project_unix_name][0..1]}/#{@ReleaseInfo.sf_info[:project_unix_name]}/#{@ReleaseVersion}"
59
+ set_ssh_options('shell.sourceforge.net', @SFLogin, @ReleaseInfo.sf_info)
60
+ ssh('create')
61
61
  createReleaseOnSFNET
62
62
  # It is possible that the RDoc has not been generated
63
63
  if (File.exists?("#{@DocDir}/rdoc"))
64
64
  uploadRDocOnSFNET
65
65
  end
66
- uploadReleaseNoteOnSFNET
67
66
  uploadFilesOnSFNET
68
67
 
69
68
  return rSuccess
@@ -71,89 +70,37 @@ module RubyPackager
71
70
 
72
71
  private
73
72
 
74
- # Create a Shell for SF.NET
75
- def createSFShell
76
- sshWithPassword(
77
- 'shell.sourceforge.net',
78
- @SFLogin,
79
- 'create'
80
- )
81
- end
82
-
83
- # Shutdown a Shell for SF.NET
84
- def shutdownSFShell
85
- sshWithPassword(
86
- 'shell.sourceforge.net',
87
- @SFLogin,
88
- 'shutdown'
89
- )
90
- end
91
-
92
73
  # Upload the RDoc on SF.NET
93
74
  def uploadRDocOnSFNET
94
- logDebug 'Uploading RDoc on SF.NET ...'
75
+ log_debug 'Uploading RDoc on SF.NET ...'
95
76
  # Zip the RDoc
96
- changeDir(@DocDir) do
77
+ change_dir(@DocDir) do
97
78
  system("zip -r rdoc.zip rdoc")
98
79
  end
99
80
  # Send it
100
- lRDocBaseDir = "/home/groups/#{@SFProjectSubPath}/htdocs/rdoc"
101
- sshWithPassword(
102
- 'shell.sourceforge.net',
103
- @SFLogin,
104
- "mkdir -p #{lRDocBaseDir}"
105
- )
106
- scpWithPassword(
107
- 'shell.sourceforge.net',
108
- @SFLogin,
109
- "#{@DocDir}/rdoc.zip",
110
- "#{lRDocBaseDir}/rdoc-#{@ReleaseVersion}.zip"
111
- )
81
+ lRDocBaseDir = "/home/project-web/#{@ReleaseInfo.sf_info[:project_unix_name]}/htdocs/rdoc"
82
+ ssh("mkdir -p #{lRDocBaseDir}")
83
+ scp("#{@DocDir}/rdoc.zip", "#{lRDocBaseDir}/rdoc-#{@ReleaseVersion}.zip")
112
84
  # Execute its uncompress remotely
113
- sshWithPassword(
114
- 'shell.sourceforge.net',
115
- @SFLogin,
116
- "unzip -o -d #{lRDocBaseDir} #{lRDocBaseDir}/rdoc-#{@ReleaseVersion}.zip ; mv #{lRDocBaseDir}/rdoc #{lRDocBaseDir}/#{@ReleaseVersion} ; rm #{lRDocBaseDir}/latest ; ln -s #{lRDocBaseDir}/#{@ReleaseVersion} #{lRDocBaseDir}/latest ; rm #{lRDocBaseDir}/rdoc-#{@ReleaseVersion}.zip"
117
- )
85
+ ssh("unzip -o -d #{lRDocBaseDir} #{lRDocBaseDir}/rdoc-#{@ReleaseVersion}.zip ; mv #{lRDocBaseDir}/rdoc #{lRDocBaseDir}/#{@ReleaseVersion} ; rm #{lRDocBaseDir}/latest ; ln -s #{lRDocBaseDir}/#{@ReleaseVersion} #{lRDocBaseDir}/latest ; rm #{lRDocBaseDir}/rdoc-#{@ReleaseVersion}.zip")
118
86
  # Remove temporary file
119
87
  File.unlink("#{@DocDir}/rdoc.zip")
120
88
  end
121
89
 
122
90
  # Create the release on SF.NET
123
91
  def createReleaseOnSFNET
124
- logDebug 'Creating Release on SF.NET ...'
125
- sshWithPassword(
126
- 'shell.sourceforge.net',
127
- @SFLogin,
128
- "mkdir -p #{@SFReleaseDir}"
129
- )
92
+ log_debug 'Creating Release on SF.NET ...'
93
+ ssh("mkdir -p #{@SFReleaseDir}")
130
94
  end
131
95
 
132
96
  # Upload the generated files on SF.NET
133
97
  def uploadFilesOnSFNET
134
98
  @GeneratedFileNames.each do |iFileName|
135
- logDebug "Uploading #{iFileName} on SF.NET ..."
136
- scpWithPassword(
137
- 'shell.sourceforge.net',
138
- @SFLogin,
139
- "#{@InstallerDir}/#{iFileName}",
140
- "#{@SFReleaseDir}/#{iFileName}"
141
- )
99
+ log_debug "Uploading #{iFileName} on SF.NET ..."
100
+ scp("#{@InstallerDir}/#{iFileName}", "#{@SFReleaseDir}/#{iFileName}")
142
101
  end
143
102
  end
144
103
 
145
- # Upload the Release note on SF.NET
146
- def uploadReleaseNoteOnSFNET
147
- logDebug 'Uploading Release Note on SF.NET ...'
148
- scpWithPassword(
149
- 'shell.sourceforge.net',
150
- @SFLogin,
151
- "#{@DocDir}/ReleaseNote.html",
152
- "#{@SFReleaseDir}/ReleaseNote.html"
153
- )
154
- logInfo '!!! DON\'T FORGET to make association between ReleaseNote and Gem in SF.NET'
155
- end
156
-
157
104
  end
158
105
 
159
106
  end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2009-2010 Muriel Salvan (murielsalvan@users.sourceforge.net)
2
+ # Copyright (c) 2009 - 2012 Muriel Salvan (muriel@x-aeon.com)
3
3
  # Licensed under the terms specified in LICENSE file. No warranty is provided.
4
4
  #++
5
5
 
@@ -11,22 +11,22 @@ module RubyPackager
11
11
 
12
12
  # Create the installer with everything in the release directory.
13
13
  #
14
- # Parameters:
14
+ # Parameters::
15
15
  # * *iRootDir* (_String_): The Root directory
16
16
  # * *iReleaseDir* (_String_): The release directory (all files to put in the installer are there)
17
17
  # * *iInstallerDir* (_String_): The directory where the installer has to be put
18
18
  # * *iVersion* (_String_): Release version
19
19
  # * *iReleaseInfo* (_ReleaseInfo_): Release info
20
20
  # * *iIncludeTest* (_Boolean_): Are test files part of the release ?
21
- # Return:
21
+ # Return::
22
22
  # * _String_: File name to distribute, or nil in case of failure
23
- def createInstaller(iRootDir, iReleaseDir, iInstallerDir, iVersion, iReleaseInfo, iIncludeTest)
23
+ def create_installer(iRootDir, iReleaseDir, iInstallerDir, iVersion, iReleaseInfo, iIncludeTest)
24
24
  rFileName = nil
25
25
 
26
- changeDir(iReleaseDir) do
26
+ change_dir(iReleaseDir) do
27
27
  # 1. Generate the gemspec that will build the gem
28
28
  lStrHasRDoc = nil
29
- if (iReleaseInfo.GemInfo[:HasRDoc])
29
+ if (iReleaseInfo.gem_info[:has_rdoc])
30
30
  lStrHasRDoc = 'true'
31
31
  else
32
32
  lStrHasRDoc = 'false'
@@ -34,14 +34,14 @@ module RubyPackager
34
34
  # !!! Don't use absolute paths here, otherwise they will be stored in the Gem
35
35
  lStrFiles = "iSpec.files = [ '#{Dir.glob('**/*').join('\', \'')}' ]"
36
36
  lStrExtraRDocFiles = ''
37
- if ((iReleaseInfo.GemInfo[:ExtraRDocFiles] != nil) and
38
- (!iReleaseInfo.GemInfo[:ExtraRDocFiles].empty?))
39
- lStrExtraRDocFiles = "iSpec.extra_rdoc_files = [ '#{iReleaseInfo.GemInfo[:ExtraRDocFiles].join('\', \'')}' ]"
40
- RubyPackager::copyFiles(iRootDir, iReleaseDir, iReleaseInfo.GemInfo[:ExtraRDocFiles])
37
+ if ((iReleaseInfo.gem_info[:extra_rdoc_files] != nil) and
38
+ (!iReleaseInfo.gem_info[:extra_rdoc_files].empty?))
39
+ lStrExtraRDocFiles = "iSpec.extra_rdoc_files = [ '#{iReleaseInfo.gem_info[:extra_rdoc_files].join('\', \'')}' ]"
40
+ RubyPackager::copyFiles(iRootDir, iReleaseDir, iReleaseInfo.gem_info[:extra_rdoc_files])
41
41
  end
42
42
  lGemDepsStrList = []
43
- if (iReleaseInfo.GemInfo[:GemDependencies] != nil)
44
- iReleaseInfo.GemInfo[:GemDependencies].each do |iGemDepInfo|
43
+ if (iReleaseInfo.gem_info[:gem_dependencies] != nil)
44
+ iReleaseInfo.gem_info[:gem_dependencies].each do |iGemDepInfo|
45
45
  iGemName, iGemVersion = iGemDepInfo
46
46
  if (iGemVersion != nil)
47
47
  lGemDepsStrList << "iSpec.add_dependency('#{iGemName}', '#{iGemVersion}')"
@@ -52,22 +52,22 @@ module RubyPackager
52
52
  end
53
53
  lStrTestFile = ''
54
54
  if ((iIncludeTest) and
55
- (iReleaseInfo.GemInfo[:TestFile] != nil))
56
- lStrTestFile = "iSpec.test_file = '#{iReleaseInfo.GemInfo[:TestFile]}'"
55
+ (iReleaseInfo.gem_info[:test_file] != nil))
56
+ lStrTestFile = "iSpec.test_file = '#{iReleaseInfo.gem_info[:test_file]}'"
57
57
  end
58
58
  # Compute the list of executable files and the executable directory
59
59
  lBinError = false
60
60
  lExecutablesDir = nil
61
61
  lExecutablesBase = []
62
- iReleaseInfo.ExecutablesInfo.each do |iExecutableInfo|
62
+ iReleaseInfo.executables_info.each do |iExecutableInfo|
63
63
  if (lExecutablesDir == nil)
64
- lExecutablesDir = File.dirname(iExecutableInfo[:StartupRBFile])
65
- elsif (lExecutablesDir != File.dirname(iExecutableInfo[:StartupRBFile]))
64
+ lExecutablesDir = File.dirname(iExecutableInfo[:startup_rb_file])
65
+ elsif (lExecutablesDir != File.dirname(iExecutableInfo[:startup_rb_file]))
66
66
  # Error
67
- logErr "Executables should be all in the same directory. \"#{lExecutablesDir}\" and \"#{File.dirname(iExecutableInfo[:StartupRBFile])}\" are different directories."
67
+ log_err "Executables should be all in the same directory. \"#{lExecutablesDir}\" and \"#{File.dirname(iExecutableInfo[:startup_rb_file])}\" are different directories."
68
68
  lBinError = true
69
69
  end
70
- lExecutablesBase << File.basename(iExecutableInfo[:StartupRBFile])
70
+ lExecutablesBase << File.basename(iExecutableInfo[:startup_rb_file])
71
71
  end
72
72
  if (!lBinError)
73
73
  lStrBinDir = ''
@@ -78,11 +78,11 @@ module RubyPackager
78
78
  end
79
79
  # Compute require paths
80
80
  lRequirePaths = []
81
- if (iReleaseInfo.GemInfo[:RequirePath] != nil)
82
- lRequirePaths = [ iReleaseInfo.GemInfo[:RequirePath] ]
81
+ if (iReleaseInfo.gem_info[:require_path] != nil)
82
+ lRequirePaths = [ iReleaseInfo.gem_info[:require_path] ]
83
83
  end
84
- if (iReleaseInfo.GemInfo[:RequirePaths] != nil)
85
- lRequirePaths.concat(iReleaseInfo.GemInfo[:RequirePaths])
84
+ if (iReleaseInfo.gem_info[:require_paths] != nil)
85
+ lRequirePaths.concat(iReleaseInfo.gem_info[:require_paths])
86
86
  end
87
87
  lStrRequirePaths = 'iSpec.require_path = \'\''
88
88
  if (!lRequirePaths.empty?)
@@ -92,19 +92,19 @@ module RubyPackager
92
92
  File.open(lGemSpecFileName, 'w') do |oFile|
93
93
  oFile << "
94
94
  Gem::Specification.new do |iSpec|
95
- iSpec.name = '#{iReleaseInfo.GemInfo[:GemName]}'
95
+ iSpec.name = '#{iReleaseInfo.gem_info[:gem_name]}'
96
96
  iSpec.version = '#{iVersion}'
97
- iSpec.author = '#{iReleaseInfo.AuthorInfo[:Name].gsub(/'/,'\\\\\'')}'
98
- iSpec.email = '#{iReleaseInfo.AuthorInfo[:EMail]}'
99
- iSpec.homepage = '#{iReleaseInfo.ProjectInfo[:WebPageURL]}'
100
- iSpec.platform = #{iReleaseInfo.GemInfo[:GemPlatformClassName]}
101
- iSpec.summary = '#{iReleaseInfo.ProjectInfo[:Summary].gsub(/'/,'\\\\\'')}'
102
- iSpec.description = '#{iReleaseInfo.ProjectInfo[:Description].gsub(/'/,'\\\\\'')}'
97
+ iSpec.author = '#{iReleaseInfo.author_info[:name].gsub(/'/,'\\\\\'')}'
98
+ iSpec.email = '#{iReleaseInfo.author_info[:email]}'
99
+ iSpec.homepage = '#{iReleaseInfo.project_info[:web_page_url]}'
100
+ iSpec.platform = #{iReleaseInfo.gem_info[:gem_platform_class_name]}
101
+ iSpec.summary = '#{iReleaseInfo.project_info[:summary].gsub(/'/,'\\\\\'')}'
102
+ iSpec.description = '#{iReleaseInfo.project_info[:description].gsub(/'/,'\\\\\'')}'
103
103
  #{lStrFiles}
104
104
  #{lStrRequirePaths}
105
105
  iSpec.has_rdoc = #{lStrHasRDoc}
106
106
  #{lStrExtraRDocFiles}
107
- iSpec.rubyforge_project = '#{iReleaseInfo.RFInfo[:ProjectUnixName]}'
107
+ iSpec.rubyforge_project = '#{iReleaseInfo.rf_info[:project_unix_name]}'
108
108
  #{lStrTestFile}
109
109
  #{lStrBinDir}
110
110
  #{lStrExecutables}
@@ -122,7 +122,7 @@ end
122
122
  rescue ::Gem::SystemExitException
123
123
  # For RubyGems, this is normal behaviour: success results in an exception thrown with exit_code 0.
124
124
  if ($!.exit_code != 0)
125
- logErr "RubyGems returned error #{$!.exit_code}."
125
+ log_err "RubyGems returned error #{$!.exit_code}."
126
126
  lGemOK = false
127
127
  end
128
128
  end
@@ -131,9 +131,9 @@ end
131
131
  # Move the Gem to the destination directory
132
132
  require 'fileutils'
133
133
  # Find the name of the Gem: it can differ depending on the platform
134
- rFileName = Dir.glob("#{iReleaseInfo.GemInfo[:GemName]}-#{iVersion}*.gem")[0]
134
+ rFileName = Dir.glob("#{iReleaseInfo.gem_info[:gem_name]}-#{iVersion}*.gem")[0]
135
135
  if (rFileName == nil)
136
- logErr "Unable to find generated gem \"#{iReleaseInfo.GemInfo[:GemName]}-#{iVersion}*.gem\""
136
+ log_err "Unable to find generated gem \"#{iReleaseInfo.gem_info[:gem_name]}-#{iVersion}*.gem\""
137
137
  else
138
138
  FileUtils::mv(rFileName, "#{iInstallerDir}/#{rFileName}")
139
139
  end