mvnizer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'http://rubygems.org'
2
+
3
+ group :development do
4
+ gem 'rspec', '~> 2.11.0'
5
+ gem 'rspec-mocks', '~> 2.11.2'
6
+ gem 'fakefs', '~> 0.4.0'
7
+ gem 'nokogiri', '~> 1.5.5'
8
+ gem 'jeweler', '~> 1.8.4'
9
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,36 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ fakefs (0.4.0)
6
+ git (1.2.5)
7
+ jeweler (1.8.4)
8
+ bundler (~> 1.0)
9
+ git (>= 1.2.5)
10
+ rake
11
+ rdoc
12
+ json (1.7.5)
13
+ nokogiri (1.5.5)
14
+ nokogiri (1.5.5-java)
15
+ rake (0.9.2.2)
16
+ rdoc (3.12)
17
+ json (~> 1.4)
18
+ rspec (2.11.0)
19
+ rspec-core (~> 2.11.0)
20
+ rspec-expectations (~> 2.11.0)
21
+ rspec-mocks (~> 2.11.0)
22
+ rspec-core (2.11.1)
23
+ rspec-expectations (2.11.3)
24
+ diff-lcs (~> 1.1.3)
25
+ rspec-mocks (2.11.2)
26
+
27
+ PLATFORMS
28
+ java
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ fakefs (~> 0.4.0)
33
+ jeweler (~> 1.8.4)
34
+ nokogiri (~> 1.5.5)
35
+ rspec (~> 2.11.0)
36
+ rspec-mocks (~> 2.11.2)
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 Sebastien Le Callonnec
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,5 @@
1
+ Bootstraps a Maven project. Because archetypes shouldn't be so complicated.
2
+
3
+ # Introduction
4
+
5
+ Mvnizer is ideal to create a throw-away Maven project that adds junit as a dependency and sets up the Maven project structure.
data/Rakefile ADDED
@@ -0,0 +1,55 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ require './lib/mvnizer/version.rb'
16
+ Jeweler::Tasks.new do |gem|
17
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
18
+ gem.name = "mvnizer"
19
+ gem.version = Mvnizer::Version::STRING
20
+ gem.homepage = "http://github.com/tychobrailleur/mvnizer"
21
+ gem.license = "MIT"
22
+ gem.summary = %Q{Bootstrap a Maven project without the pain of archetypes.}
23
+ gem.description = %Q{Bootstrap a Maven project without the pain of archetypes.}
24
+ gem.email = "sebastien@weblogism.com"
25
+ gem.authors = ["Sébastien Le Callonnec"]
26
+
27
+ gem.executables = ['mvnizer']
28
+ # dependencies defined in Gemfile
29
+ end
30
+ Jeweler::RubygemsDotOrgTasks.new
31
+
32
+ require 'rspec/core'
33
+ require 'rspec/core/rake_task'
34
+ RSpec::Core::RakeTask.new(:spec) do |spec|
35
+ spec.pattern = FileList['spec/**/*_spec.rb']
36
+ end
37
+
38
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
39
+ spec.pattern = 'spec/**/*_spec.rb'
40
+ spec.rcov = true
41
+ end
42
+
43
+ task :default => :spec
44
+
45
+ require 'rdoc/task'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "helloworld #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
54
+
55
+ # -*- coding: utf-8 -*-
data/bin/mvnizer ADDED
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
4
+ require 'mvnizer'
5
+ require 'optparse'
6
+
7
+
8
+ help = <<HELP
9
+ Mvnizer bootstraps a Maven project without the pain of archetypes.
10
+
11
+ mvnizer <project_name>
12
+ HELP
13
+
14
+ options = {}
15
+
16
+ opts = OptionParser.new do |opts|
17
+ opts.banner = help
18
+
19
+ opts.on("--version", "Display current version") do
20
+ puts "Mvnizer " + Mvnizer::Version::STRING
21
+ exit 0
22
+ end
23
+ end
24
+
25
+ # Read command line options into `options` hash
26
+ opts.parse!
27
+
28
+ if ARGV.size == 1
29
+ options[:name] = ARGV[0]
30
+ else
31
+ puts "Incorrect parameters. Please `mvnizer --help` for usage."
32
+ exit(1)
33
+ end
34
+
35
+ Mvnizer::Mvnize.new.run(options)
data/conf/default.yml ADDED
@@ -0,0 +1,2 @@
1
+ group_id: com.weblogism
2
+ version: 0.0.1-SNAPSHOT
@@ -0,0 +1,21 @@
1
+ require 'yaml'
2
+
3
+ module Mvnizer
4
+ module Configuration
5
+ def conf(options)
6
+ config_file = File.join(File.dirname(__FILE__), "..", "..", "conf", "default.yml")
7
+ default_config = YAML.load_file(config_file)
8
+
9
+ symbolize_keys(default_config.merge(symbolize_keys(options)))
10
+ end
11
+
12
+ private
13
+ def symbolize_keys(hash)
14
+ h = hash.dup
15
+ h.keys.each do |key|
16
+ h[(key.to_sym rescue key) || key] = h.delete(key)
17
+ end
18
+ h
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ require 'fileutils'
2
+
3
+ module Mvnizer
4
+ class DirCreator
5
+ # creates recursively all directories passed as a param.
6
+ def create(*dir)
7
+ dir.each { |d| FileUtils.mkdir_p d }
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ module Mvnizer
2
+ class Mvnize
3
+ include Configuration
4
+
5
+ def initialize(generator = Mvnizer::PomGenerator.new, dir_creator = Mvnizer::DirCreator.new)
6
+ @generator = generator
7
+ @dir_creator = dir_creator
8
+ end
9
+
10
+ # Creates the Maven project structure, and creates the pom file
11
+ # from the options
12
+ def run(options)
13
+ options = conf(options)
14
+
15
+ @dir_creator.create("#{options[:name]}/src/main/java",
16
+ "#{options[:name]}/src/test/java")
17
+
18
+ File.open("#{options[:name]}/pom.xml", "w") do |f|
19
+ f.write(@generator.generate(options))
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ require 'erb'
2
+
3
+ module Mvnizer
4
+ class Project
5
+ attr_reader :group_id, :artifact_id, :version
6
+ def initialize(group_id, artifact_id, version)
7
+ @group_id = group_id
8
+ @artifact_id = artifact_id
9
+ @version = version
10
+ end
11
+
12
+ def get_binding
13
+ binding
14
+ end
15
+ end
16
+
17
+ class PomGenerator
18
+ # Creates the pom content by reading the erb template.
19
+ def generate(options)
20
+ template = File.open(File.join(File.dirname(__FILE__), 'templates', 'pom.xml.erb'), 'r').read
21
+ project = Project.new(options[:group_id], options[:name], options[:version])
22
+ ERB.new(template).result(project.get_binding)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,10 @@
1
+ module Mvnizer
2
+ class Project
3
+ attr_reader :group_id, :artifact_id, :version
4
+ def initialize(group_id, artifact_id, version)
5
+ @group_id = group_id
6
+ @artifact_id = artifact_id
7
+ @version = version
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,37 @@
1
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
2
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
+ <modelVersion>4.0.0</modelVersion>
5
+
6
+ <groupId><%= group_id %></groupId>
7
+ <artifactId><%= artifact_id %></artifactId>
8
+ <version><%= version %></version>
9
+ <name><%= artifact_id %></name>
10
+
11
+ <properties>
12
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13
+ </properties>
14
+
15
+ <dependencies>
16
+ <dependency>
17
+ <groupId>junit</groupId>
18
+ <artifactId>junit</artifactId>
19
+ <version>4.8.2</version>
20
+ <scope>test</scope>
21
+ </dependency>
22
+ </dependencies>
23
+
24
+ <build>
25
+ <plugins>
26
+ <plugin>
27
+ <artifactId>maven-compiler-plugin</artifactId>
28
+ <version>2.3.2</version>
29
+ <configuration>
30
+ <source>1.6</source>
31
+ <target>1.6</target>
32
+ </configuration>
33
+ </plugin>
34
+ </plugins>
35
+ </build>
36
+
37
+ </project>
@@ -0,0 +1,5 @@
1
+ module Mvnizer
2
+ module Version
3
+ STRING = '0.0.1'
4
+ end
5
+ end
data/lib/mvnizer.rb ADDED
@@ -0,0 +1,9 @@
1
+ $:.unshift File.dirname(__FILE__)
2
+
3
+ require 'mvnizer/version'
4
+ require 'mvnizer/configuration'
5
+ require 'mvnizer/pom_generator'
6
+ require 'mvnizer/dir_creator'
7
+ require 'mvnizer/mvnize'
8
+
9
+
data/mvnizer.gemspec ADDED
@@ -0,0 +1,74 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "mvnizer"
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["S\u{e9}bastien Le Callonnec"]
12
+ s.date = "2012-09-13"
13
+ s.description = "Bootstrap a Maven project without the pain of archetypes."
14
+ s.email = "sebastien@weblogism.com"
15
+ s.executables = ["mvnizer"]
16
+ s.extra_rdoc_files = [
17
+ "LICENSE.txt",
18
+ "README.md"
19
+ ]
20
+ s.files = [
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.md",
26
+ "Rakefile",
27
+ "bin/mvnizer",
28
+ "conf/default.yml",
29
+ "lib/mvnizer.rb",
30
+ "lib/mvnizer/configuration.rb",
31
+ "lib/mvnizer/dir_creator.rb",
32
+ "lib/mvnizer/mvnize.rb",
33
+ "lib/mvnizer/pom_generator.rb",
34
+ "lib/mvnizer/project.rb",
35
+ "lib/mvnizer/templates/pom.xml.erb",
36
+ "lib/mvnizer/version.rb",
37
+ "mvnizer.gemspec",
38
+ "spec/configuration_spec.rb",
39
+ "spec/dir_creator_spec.rb",
40
+ "spec/generator_spec.rb",
41
+ "spec/mvnize_spec.rb",
42
+ "spec/spec_helper.rb"
43
+ ]
44
+ s.homepage = "http://github.com/tychobrailleur/mvnizer"
45
+ s.licenses = ["MIT"]
46
+ s.require_paths = ["lib"]
47
+ s.rubygems_version = "1.8.24"
48
+ s.summary = "Bootstrap a Maven project without the pain of archetypes."
49
+
50
+ if s.respond_to? :specification_version then
51
+ s.specification_version = 3
52
+
53
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
+ s.add_development_dependency(%q<rspec>, ["~> 2.11.0"])
55
+ s.add_development_dependency(%q<rspec-mocks>, ["~> 2.11.2"])
56
+ s.add_development_dependency(%q<fakefs>, ["~> 0.4.0"])
57
+ s.add_development_dependency(%q<nokogiri>, ["~> 1.5.5"])
58
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
59
+ else
60
+ s.add_dependency(%q<rspec>, ["~> 2.11.0"])
61
+ s.add_dependency(%q<rspec-mocks>, ["~> 2.11.2"])
62
+ s.add_dependency(%q<fakefs>, ["~> 0.4.0"])
63
+ s.add_dependency(%q<nokogiri>, ["~> 1.5.5"])
64
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
65
+ end
66
+ else
67
+ s.add_dependency(%q<rspec>, ["~> 2.11.0"])
68
+ s.add_dependency(%q<rspec-mocks>, ["~> 2.11.2"])
69
+ s.add_dependency(%q<fakefs>, ["~> 0.4.0"])
70
+ s.add_dependency(%q<nokogiri>, ["~> 1.5.5"])
71
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
72
+ end
73
+ end
74
+
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mvnizer::Configuration do
4
+ include Mvnizer::Configuration
5
+ let (:conf_path) { File.join(File.dirname(__FILE__), '..', 'conf', 'default.yml') }
6
+
7
+ it "loads configuration from default.yml" do
8
+ YAML.should_receive(:load_file).with(be_same_path_as(conf_path)).and_return({ foo: "bar" })
9
+
10
+ config = conf(Hash.new)
11
+ config[:foo].should == "bar"
12
+ end
13
+
14
+ it "should replace default values" do
15
+ YAML.should_receive(:load_file).with(be_same_path_as(conf_path)).and_return({ foo: "bar" })
16
+
17
+ config = conf({ foo: "qux", baz: "buz" })
18
+ config[:foo].should == "qux"
19
+ config[:baz].should == "buz"
20
+ end
21
+
22
+ it "should symbolize configuration keys" do
23
+ YAML.should_receive(:load_file).with(be_same_path_as(conf_path)).and_return({ "foo" => "bar" })
24
+
25
+ config = conf(Hash.new)
26
+ config[:foo].should == "bar"
27
+ end
28
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ require 'fileutils'
3
+
4
+ describe Mvnizer::DirCreator do
5
+ subject { Mvnizer::DirCreator.new }
6
+ # Make use of fakefs explicit by using activate! / deactivate!
7
+ before { FakeFS.activate! }
8
+
9
+ it "creates a list of directories" do
10
+ subject.create("/tmp/blah/blah", "/tmp/foo/bar")
11
+ Dir.exists?("/tmp/blah/blah").should == true
12
+ Dir.exists?("/tmp/foo/bar").should == true
13
+ end
14
+
15
+ after { FakeFS.deactivate! }
16
+ # after { ["/tmp/blah", "/tmp/foo"].each { |d| FileUtils.rm_rf(d) } }
17
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'nokogiri'
3
+
4
+ describe Mvnizer::PomGenerator do
5
+ subject { Mvnizer::PomGenerator.new }
6
+
7
+ it "generates a pom" do
8
+ options = { group_id: "test", version: "1.0.0-SNAPSHOT", name: "mvnizer" }
9
+ output = subject.generate(options)
10
+
11
+ # TODO: Ain't that a bit overkill for test?
12
+ doc = Nokogiri::XML(output)
13
+ doc.remove_namespaces!
14
+ doc.xpath("/project/groupId").first.text().should == "test"
15
+ doc.xpath("/project/artifactId").first.text().should == "mvnizer"
16
+ doc.xpath("/project/version").first.text().should == "1.0.0-SNAPSHOT"
17
+ doc.xpath("/project/name").first.text().should == "mvnizer"
18
+ end
19
+ end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mvnizer::Mvnize do
4
+ let(:generator) { double("generator") }
5
+ subject { Mvnizer::Mvnize.new(generator) }
6
+
7
+ before { FakeFS.activate! }
8
+
9
+ it "reads the configuration" do
10
+ options = { name: "foobar" }
11
+ generator.should_receive(:generate)
12
+ subject.should_receive(:conf).with(options).and_return(options)
13
+
14
+ subject.run(options)
15
+ end
16
+
17
+ it "creates the project directory" do
18
+ options = { name: "foobar" }
19
+ subject.should_receive(:conf).with(options).and_return(options)
20
+ generator.should_receive(:generate)
21
+ subject.run(options)
22
+
23
+ File.exists?("foobar/src/main/java").should be_true
24
+ File.exists?("foobar/src/test/java").should be_true
25
+ end
26
+
27
+ it "generates the pom file" do
28
+ options = { name: "foobar" }
29
+ subject.should_receive(:conf).with(options).and_return(options)
30
+ generator.should_receive(:generate).with(options)
31
+ subject.run(options)
32
+
33
+ File.exists?("foobar/pom.xml").should be_true
34
+ end
35
+
36
+ after { FakeFS.deactivate! }
37
+ end
@@ -0,0 +1,11 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
2
+ require 'mvnizer'
3
+ require 'rspec/mocks'
4
+ require 'rspec/expectations'
5
+ require 'fakefs/safe'
6
+
7
+ RSpec::Matchers.define :be_same_path_as do |expected|
8
+ match do |actual|
9
+ Pathname.new(expected).cleanpath == Pathname.new(actual).cleanpath
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mvnizer
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Sébastien Le Callonnec
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ~>
19
+ - !ruby/object:Gem::Version
20
+ version: 2.11.0
21
+ none: false
22
+ requirement: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 2.11.0
27
+ none: false
28
+ prerelease: false
29
+ type: :development
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec-mocks
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: 2.11.2
37
+ none: false
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ version: 2.11.2
43
+ none: false
44
+ prerelease: false
45
+ type: :development
46
+ - !ruby/object:Gem::Dependency
47
+ name: fakefs
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: 0.4.0
53
+ none: false
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ~>
57
+ - !ruby/object:Gem::Version
58
+ version: 0.4.0
59
+ none: false
60
+ prerelease: false
61
+ type: :development
62
+ - !ruby/object:Gem::Dependency
63
+ name: nokogiri
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 1.5.5
69
+ none: false
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ version: 1.5.5
75
+ none: false
76
+ prerelease: false
77
+ type: :development
78
+ - !ruby/object:Gem::Dependency
79
+ name: jeweler
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: 1.8.4
85
+ none: false
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ version: 1.8.4
91
+ none: false
92
+ prerelease: false
93
+ type: :development
94
+ description: Bootstrap a Maven project without the pain of archetypes.
95
+ email: sebastien@weblogism.com
96
+ executables:
97
+ - mvnizer
98
+ extensions: []
99
+ extra_rdoc_files:
100
+ - LICENSE.txt
101
+ - README.md
102
+ files:
103
+ - .rspec
104
+ - Gemfile
105
+ - Gemfile.lock
106
+ - LICENSE.txt
107
+ - README.md
108
+ - Rakefile
109
+ - bin/mvnizer
110
+ - conf/default.yml
111
+ - lib/mvnizer.rb
112
+ - lib/mvnizer/configuration.rb
113
+ - lib/mvnizer/dir_creator.rb
114
+ - lib/mvnizer/mvnize.rb
115
+ - lib/mvnizer/pom_generator.rb
116
+ - lib/mvnizer/project.rb
117
+ - lib/mvnizer/templates/pom.xml.erb
118
+ - lib/mvnizer/version.rb
119
+ - mvnizer.gemspec
120
+ - spec/configuration_spec.rb
121
+ - spec/dir_creator_spec.rb
122
+ - spec/generator_spec.rb
123
+ - spec/mvnize_spec.rb
124
+ - spec/spec_helper.rb
125
+ homepage: http://github.com/tychobrailleur/mvnizer
126
+ licenses:
127
+ - MIT
128
+ post_install_message:
129
+ rdoc_options: []
130
+ require_paths:
131
+ - lib
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: !binary |-
137
+ MA==
138
+ segments:
139
+ - 0
140
+ hash: 2
141
+ none: false
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ! '>='
145
+ - !ruby/object:Gem::Version
146
+ version: !binary |-
147
+ MA==
148
+ none: false
149
+ requirements: []
150
+ rubyforge_project:
151
+ rubygems_version: 1.8.24
152
+ signing_key:
153
+ specification_version: 3
154
+ summary: Bootstrap a Maven project without the pain of archetypes.
155
+ test_files: []