maven_pom 0.0.1 → 0.0.2
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/README.md +9 -7
- data/lib/maven_pom.rb +4 -0
- data/lib/maven_pom/pom.rb +20 -0
- data/lib/maven_pom/version.rb +1 -1
- data/spec/fixtures/child.xml +1 -2
- data/spec/fixtures/pom.xml +4 -0
- data/spec/pom_spec.rb +6 -1
- metadata +59 -75
data/README.md
CHANGED
@@ -24,15 +24,17 @@ Or install it yourself as:
|
|
24
24
|
|
25
25
|
## Usage
|
26
26
|
|
27
|
-
|
27
|
+
```ruby
|
28
|
+
pom = MavenPom.from("path/to/some/pom.xml")
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
pom.packaging #=> "pom"
|
31
|
+
pom.parent #=> "com.example:parent"
|
32
|
+
pom.key #=> "com.example:this"
|
33
|
+
pom.dependencies #=> ["com.example:foo", "com.example:bar"]
|
33
34
|
|
34
|
-
|
35
|
-
|
35
|
+
# topological sort - should roughly match e.g. reactor order
|
36
|
+
MavenPom.sort [pom1, pom2, pom3]
|
37
|
+
```
|
36
38
|
|
37
39
|
|
38
40
|
## Contributing
|
data/lib/maven_pom.rb
CHANGED
data/lib/maven_pom/pom.rb
CHANGED
@@ -5,6 +5,8 @@ module MavenPom
|
|
5
5
|
def initialize(str, uri)
|
6
6
|
@pom = Nokogiri.XML(str)
|
7
7
|
@uri = uri
|
8
|
+
|
9
|
+
MavenPom.all[key] = self
|
8
10
|
end
|
9
11
|
|
10
12
|
def as_json(opts = nil)
|
@@ -20,6 +22,10 @@ module MavenPom
|
|
20
22
|
as_json.to_json(*args)
|
21
23
|
end
|
22
24
|
|
25
|
+
def inspect
|
26
|
+
"#<MavenPom::Pom:0x%x key=%s name=%s parent=%s>" % [object_id << 1, key.inspect, name.inspect, parent.inspect]
|
27
|
+
end
|
28
|
+
|
23
29
|
def packaging
|
24
30
|
@pom.css("project > packaging").text
|
25
31
|
end
|
@@ -56,6 +62,10 @@ module MavenPom
|
|
56
62
|
gid
|
57
63
|
end
|
58
64
|
|
65
|
+
def parent_pom
|
66
|
+
MavenPom.all[parent]
|
67
|
+
end
|
68
|
+
|
59
69
|
def artifact_id
|
60
70
|
@pom.css("project > artifactId").text
|
61
71
|
end
|
@@ -70,6 +80,16 @@ module MavenPom
|
|
70
80
|
end
|
71
81
|
end
|
72
82
|
|
83
|
+
def properties
|
84
|
+
props = {}
|
85
|
+
|
86
|
+
@pom.css("project > properties > *").each do |element|
|
87
|
+
props[element.name] = element.inner_text
|
88
|
+
end
|
89
|
+
|
90
|
+
props
|
91
|
+
end
|
92
|
+
|
73
93
|
def dependency_name_from(node)
|
74
94
|
gid = node.css("groupId").text
|
75
95
|
aid = node.css("artifactId").text
|
data/lib/maven_pom/version.rb
CHANGED
data/spec/fixtures/child.xml
CHANGED
@@ -6,10 +6,9 @@
|
|
6
6
|
|
7
7
|
<parent>
|
8
8
|
<groupId>com.example</groupId>
|
9
|
-
<artifactId>
|
9
|
+
<artifactId>example</artifactId>
|
10
10
|
</parent>
|
11
11
|
|
12
|
-
<groupId>com.example</groupId>
|
13
12
|
<artifactId>child</artifactId>
|
14
13
|
<version>1.0.0</version>
|
15
14
|
<packaging>pom</packaging>
|
data/spec/fixtures/pom.xml
CHANGED
data/spec/pom_spec.rb
CHANGED
@@ -19,7 +19,8 @@ module MavenPom
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "knows the module's parent" do
|
22
|
-
child_module.parent.should ==
|
22
|
+
child_module.parent.should == pom_module.key
|
23
|
+
child_module.parent_pom.should == pom_module
|
23
24
|
end
|
24
25
|
|
25
26
|
it "knows the module's build plugins" do
|
@@ -43,5 +44,9 @@ module MavenPom
|
|
43
44
|
it "has a key" do
|
44
45
|
war_module.key.should == "com.example:example-war"
|
45
46
|
end
|
47
|
+
|
48
|
+
it "can get the pom's properties" do
|
49
|
+
pom_module.properties.should == {'version.jdk' => '1.7'}
|
50
|
+
end
|
46
51
|
end
|
47
52
|
end
|
metadata
CHANGED
@@ -1,79 +1,71 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: maven_pom
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Jari Bakken
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2012-09-03 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: nokogiri
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
18
|
+
requirements:
|
25
19
|
- - ~>
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
hash: 3
|
28
|
-
segments:
|
29
|
-
- 1
|
30
|
-
- 5
|
31
|
-
- 0
|
20
|
+
- !ruby/object:Gem::Version
|
32
21
|
version: 1.5.0
|
33
|
-
prerelease: false
|
34
|
-
name: nokogiri
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
22
|
type: :runtime
|
38
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
25
|
none: false
|
40
|
-
requirements:
|
26
|
+
requirements:
|
41
27
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
- 0
|
46
|
-
- 4
|
47
|
-
- 0
|
48
|
-
version: 0.4.0
|
49
|
-
prerelease: false
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.5.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
50
31
|
name: rgl
|
51
|
-
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
type: :development
|
54
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
55
33
|
none: false
|
56
|
-
requirements:
|
34
|
+
requirements:
|
57
35
|
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
|
61
|
-
- 2
|
62
|
-
- 0
|
63
|
-
version: "2.0"
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.4.0
|
38
|
+
type: :runtime
|
64
39
|
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.4.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
65
47
|
name: rspec
|
66
|
-
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.0'
|
67
62
|
description: Tiny library to work with Maven's pom.xml files from Ruby.
|
68
|
-
email:
|
63
|
+
email:
|
69
64
|
- jari.bakken@finn.no
|
70
65
|
executables: []
|
71
|
-
|
72
66
|
extensions: []
|
73
|
-
|
74
67
|
extra_rdoc_files: []
|
75
|
-
|
76
|
-
files:
|
68
|
+
files:
|
77
69
|
- .gitignore
|
78
70
|
- .travis.yml
|
79
71
|
- Gemfile
|
@@ -94,41 +86,33 @@ files:
|
|
94
86
|
- spec/spec_helper.rb
|
95
87
|
homepage: http://github.com/finn-no/maven_pom
|
96
88
|
licenses: []
|
97
|
-
|
98
89
|
post_install_message:
|
99
90
|
rdoc_options: []
|
100
|
-
|
101
|
-
require_paths:
|
91
|
+
require_paths:
|
102
92
|
- lib
|
103
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
104
94
|
none: false
|
105
|
-
requirements:
|
106
|
-
- -
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
|
109
|
-
|
110
|
-
- 0
|
111
|
-
version: "0"
|
112
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
100
|
none: false
|
114
|
-
requirements:
|
115
|
-
- -
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
118
|
-
segments:
|
119
|
-
- 0
|
120
|
-
version: "0"
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
121
105
|
requirements: []
|
122
|
-
|
123
106
|
rubyforge_project:
|
124
|
-
rubygems_version: 1.8.
|
107
|
+
rubygems_version: 1.8.24
|
125
108
|
signing_key:
|
126
109
|
specification_version: 3
|
127
110
|
summary: Tiny library to work with Maven's pom.xml files from Ruby.
|
128
|
-
test_files:
|
111
|
+
test_files:
|
129
112
|
- spec/fixtures/child.xml
|
130
113
|
- spec/fixtures/pom.xml
|
131
114
|
- spec/fixtures/war.xml
|
132
115
|
- spec/pom_spec.rb
|
133
116
|
- spec/sorter_spec.rb
|
134
117
|
- spec/spec_helper.rb
|
118
|
+
has_rdoc:
|