[DRE-commits] [gem2deb] 01/01: Gem2Deb::Metadata: save temporary modified gemspec to project root
Antonio Terceiro
terceiro at moszumanska.debian.org
Wed Mar 9 04:42:37 UTC 2016
This is an automated email from the git hooks/post-receive script.
terceiro pushed a commit to branch master
in repository gem2deb.
commit 3d9fa75cf7f921003fd940612a4e25b064c9ee00
Author: Antonio Terceiro <terceiro at debian.org>
Date: Wed Mar 9 11:38:28 2016 +0700
Gem2Deb::Metadata: save temporary modified gemspec to project root
Some gemspecs depend on being on the project root to load properly, e.g.
because they use File.dirname(__FILE__) and the like.
---
lib/gem2deb/metadata.rb | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/gem2deb/metadata.rb b/lib/gem2deb/metadata.rb
index 451c1fd..f07007f 100644
--- a/lib/gem2deb/metadata.rb
+++ b/lib/gem2deb/metadata.rb
@@ -121,7 +121,7 @@ module Gem2Deb
end
GIT_USAGE_MODIFIERS = {
- /\.files\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '.files = (Dir["**/*"] - Dir["debian/**/*"]).select { |f| !File.directory?(f) }',
+ /\.files\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '.files = (Dir["**/*"] - Dir["debian/**/*"] - Dir["*.gemspec.gem2deb"]).select { |f| !File.directory?(f) }',
/\.test_files\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '.test_files = []',
/(\w+)\.executables\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '\1.executables = Dir[\1.bindir + "/*"]',
}
@@ -129,16 +129,20 @@ module Gem2Deb
def load_modified_gemspec(original_gemspec_path)
gemspec_text = File.read(original_gemspec_path)
- modified_gemspec = Tempfile.new('gemspec')
+ modified_gemspec = original_gemspec_path + '.gem2deb'
GIT_USAGE_MODIFIERS.each do |find,replacement|
gemspec_text.gsub!(find, replacement)
end
- File.open(modified_gemspec.path, 'w') do |f|
+ File.open(modified_gemspec, 'w') do |f|
f.puts(gemspec_text)
end
- Gem::Specification.load(modified_gemspec.path)
+ spec = Gem::Specification.load(modified_gemspec)
+
+ FileUtils.rm_f(modified_gemspec)
+
+ spec
end
def set_gemspec_date
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/gem2deb.git
More information about the Pkg-ruby-extras-commits
mailing list