[DRE-commits] [gem2deb] 01/01: gem2tgz: replace metadata.yml with ${package}.gemspec
Antonio Terceiro
terceiro at moszumanska.debian.org
Fri Mar 4 20:31:05 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 3eccea1b9b31eac4de8f77aa799982bfc0b7028a
Author: Antonio Terceiro <terceiro at debian.org>
Date: Fri Mar 4 17:30:55 2016 -0300
gem2tgz: replace metadata.yml with ${package}.gemspec
---
debian/changelog | 8 ++++++++
lib/gem2deb/gem2tgz.rb | 19 ++++++++++++++++++-
test/unit/gem2tgz_test.rb | 13 ++++++++-----
3 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c742b02..ac420d0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gem2deb (0.29) UNRELEASED; urgency=medium
+
+ * gem2tgz:
+ - Stop generating metadata.yml, and generate a .gemspec if there is no
+ gemspec yet.
+
+ -- Antonio Terceiro <terceiro at debian.org> Fri, 04 Mar 2016 17:29:16 -0300
+
gem2deb (0.28) unstable; urgency=medium
* dh_ruby:
diff --git a/lib/gem2deb/gem2tgz.rb b/lib/gem2deb/gem2tgz.rb
index 1d2800f..456315e 100644
--- a/lib/gem2deb/gem2tgz.rb
+++ b/lib/gem2deb/gem2tgz.rb
@@ -85,7 +85,24 @@ module Gem2Deb
verify_and_strip_checksums if File.exist?('checksums.yaml.gz')
run 'tar xzfm data.tar.gz'
FileUtils.rm_f('data.tar.gz')
- run "zcat metadata.gz > metadata.yml"
+ if Dir['*.gemspec'].empty?
+ run "zcat metadata.gz > metadata.yml"
+ gemspec = YAML.load_file('metadata.yml')
+ gemspec.executables.sort!
+ gemspec.extensions.sort!
+ gemspec.extra_rdoc_files.sort!
+ gemspec.files.sort!
+ gemspec.require_paths.sort!
+ gemspec.test_files.sort!
+ gemspec.dependencies.sort!
+ File.open("#{gemspec.name}.gemspec", 'w') do |f|
+ f.puts "#########################################################"
+ f.puts "# This file has been automatically generated by gem2tgz #"
+ f.puts "#########################################################"
+ f.puts(gemspec.to_ruby)
+ end
+ FileUtils.rm_f('metadata.yml')
+ end
FileUtils.rm_f('metadata.gz')
end
end
diff --git a/test/unit/gem2tgz_test.rb b/test/unit/gem2tgz_test.rb
index 3319e8e..8b36328 100644
--- a/test/unit/gem2tgz_test.rb
+++ b/test/unit/gem2tgz_test.rb
@@ -45,21 +45,24 @@ class Gem2TgzTest < Gem2DebTestCase
should 'not leave temporary directory after creating tarball' do
assert_no_file_exists instance.target_dir
end
- should 'create metadata.yml' do
+ should 'not leave metadata.yml in the tarball' do
+ assert_not_contained_in_tarball SIMPLE_GEM_TARBALL, 'simplegem-0.0.1/metadata.yml'
+ end
+ should 'create gemspec' do
unpack(SIMPLE_GEM_TARBALL) do
- assert_file_exists 'simplegem-0.0.1/metadata.yml'
+ assert_file_exists 'simplegem-0.0.1/simplegem.gemspec'
end
end
should 'not include checksums.yaml.gz' do
assert_not_contained_in_tarball SIMPLE_GEM_TARBALL, 'simplegem-0.0.1/checksums.yaml.gz'
end
- context 'looking inside metadata.yml' do
+ context 'looking inside generated gemspec' do
setup do
@gemspec = unpack(SIMPLE_GEM_TARBALL) do
- YAML.load_file('simplegem-0.0.1/metadata.yml')
+ Gem::Specification.load('simplegem-0.0.1/simplegem.gemspec')
end
end
- should 'be valid gemspec' do
+ should 'be a valid gemspec' do
assert_kind_of Gem::Specification, @gemspec
end
should "be simplegem's spec" do
--
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