maven-tools 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +20 -0
- data/README.md +1 -0
- data/lib/maven-tools.rb +1 -0
- data/lib/maven-tools.rb~ +1 -0
- data/lib/maven/jarfile.rb~ +77 -0
- data/lib/maven/maven_util.rb~ +56 -0
- data/lib/maven/model/dependencies.rb +230 -0
- data/lib/maven/model/dependencies.rb~ +247 -0
- data/lib/maven/model/model.rb +540 -0
- data/lib/maven/model/model.rb~ +528 -0
- data/lib/maven/model/model_utils.rb~ +832 -0
- data/lib/maven/model/utils.rb +343 -0
- data/lib/maven/model/utils.rb~ +322 -0
- data/lib/maven/tools/coordinate.rb +84 -0
- data/lib/maven/tools/coordinate.rb~ +81 -0
- data/lib/maven/tools/execute_in_phase.rb +9 -0
- data/lib/maven/tools/gem_project.rb +503 -0
- data/lib/maven/tools/gem_project.rb~ +498 -0
- data/lib/maven/tools/gemfile_lock.rb +70 -0
- data/lib/maven/tools/gemfile_lock.rb~ +67 -0
- data/lib/maven/tools/jarfile.rb +95 -0
- data/lib/maven/tools/jarfile.rb~ +79 -0
- data/lib/maven/tools/pom_generator.rb +63 -0
- data/lib/maven/tools/rails_project.rb +183 -0
- data/lib/maven/tools/version.rb +5 -0
- data/lib/maven/tools/versions.rb +15 -0
- data/lib/maven/tools/versions.rb~ +13 -0
- data/lib/maven_tools.rb +1 -0
- data/lib/maven_tools.rb~ +1 -0
- data/spec/coordinate_spec.rb +47 -0
- data/spec/jarfile_spec.rb +124 -0
- metadata +118 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
module Maven
|
2
|
+
module Tools
|
3
|
+
class GemfileLock < Hash
|
4
|
+
|
5
|
+
class Dependency
|
6
|
+
attr_accessor :name, :version, :dependencies
|
7
|
+
def initialize(line, deps = {})
|
8
|
+
@name = line.sub(/\ .*/,'')
|
9
|
+
@version = line.sub(/.*\(/, '').sub(/\).*/, '').sub(/-java$/, '')
|
10
|
+
@dependencies = deps
|
11
|
+
end
|
12
|
+
|
13
|
+
def add(line)
|
14
|
+
dependencies[line.sub(/\ .*/,'')] = line.sub(/.*\(/, '').sub(/\).*/, '')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(file)
|
19
|
+
super()
|
20
|
+
current = nil
|
21
|
+
f = file.is_a?(File) ? file.path: file
|
22
|
+
if File.exists? f
|
23
|
+
File.readlines(f).each do |line|
|
24
|
+
if line =~ /^ [^ ]/
|
25
|
+
line.strip!
|
26
|
+
current = Dependency.new(line)
|
27
|
+
self[current.name] = current
|
28
|
+
elsif line =~ /^ [^ ]/
|
29
|
+
line.strip!
|
30
|
+
current.add(line) if current
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def recurse(result, dep)
|
37
|
+
result[dep] = self[dep].version if self[dep] && !result.key?(dep)
|
38
|
+
if d = self[dep]
|
39
|
+
d.dependencies.each do |name, version|
|
40
|
+
unless result.key? name
|
41
|
+
if name != 'bundler'
|
42
|
+
result[name] = self[name].nil?? version : self[name].version
|
43
|
+
recurse(result, name)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def dependency_hull(deps = [])
|
51
|
+
deps = deps.is_a?(Array) ? deps : [deps]
|
52
|
+
result = {}
|
53
|
+
deps.each do |dep|
|
54
|
+
recurse(result, dep)
|
55
|
+
end
|
56
|
+
result
|
57
|
+
end
|
58
|
+
|
59
|
+
def hull
|
60
|
+
dependency_hull(keys)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
if $0 == __FILE__
|
67
|
+
lockfile = Maven::Tools::GemfileLock.new(File.new(ARGV[0] || 'Gemfile.lock'))
|
68
|
+
p lockfile
|
69
|
+
p lockfile.dependency_hull("rails")
|
70
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Maven
|
2
|
+
module Tools
|
3
|
+
class GemfileLock < Hash
|
4
|
+
|
5
|
+
class Dependency
|
6
|
+
attr_accessor :name, :version, :dependencies
|
7
|
+
def initialize(line, deps = {})
|
8
|
+
@name = line.sub(/\ .*/,'')
|
9
|
+
@version = line.sub(/.*\(/, '').sub(/\).*/, '').sub(/-java$/, '')
|
10
|
+
@dependencies = deps
|
11
|
+
end
|
12
|
+
|
13
|
+
def add(line)
|
14
|
+
dependencies[line.sub(/\ .*/,'')] = line.sub(/.*\(/, '').sub(/\).*/, '')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(file)
|
19
|
+
current = nil
|
20
|
+
f = file.is_a?(File) ? file.path: file
|
21
|
+
if File.exists? f
|
22
|
+
File.readlines(f).each do |line|
|
23
|
+
if line =~ /^ [^ ]/
|
24
|
+
line.strip!
|
25
|
+
current = Dependency.new(line)
|
26
|
+
self[current.name] = current
|
27
|
+
elsif line =~ /^ [^ ]/
|
28
|
+
line.strip!
|
29
|
+
current.add(line) if current
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def recurse(result, dep)
|
36
|
+
result[dep] = self[dep].version if self[dep] && !result.key?(dep)
|
37
|
+
if d = self[dep]
|
38
|
+
d.dependencies.each do |name, version|
|
39
|
+
unless result.key? name
|
40
|
+
result[name] = self[name].nil?? version : self[name].version
|
41
|
+
recurse(result, name)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def dependency_hull(deps = [])
|
48
|
+
deps = deps.is_a?(Array) ? deps : [deps]
|
49
|
+
result = {}
|
50
|
+
deps.each do |dep|
|
51
|
+
recurse(result, dep)
|
52
|
+
end
|
53
|
+
result
|
54
|
+
end
|
55
|
+
|
56
|
+
def hull
|
57
|
+
dependency_hull(keys)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
if $0 == __FILE__
|
64
|
+
lockfile = Maven::Tools::GemfileLock.new(File.new(ARGV[0] || 'Gemfile.lock'))
|
65
|
+
p lockfile
|
66
|
+
p lockfile.dependency_hull("rails")
|
67
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'coordinate.rb')
|
2
|
+
module Maven
|
3
|
+
module Tools
|
4
|
+
|
5
|
+
class Jarfile
|
6
|
+
include Coordinate
|
7
|
+
|
8
|
+
def initialize(file = 'Jarfile')
|
9
|
+
@file = file
|
10
|
+
@lockfile = file + ".lock"
|
11
|
+
end
|
12
|
+
|
13
|
+
def mtime
|
14
|
+
File.mtime(@file)
|
15
|
+
end
|
16
|
+
|
17
|
+
def exists?
|
18
|
+
File.exists?(@file)
|
19
|
+
end
|
20
|
+
|
21
|
+
def mtime_lock
|
22
|
+
File.mtime(@lockfile)
|
23
|
+
end
|
24
|
+
|
25
|
+
def exists_lock?
|
26
|
+
File.exists?(@lockfile)
|
27
|
+
end
|
28
|
+
|
29
|
+
def load_lockfile
|
30
|
+
_locked = []
|
31
|
+
if exists_lock?
|
32
|
+
File.read(@lockfile).each_line do |line|
|
33
|
+
line.strip!
|
34
|
+
if line.size > 0 && !(line =~ /^\s*#/)
|
35
|
+
_locked << line
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
_locked
|
40
|
+
end
|
41
|
+
|
42
|
+
def locked
|
43
|
+
@locked ||= load_lockfile
|
44
|
+
end
|
45
|
+
|
46
|
+
def locked?(coordinate)
|
47
|
+
coord = coordinate.sub(/^([^:]+:[^:]+):.+/) { $1 }
|
48
|
+
locked.detect { |l| l.sub(/^([^:]+:[^:]+):.+/) { $1 } == coord } != nil
|
49
|
+
end
|
50
|
+
|
51
|
+
def populate_unlocked(container)
|
52
|
+
if File.exists?(@file)
|
53
|
+
File.read(@file).each_line do |line|
|
54
|
+
if coord = to_coordinate(line)
|
55
|
+
unless locked?(coord)
|
56
|
+
container.add_artifact(coord)
|
57
|
+
end
|
58
|
+
elsif line =~ /^\s*(repository|source)\s/
|
59
|
+
# allow `source :name, "http://url"`
|
60
|
+
# allow `source "name", "http://url"`
|
61
|
+
# allow `source "http://url"`
|
62
|
+
# also allow `repository` instead of `source`
|
63
|
+
name, url = line.sub(/.*(repository|source)\s+/, '').split(/,/)
|
64
|
+
url = name unless url
|
65
|
+
# remove whitespace and trailing/leading ' or "
|
66
|
+
name.strip!
|
67
|
+
name.gsub!(/^:/, '')
|
68
|
+
name.gsub!(/^['"]|['"]$/,'')
|
69
|
+
url.strip!
|
70
|
+
url.gsub!(/^['"]|['"]$/,'')
|
71
|
+
container.add_repository(name, url)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def populate_locked(container)
|
78
|
+
locked.each { |l| container.add_artifact(l) }
|
79
|
+
end
|
80
|
+
|
81
|
+
def generate_lockfile(dependency_coordinates)
|
82
|
+
if dependency_coordinates.empty?
|
83
|
+
FileUtils.rm_f(@lockfile) if exists_lock?
|
84
|
+
else
|
85
|
+
File.open(@lockfile, 'w') do |f|
|
86
|
+
dependency_coordinates.each do |d|
|
87
|
+
f.puts d.to_s
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'maven/tools/coordinate'
|
2
|
+
module Maven
|
3
|
+
module Tools
|
4
|
+
|
5
|
+
class Jarfile
|
6
|
+
include Coordinate
|
7
|
+
|
8
|
+
def initialize(file = 'Jarfile')
|
9
|
+
@file = file
|
10
|
+
@lockfile = file + ".lock"
|
11
|
+
end
|
12
|
+
|
13
|
+
def mtime
|
14
|
+
File.mtime(@file)
|
15
|
+
end
|
16
|
+
|
17
|
+
def exists?
|
18
|
+
File.exists?(@file)
|
19
|
+
end
|
20
|
+
|
21
|
+
def mtime_lock
|
22
|
+
File.mtime(@lockfile)
|
23
|
+
end
|
24
|
+
|
25
|
+
def exists_lock?
|
26
|
+
File.exists?(@lockfile)
|
27
|
+
end
|
28
|
+
|
29
|
+
def load_lockfile
|
30
|
+
_locked = []
|
31
|
+
if exists_lock?
|
32
|
+
File.read(@lockfile).each_line do |line|
|
33
|
+
line.strip!
|
34
|
+
if line.size > 0 && !(line =~ /^\s*#/)
|
35
|
+
_locked << line
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
_locked
|
40
|
+
end
|
41
|
+
|
42
|
+
def locked
|
43
|
+
@locked ||= load_lockfile
|
44
|
+
end
|
45
|
+
|
46
|
+
def locked?(coordinate)
|
47
|
+
coord = coordinate.sub(/^([^:]+:[^:]+):.+/) { $1 }
|
48
|
+
locked.detect { |l| l.sub(/^([^:]+:[^:]+):.+/) { $1 } == coord } != nil
|
49
|
+
end
|
50
|
+
|
51
|
+
def populate_unlocked(aether)
|
52
|
+
File.read(@file).each_line do |line|
|
53
|
+
if coord = to_coordinate(line)
|
54
|
+
unless locked?(coord)
|
55
|
+
aether.add_artifact(coord)
|
56
|
+
end
|
57
|
+
elsif line =~ /^\s*(repository|source)\s/
|
58
|
+
name, url = line.sub(/.*(repository|source)\s+/, '').gsub(/['":]/,'').split(/,/)
|
59
|
+
url = name unless url
|
60
|
+
aether.add_repository(name, url)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def populate_locked(aether)
|
66
|
+
locked.each { |l| aether.add_artifact(l) }
|
67
|
+
end
|
68
|
+
|
69
|
+
def generate_lockfile(dependency_coordinates)
|
70
|
+
File.open(@lockfile, 'w') do |f|
|
71
|
+
dependency_coordinates.each do |d|
|
72
|
+
f.puts d.to_s
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'rails_project.rb')
|
2
|
+
module Maven
|
3
|
+
module Tools
|
4
|
+
class PomGenerator
|
5
|
+
def read_rails(filename, plugin_version = nil, jruby_version = nil)
|
6
|
+
proj = Maven::Tools::RailsProject.new
|
7
|
+
proj.load_gemfile(filename.to_s)
|
8
|
+
proj.load_jarfile(File.join(File.dirname(filename.to_s), 'Jarfile'))
|
9
|
+
proj.load_mavenfile(File.join(File.dirname(filename.to_s), 'Mavenfile'))
|
10
|
+
proj.add_defaults(versions(plugin_version, jruby_version))
|
11
|
+
proj.to_xml
|
12
|
+
end
|
13
|
+
|
14
|
+
# the dummy allows to have all three methods the same argument list
|
15
|
+
def read_gemfile(filename, plugin_version = nil, dummy = nil)
|
16
|
+
dir = File.dirname(filename)
|
17
|
+
proj =
|
18
|
+
if File.exists? File.join( dir, 'config', 'application.rb' )
|
19
|
+
Maven::Tools::RailsProject.new
|
20
|
+
else
|
21
|
+
Maven::Tools::GemProject.new
|
22
|
+
end
|
23
|
+
proj.load_gemfile(filename.to_s)
|
24
|
+
proj.load_jarfile(File.join(File.dirname(filename.to_s), 'Jarfile'))
|
25
|
+
proj.load_mavenfile(File.join(File.dirname(filename.to_s), 'Mavenfile'))
|
26
|
+
proj.add_defaults(versions(plugin_version, nil))
|
27
|
+
proj.to_xml
|
28
|
+
end
|
29
|
+
|
30
|
+
# the dummy allows to have all three methods the same argument list
|
31
|
+
def read_gemspec(filename, plugin_version = nil, dummy = nil)
|
32
|
+
proj = Maven::Tools::GemProject.new
|
33
|
+
proj.load_gemspec(filename.to_s)
|
34
|
+
proj.load_jarfile(File.join(File.dirname(filename.to_s), 'Jarfile'))
|
35
|
+
proj.load_mavenfile(File.join(File.dirname(filename.to_s), 'Mavenfile'))
|
36
|
+
proj.add_defaults(versions(plugin_version, nil))
|
37
|
+
proj.to_xml
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def versions(plugin_version, jruby_version)
|
43
|
+
result = {}
|
44
|
+
result[:jruby_plugins] = plugin_version if plugin_version
|
45
|
+
result[:jruby_version] = jruby_version if jruby_version
|
46
|
+
result
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
generator = Maven::Tools::PomGenerator.new
|
53
|
+
|
54
|
+
case ARGV.size
|
55
|
+
when 2
|
56
|
+
puts generator.send("read_#{ARGV[0]}".to_sym, ARGV[1])
|
57
|
+
when 3
|
58
|
+
puts generator.send("read_#{ARGV[0]}".to_sym, ARGV[1], ARGV[2])
|
59
|
+
when 4
|
60
|
+
puts generator.send("read_#{ARGV[0]}".to_sym, ARGV[1], ARGV[2], ARGV[3])
|
61
|
+
else
|
62
|
+
generator
|
63
|
+
end
|
@@ -0,0 +1,183 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'gem_project.rb')
|
2
|
+
module Maven
|
3
|
+
module Tools
|
4
|
+
class RailsProject < GemProject
|
5
|
+
tags :dummy
|
6
|
+
|
7
|
+
def initialize(name = dir_name, &block)
|
8
|
+
super(name, &block)
|
9
|
+
group_id "rails"
|
10
|
+
packaging "war"
|
11
|
+
end
|
12
|
+
|
13
|
+
def has_gem?(gem)
|
14
|
+
assets = profile(:assets)
|
15
|
+
self.gem?(gem) || (assets && assets.gem?(gem))
|
16
|
+
end
|
17
|
+
|
18
|
+
def add_defaults(args = {})
|
19
|
+
self.name = "#{dir_name} - rails application" unless name
|
20
|
+
|
21
|
+
# setup bundler plugin
|
22
|
+
plugin(:bundler)
|
23
|
+
|
24
|
+
s_args = args.dup
|
25
|
+
s_args.delete(:jruby_plugins)
|
26
|
+
super(s_args)
|
27
|
+
|
28
|
+
versions = VERSIONS.merge(args)
|
29
|
+
|
30
|
+
rails_gem = dependencies.detect { |d| d.type.to_sym == :gem && d.artifact_id.to_s =~ /^rail.*s$/ } # allow rails or railties
|
31
|
+
|
32
|
+
if !jar?("org.jruby:jruby-complete") && !jar?("org.jruby:jruby-core") && versions[:jruby_version]
|
33
|
+
minor = versions[:jruby_version].sub(/[0-9]*\./, '').sub(/\..*/, '')
|
34
|
+
|
35
|
+
#TODO once jruby-core pom is working !!!
|
36
|
+
if minor.to_i > 55 #TODO fix minor minimum version
|
37
|
+
jar("org.jruby:jruby-core", versions[:jruby_version])
|
38
|
+
jar("org.jruby:jruby-stdlib", versions[:jruby_version])
|
39
|
+
# override deps which works
|
40
|
+
jar("jline:jline", '0.9.94') if versions[:jruby_version] =~ /1.6.[1-2]/
|
41
|
+
jar("org.jruby.extras:jffi", '1.0.8', 'native') if versions[:jruby_version] =~ /1.6.[0-2]/
|
42
|
+
jar("org.jruby.extras:jaffl", '0.5.10') if versions[:jruby_version] =~ /1.6.[0-2]/
|
43
|
+
else
|
44
|
+
jar("org.jruby:jruby-complete", "${jruby.version}")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
jar("org.jruby.rack:jruby-rack", versions[:jruby_rack]) unless jar?("org.jruby.rack:jruby-rack")
|
49
|
+
|
50
|
+
self.properties = {
|
51
|
+
"jruby.version" => versions[:jruby_version],
|
52
|
+
"jetty.version" => versions[:jetty_plugin],
|
53
|
+
"rails.env" => "development",
|
54
|
+
"gem.includeRubygemsInTestResources" => false
|
55
|
+
}.merge(self.properties)
|
56
|
+
|
57
|
+
plugin(:rails3) do |rails|
|
58
|
+
rails.version = "${jruby.plugins.version}" unless rails.version
|
59
|
+
rails.in_phase(:validate).execute_goal(:initialize)#.goals << "initialize"
|
60
|
+
end
|
61
|
+
|
62
|
+
plugin(:war, versions[:war_plugin]) unless plugin?(:war)
|
63
|
+
plugin(:war) do |w|
|
64
|
+
options = {
|
65
|
+
:webResources => Maven::Model::NamedArray.new(:resource) do |l|
|
66
|
+
l << { :directory => "public" }
|
67
|
+
l << {
|
68
|
+
:directory => ".",
|
69
|
+
:targetPath => "WEB-INF",
|
70
|
+
:includes => ['app/**', 'config/**', 'lib/**', 'vendor/**', 'Gemfile']
|
71
|
+
}
|
72
|
+
l << {
|
73
|
+
:directory => '${gem.path}',
|
74
|
+
:targetPath => 'WEB-INF/gems',
|
75
|
+
:includes => ['gems/**', 'specifications/**']
|
76
|
+
}
|
77
|
+
if plugin(:bundler).dependencies.detect { |d| d.type.to_sym == :gem }
|
78
|
+
l << {
|
79
|
+
:directory => '${gem.path}-bundler-maven-plugin',
|
80
|
+
:targetPath => 'WEB-INF/gems',
|
81
|
+
:includes => ['specifications/**']
|
82
|
+
}
|
83
|
+
end
|
84
|
+
end
|
85
|
+
}
|
86
|
+
options[:webXml] = 'config/web.xml' if File.exists?('config/web.xml') || !File.exists?('src/main/webapp/WEB-INF/web.xml')
|
87
|
+
w.with options
|
88
|
+
end
|
89
|
+
|
90
|
+
profile(:assets).activation.by_default if profiles.key?(:assets)
|
91
|
+
profile(:development).activation.by_default
|
92
|
+
profile(:test).activation.by_default
|
93
|
+
profile(:test).activation.property("rails.env", "test")
|
94
|
+
profile(:production) do |prod|
|
95
|
+
prod.activation.property("rails.env", "production")
|
96
|
+
prod.properties = {
|
97
|
+
"gem.home" => "${project.build.directory}/rubygems-production",
|
98
|
+
"gem.path" => "${project.build.directory}/rubygems-production"
|
99
|
+
}.merge(prod.properties)
|
100
|
+
end
|
101
|
+
|
102
|
+
profile(:war).plugin("org.mortbay.jetty:jetty-maven-plugin",
|
103
|
+
"${jetty.version}")
|
104
|
+
|
105
|
+
profile(:run) do |run|
|
106
|
+
overrideDescriptor = '${project.build.directory}/jetty/override-${rails.env}-web.xml'
|
107
|
+
run.activation.by_default
|
108
|
+
run.plugin("org.mortbay.jetty:jetty-maven-plugin",
|
109
|
+
"${jetty.version}") do |jetty|
|
110
|
+
options = {
|
111
|
+
:webAppConfig => {
|
112
|
+
:overrideDescriptor => overrideDescriptor
|
113
|
+
},
|
114
|
+
:systemProperties => {
|
115
|
+
:systemProperty => {
|
116
|
+
:name => 'jbundle.skip',
|
117
|
+
:value => 'true'
|
118
|
+
}
|
119
|
+
},
|
120
|
+
:connectors => <<-XML
|
121
|
+
|
122
|
+
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
|
123
|
+
<port>8080</port>
|
124
|
+
</connector>
|
125
|
+
<connector implementation="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
|
126
|
+
<port>8443</port>
|
127
|
+
<keystore>${project.basedir}/src/test/resources/server.keystore</keystore>
|
128
|
+
<keyPassword>123456</keyPassword>
|
129
|
+
<password>123456</password>
|
130
|
+
</connector>
|
131
|
+
XML
|
132
|
+
}
|
133
|
+
options[:webXml] = 'config/web.xml' if File.exists?('config/web.xml')
|
134
|
+
jetty.with options
|
135
|
+
end
|
136
|
+
end
|
137
|
+
profile(:warshell) do |exec|
|
138
|
+
exec.plugin_repository('kos').url = 'http://opensource.kantega.no/nexus/content/groups/public/'
|
139
|
+
exec.plugin('org.simplericity.jettyconsole:jetty-console-maven-plugin', '1.42').execution do |jetty|
|
140
|
+
jetty.execute_goal(:createconsole)
|
141
|
+
jetty.configuration.comment <<-TEXT
|
142
|
+
see http://simplericity.com/2009/11/10/1257880778509.html for more info
|
143
|
+
-->
|
144
|
+
<!--
|
145
|
+
<backgroundImage>${basedir}/src/main/jettyconsole/puffin.jpg</backgroundImage>
|
146
|
+
<additionalDependencies>
|
147
|
+
<additionalDependency>
|
148
|
+
<artifactId>jetty-console-winsrv-plugin</artifactId>
|
149
|
+
</additionalDependency>
|
150
|
+
<additionalDependency>
|
151
|
+
<artifactId>jetty-console-requestlog-plugin</artifactId>
|
152
|
+
</additionalDependency>
|
153
|
+
<additionalDependency>
|
154
|
+
<artifactId>jetty-console-log4j-plugin</artifactId>
|
155
|
+
</additionalDependency>
|
156
|
+
<additionalDependency>
|
157
|
+
<artifactId>jetty-console-jettyxml-plugin</artifactId>
|
158
|
+
</additionalDependency>
|
159
|
+
<additionalDependency>
|
160
|
+
<artifactId>jetty-console-ajp-plugin</artifactId>
|
161
|
+
</additionalDependency>
|
162
|
+
<additionalDependency>
|
163
|
+
<artifactId>jetty-console-gzip-plugin</artifactId>
|
164
|
+
</additionalDependency>
|
165
|
+
<additionalDependency>
|
166
|
+
<artifactId>jetty-console-startstop-plugin</artifactId>
|
167
|
+
</additionalDependency>
|
168
|
+
</additionalDependencies>
|
169
|
+
TEXT
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
if $0 == __FILE__
|
178
|
+
proj = Maven::Tools::RailsProject.new
|
179
|
+
proj.load(ARGV[0] || 'Gemfile')
|
180
|
+
proj.load(ARGV[1] || 'Mavenfile')
|
181
|
+
proj.add_defaults
|
182
|
+
puts proj.to_xml
|
183
|
+
end
|