require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper.rb'))
require 'maven/tools/gem_project'
describe Maven::Tools::GemProject do
before :each do
@project = Maven::Tools::GemProject.new("test")
end
it 'should setup an empty gem project' do
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
XML
end
describe "Jarfile" do
it 'should load Jarfile without lockfile' do
@project.load_jarfile(File.join(File.dirname(__FILE__), 'Jarfile.without'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
org.slf4j
slf4j-simple
[1.5.6,)
jar
org.slf4j
slf4j-default
[0,)
pom
XML
end
it 'should load Jarfile with lockfile' do
@project.load_jarfile(File.join(File.dirname(__FILE__), 'Jarfile.with'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
org.slf4j
slf4j-simple
1.5.6
jar
XML
end
end
describe "Gemfile" do
it 'should load Gemfile with minimal gemspec' do
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.minimal'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
minimal
1.0.0
gem
de.saumya.mojo
bundler-maven-plugin
de.saumya.mojo
gem-maven-plugin
rspec/maven/tools/minimal.gemspec
XML
end
it 'should load Gemfile with gemspec but no Gemfile.lock' do
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.nolock'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
maven-tools
0.32.0
gem
http://github.com/torquebox/maven-tools
m_dot_kristian_at_web_dot_de
Christian Meier
m.kristian@web.de
rubygems
rake
[10.0.3,10.0.99999]
gem
test
rubygems
minitest
[4.4,4.99999]
gem
test
rubygems
rspec
[2.7,2.7.0.0.0.0.1)
gem
test
de.saumya.mojo
bundler-maven-plugin
de.saumya.mojo
gem-maven-plugin
rspec/maven/tools/maven-tools.gemspec
XML
end
it 'should load Gemfile with gemspec but with Gemfile.lock' do
pending "hash is differently orderd in ruby1.8" if RUBY_VERSION =~ /^1.8/ && !defined? JRUBY_VERSION
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.withlock'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
maven-tools
0.32.0
gem
http://github.com/torquebox/maven-tools
m_dot_kristian_at_web_dot_de
Christian Meier
m.kristian@web.de
rubygems
rake
gem
test
rubygems
minitest
gem
test
rubygems
rspec
gem
test
rubygems
rspec-core
gem
test
rubygems
rspec-expectations
gem
test
rubygems
diff-lcs
gem
test
rubygems
rspec-mocks
gem
test
rubygems
maven-tools
0.32.0
gem
rubygems
diff-lcs
1.1.3
gem
rubygems
minitest
4.4.0
gem
rubygems
rake
10.0.3
gem
rubygems
rspec
2.7.0
gem
rubygems
rspec-core
2.7.1
gem
rubygems
rspec-expectations
2.7.0
gem
rubygems
rspec-mocks
2.7.0
gem
de.saumya.mojo
bundler-maven-plugin
de.saumya.mojo
gem-maven-plugin
rspec/maven/tools/maven-tools.gemspec
XML
end
it 'should load Gemfile with "source", "path" and "platform"' do
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.ignored'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
rubygems
ixtlan-core
[0,)
gem
de.saumya.mojo
bundler-maven-plugin
XML
end
it 'should load Gemfile with simple gems"' do
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.gems'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
rubygems
ixtlan-core
[0,)
gem
de.saumya.mojo
bundler-maven-plugin
development
rubygems
dm-mysql-adapter
[0.10.0,0.10.3)
gem
rubygems
dm-hsqldb-adapter
[0.10.0,0.10.0.0.0.0.0.1)
gem
production
rubygems
dm-mysql-adapter
[0.10.0,0.10.3)
gem
test
rubygems
dm-sqlite3-adapter
[0.10.0,0.10.99999]
gem
XML
end
it 'should load Gemfile with grouped gems and added defaults"' do
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.groups'))
@project.name "test"
@project.add_defaults
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
rubygems-releases
http://rubygems-proxy.torquebox.org/releases
rubygems-releases
http://rubygems-proxy.torquebox.org/releases
rubygems
bundler
gem
test
rubygems
bundler
_bundler.version_
gem
${project.build.directory}/rubygems
${project.build.directory}/rubygems
_project.version_
UTF-8
de.saumya.mojo
bundler-maven-plugin
${jruby.plugins.version}
install
rubygems
ixtlan-core
[0,)
gem
rubygems
dm-sqlite-adapter
[1.0.0,1.0.99999]
gem
rubygems
dm-mysql-adapter
[1.0.0,1.0.3)
gem
rubygems
dm-postgres-adapter
[0,1.0.0]
gem
de.saumya.mojo
gem-maven-plugin
${jruby.plugins.version}
true
org.eclipse.m2e
lifecycle-mapping
1.0.0
bundler-maven-plugin
install
de.saumya.mojo
[0,)
gem-maven-plugin
initialize
de.saumya.mojo
[0,)
development
rubygems
dm-sqlite-adapter
[1.0.0,1.0.99999]
gem
executable
de.saumya.mojo
gem-assembly-descriptors
${jruby.plugins.version}
jar
runtime
maven-assembly-plugin
_assembly.version_
de.saumya.mojo.assembly.Main
jar-with-dependencies-and-gems
in_phase_package
package
assembly
de.saumya.mojo
gem-assembly-descriptors
${jruby.plugins.version}
jar
production
rubygems
ixtlan-core
[0,)
gem
rubygems
dm-mysql-adapter
[1.0.0,1.0.3)
gem
rubygems
dm-postgres-adapter
[0,1.0.0]
gem
test
rubygems
ixtlan-core
[0,)
gem
XML
end
it 'should load Gemfile with grouped gems and lock file"' do
pending "hash is differently orderd in ruby1.8" if RUBY_VERSION =~ /^1.8/ && !defined? JRUBY_VERSION
@project.load_gemfile(File.join(File.dirname(__FILE__), 'Gemfile.lockfile'))
@project.name "test"
@project.to_xml.should == <<-XML
4.0.0
rubygems
test
0.0.0
gem
rubygems
ixtlan-core
gem
rubygems
slf4r
gem
rubygems
dm-sqlite-adapter
gem
rubygems
dm-do-adapter
gem
rubygems
data_objects
gem
rubygems
addressable
gem
rubygems
dm-core
gem
rubygems
extlib
gem
rubygems
do_sqlite3
gem
rubygems
do_jdbc
gem
rubygems
jdbc-sqlite3
gem
rubygems
addressable
2.2.4
gem
rubygems
data_objects
0.10.3
gem
rubygems
dm-core
1.0.2
gem
rubygems
extlib
0.9.15
gem
rubygems
dm-do-adapter
1.0.2
gem
rubygems
dm-mysql-adapter
1.0.2
gem
rubygems
do_mysql
0.10.3
gem
rubygems
do_jdbc
0.10.3
gem
rubygems
jdbc-mysql
5.0.4
gem
rubygems
dm-postgres-adapter
1.0.0
gem
rubygems
do_postgres
0.10.3
gem
rubygems
jdbc-postgres
8.4.702
gem
rubygems
dm-sqlite-adapter
1.0.2
gem
rubygems
do_sqlite3
0.10.3
gem
rubygems
jdbc-sqlite3
3.6.14.2.056
gem
rubygems
ixtlan-core
0.1.1
gem
rubygems
slf4r
0.4.2
gem
de.saumya.mojo
bundler-maven-plugin
production
rubygems
dm-mysql-adapter
gem
rubygems
do_mysql
gem
rubygems
jdbc-mysql
gem
rubygems
dm-postgres-adapter
gem
rubygems
do_postgres
gem
rubygems
jdbc-postgres
gem
XML
end
end
describe "gemspec" do
it 'should load minimal gemspec' do
@project.load_gemspec(File.join(File.dirname(__FILE__), 'minimal.gemspec'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
minimal
1.0.0
gem
de.saumya.mojo
gem-maven-plugin
rspec/maven/tools/minimal.gemspec
XML
end
it 'should load gemspec without dependencies' do
@project.load_gemspec(File.join(File.dirname(__FILE__), 'no-deps.gemspec'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
no-deps
1.0.0
gem
http://example.com
Me_And_The_Corner
Me And The Corner
k_at_example_dot_com
Krysh Sample
k@example.com
AGPL
./AGPL.txt
repo
de.saumya.mojo
gem-maven-plugin
my
mybin
myexe
hello
myext
README.txt
AGPL.txt,README.txt,test/first_test.rb,mybin/hello,myext,lib/first.rb,spec/first_spec.rb,features/first.feature
rspec/maven/tools/no-deps.gemspec
java
--main,README.txt
mylib
installed java
myproject
test/first_test.rb
XML
end
it 'should load gemspec with dependencies' do
@project.load_gemspec(File.join(File.dirname(__FILE__), 'deps.gemspec'))
@project.to_xml.should == <<-XML
4.0.0
rubygems
deps
1.0.0
gem
rubygems
slf4r
(0.4.0,)
gem
compile
rubygems
rspec
[2.4.0,2.4.99999]
gem
test
rubygems
cucumber
[0.10.0,0.11.1)
gem
test
de.saumya.mojo
gem-maven-plugin
rspec/maven/tools/deps.gemspec
XML
end
it 'should load minimal gemspec with applied defaults' do
@project.load_gemspec(File.join(File.dirname(__FILE__), 'minimal.gemspec'))
@project.add_defaults
@project.to_xml.should == <<-XML
4.0.0
rubygems
minimal
1.0.0
gem
rubygems-releases
http://rubygems-proxy.torquebox.org/releases
rubygems-releases
http://rubygems-proxy.torquebox.org/releases
${project.build.directory}/rubygems
${project.build.directory}/rubygems
_project.version_
UTF-8
de.saumya.mojo
gem-maven-plugin
${jruby.plugins.version}
true
rspec/maven/tools/minimal.gemspec
rubygems
jruby-openssl
[0,)
gem
org.eclipse.m2e
lifecycle-mapping
1.0.0
gem-maven-plugin
initialize
de.saumya.mojo
[0,)
executable
de.saumya.mojo
gem-assembly-descriptors
${jruby.plugins.version}
jar
runtime
maven-assembly-plugin
_assembly.version_
de.saumya.mojo.assembly.Main
jar-with-dependencies-and-gems
in_phase_package
package
assembly
de.saumya.mojo
gem-assembly-descriptors
${jruby.plugins.version}
jar
XML
end
end
end