buildr-resolver 0.3.0 → 0.3.1

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/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "naether", "0.3.0"
3
+ gem "naether", "0.3.1"
4
4
  gem "buildr", ">= 1.4.4"
5
5
 
6
6
  group :development do
data/Gemfile.lock CHANGED
@@ -49,9 +49,9 @@ GEM
49
49
  bouncy-castle-java
50
50
  json_pure (1.4.3)
51
51
  minitar (0.5.3)
52
- naether (0.3.0)
52
+ naether (0.3.1)
53
53
  rjb (= 1.3.3)
54
- naether (0.3.0-java)
54
+ naether (0.3.1-java)
55
55
  net-sftp (2.0.4)
56
56
  net-ssh (>= 2.0.9)
57
57
  net-ssh (2.0.23)
@@ -71,5 +71,5 @@ DEPENDENCIES
71
71
  buildr (>= 1.4.4)
72
72
  bundler (~> 1.0.0)
73
73
  jeweler (~> 1.5.2)
74
- naether (= 0.3.0)
74
+ naether (= 0.3.1)
75
75
  rspec (~> 1.3.1)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{buildr-resolver}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Guymon"]
12
- s.date = %q{2011-03-03}
12
+ s.date = %q{2011-03-08}
13
13
  s.description = %q{Java dependency resolver for Buildr using Maven's Aether}
14
14
  s.email = %q{michael.guymon@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -25,36 +25,38 @@ Gem::Specification.new do |s|
25
25
  "VERSION",
26
26
  "buildr-resolver.gemspec",
27
27
  "lib/buildr/resolver.rb",
28
+ "lib/buildr/resolver/java.rb",
28
29
  "spec/resolver_spec.rb"
29
30
  ]
30
31
  s.homepage = %q{http://github.com/mguymon/buildr-resolver}
31
32
  s.licenses = ["Apache"]
32
33
  s.require_paths = ["lib"]
33
34
  s.rubyforge_project = %q{buildr-resolver}
34
- s.rubygems_version = %q{1.5.2}
35
+ s.rubygems_version = %q{1.3.7}
35
36
  s.summary = %q{Java dependency resolver for Buildr using Maven's Aether}
36
37
  s.test_files = [
37
38
  "spec/resolver_spec.rb"
38
39
  ]
39
40
 
40
41
  if s.respond_to? :specification_version then
42
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
41
43
  s.specification_version = 3
42
44
 
43
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
44
- s.add_runtime_dependency(%q<naether>, ["= 0.3.0"])
46
+ s.add_runtime_dependency(%q<naether>, ["= 0.3.1"])
45
47
  s.add_runtime_dependency(%q<buildr>, [">= 1.4.4"])
46
48
  s.add_development_dependency(%q<rspec>, ["~> 1.3.1"])
47
49
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
50
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
49
51
  else
50
- s.add_dependency(%q<naether>, ["= 0.3.0"])
52
+ s.add_dependency(%q<naether>, ["= 0.3.1"])
51
53
  s.add_dependency(%q<buildr>, [">= 1.4.4"])
52
54
  s.add_dependency(%q<rspec>, ["~> 1.3.1"])
53
55
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
54
56
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
55
57
  end
56
58
  else
57
- s.add_dependency(%q<naether>, ["= 0.3.0"])
59
+ s.add_dependency(%q<naether>, ["= 0.3.1"])
58
60
  s.add_dependency(%q<buildr>, [">= 1.4.4"])
59
61
  s.add_dependency(%q<rspec>, ["~> 1.3.1"])
60
62
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -1,20 +1,13 @@
1
1
  require 'rubygems'
2
2
  require 'naether'
3
+ require "#{File.dirname(__FILE__)}/resolver/java"
3
4
 
4
5
  module Buildr
5
6
  module Resolver
6
7
  class << self
7
8
 
8
- def resolver_dependencies
9
- Naether.bootstrap_dependencies
10
- end
11
-
12
- def resolve( dependencies )
13
- # Load Naether jar dependencies
14
- naether_jars = [Naether::Bootstrap.naether_jar]
15
- naether_jars = naether_jars + Buildr.artifacts(resolver_dependencies).each(&:invoke).map(&:to_s)
16
-
17
- naether = Naether.create_from_jars( naether_jars )
9
+ def resolve( dependencies, excludes=[] )
10
+ naether = Naether.create_from_jars( Buildr::Resolver::Java.instance.jar_dependencies )
18
11
  if Buildr.repositories.remote.size > 0
19
12
  naether.clear_remote_repositories
20
13
  Buildr.repositories.remote.each do |repo|
@@ -27,7 +20,22 @@ module Buildr
27
20
  naether.dependencies = dependencies
28
21
  naether.resolve_dependencies( false )
29
22
 
30
- naether.dependencies
23
+ dependences = naether.dependencies
24
+
25
+ unless excludes.nil?
26
+ unless excludes.is_a? Array
27
+ excludes = [excludes]
28
+ end
29
+
30
+ dependences.delete_if do |dep|
31
+ excludes.select { |exclude| dep =~ /^#{exclude}/ }.size > 0
32
+ end
33
+ end
34
+ end
35
+
36
+ def deploy_artifact( notation, file_path, url, opts = {} )
37
+ naether = Naether.create_from_jars( Buildr::Resolver::Java.instance.jar_dependencies )
38
+ naether.deploy_artifact( notation, file_path, url )
31
39
  end
32
40
  end
33
41
  end
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'naether'
3
+ require 'singleton'
4
+
5
+ module Buildr
6
+ module Resolver
7
+ class Java
8
+ include Singleton
9
+
10
+ def initialize
11
+ # Load Naether jar dependencies
12
+ @naether_jars = [Naether::Bootstrap.naether_jar]
13
+ @naether_jars = @naether_jars + Buildr.artifacts(Naether.bootstrap_dependencies).each(&:invoke).map(&:to_s)
14
+ end
15
+
16
+ def jar_dependencies
17
+ @naether_jars
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,6 @@
1
1
  require 'lib/buildr/resolver'
2
2
  require 'buildr'
3
+ require 'fileutils'
3
4
 
4
5
  Buildr.application.instance_eval { @rakefile = File.expand_path('buildfile') }
5
6
 
@@ -10,5 +11,25 @@ describe Buildr::Resolver do
10
11
 
11
12
  dependencies.should eql ["ch.qos.logback:logback-classic:jar:0.9.24", "ch.qos.logback:logback-core:jar:0.9.24", "org.slf4j:slf4j-api:jar:1.6.0"]
12
13
  end
14
+
15
+ it "should resolve dependencies with exclusions" do
16
+ dependencies = Buildr::Resolver.resolve( ['ch.qos.logback:logback-classic:jar:0.9.24'], ['ch.qos.logback:logback-classic'] )
17
+ dependencies.should eql ["ch.qos.logback:logback-core:jar:0.9.24", "org.slf4j:slf4j-api:jar:1.6.0"]
18
+
19
+ dependencies = Buildr::Resolver.resolve( ['ch.qos.logback:logback-classic:jar:0.9.24'], ['org.slf4j'] )
20
+ dependencies.should eql ["ch.qos.logback:logback-classic:jar:0.9.24","ch.qos.logback:logback-core:jar:0.9.24"]
21
+
22
+ dependencies = Buildr::Resolver.resolve( ['ch.qos.logback:logback-classic:jar:0.9.24'], ['ch.qos.logback:logback-classic:jar:0.9.24', 'ch.qos.logback:logback-core:jar:0.9.24'] )
23
+ dependencies.should eql ["org.slf4j:slf4j-api:jar:1.6.0"]
24
+ end
25
+
26
+ it "should deploy artifact" do
27
+ unless File.exists? 'tmp/test-repo'
28
+ FileUtils::mkdir_p 'tmp/test-repo'
29
+ end
30
+
31
+ Buildr::Resolver.deploy_artifact( "test:test:jar:1.12", Naether::Bootstrap.naether_jar, 'file:tmp/test-repo' )
32
+ File.exists?('tmp/test-repo/test/test/1.12/test-1.12.jar').should be_true
33
+ end
13
34
  end
14
35
  end
metadata CHANGED
@@ -1,73 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildr-resolver
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.3.0
4
+ hash: 17
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 1
10
+ version: 0.3.1
6
11
  platform: ruby
7
12
  authors:
8
- - Michael Guymon
13
+ - Michael Guymon
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-03-03 00:00:00 -05:00
18
+ date: 2011-03-08 00:00:00 -05:00
14
19
  default_executable:
15
20
  dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: naether
18
- version_requirements: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - "="
22
- - !ruby/object:Gem::Version
23
- version: 0.3.0
24
- requirement: *id001
25
- prerelease: false
26
- type: :runtime
27
- - !ruby/object:Gem::Dependency
28
- name: buildr
29
- version_requirements: &id002 !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: 1.4.4
35
- requirement: *id002
36
- prerelease: false
37
- type: :runtime
38
- - !ruby/object:Gem::Dependency
39
- name: rspec
40
- version_requirements: &id003 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 1.3.1
46
- requirement: *id003
47
- prerelease: false
48
- type: :development
49
- - !ruby/object:Gem::Dependency
50
- name: bundler
51
- version_requirements: &id004 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ~>
55
- - !ruby/object:Gem::Version
56
- version: 1.0.0
57
- requirement: *id004
58
- prerelease: false
59
- type: :development
60
- - !ruby/object:Gem::Dependency
61
- name: jeweler
62
- version_requirements: &id005 !ruby/object:Gem::Requirement
63
- none: false
64
- requirements:
65
- - - ~>
66
- - !ruby/object:Gem::Version
67
- version: 1.5.2
68
- requirement: *id005
69
- prerelease: false
70
- type: :development
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: naether
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - "="
28
+ - !ruby/object:Gem::Version
29
+ hash: 17
30
+ segments:
31
+ - 0
32
+ - 3
33
+ - 1
34
+ version: 0.3.1
35
+ requirement: *id001
36
+ type: :runtime
37
+ - !ruby/object:Gem::Dependency
38
+ prerelease: false
39
+ name: buildr
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 15
46
+ segments:
47
+ - 1
48
+ - 4
49
+ - 4
50
+ version: 1.4.4
51
+ requirement: *id002
52
+ type: :runtime
53
+ - !ruby/object:Gem::Dependency
54
+ prerelease: false
55
+ name: rspec
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 25
62
+ segments:
63
+ - 1
64
+ - 3
65
+ - 1
66
+ version: 1.3.1
67
+ requirement: *id003
68
+ type: :development
69
+ - !ruby/object:Gem::Dependency
70
+ prerelease: false
71
+ name: bundler
72
+ version_requirements: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 23
78
+ segments:
79
+ - 1
80
+ - 0
81
+ - 0
82
+ version: 1.0.0
83
+ requirement: *id004
84
+ type: :development
85
+ - !ruby/object:Gem::Dependency
86
+ prerelease: false
87
+ name: jeweler
88
+ version_requirements: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ hash: 7
94
+ segments:
95
+ - 1
96
+ - 5
97
+ - 2
98
+ version: 1.5.2
99
+ requirement: *id005
100
+ type: :development
71
101
  description: Java dependency resolver for Buildr using Maven's Aether
72
102
  email: michael.guymon@gmail.com
73
103
  executables: []
@@ -75,48 +105,52 @@ executables: []
75
105
  extensions: []
76
106
 
77
107
  extra_rdoc_files:
78
- - LICENSE
79
- - README.rdoc
108
+ - LICENSE
109
+ - README.rdoc
80
110
  files:
81
- - Gemfile
82
- - Gemfile.lock
83
- - LICENSE
84
- - README.rdoc
85
- - Rakefile
86
- - VERSION
87
- - buildr-resolver.gemspec
88
- - lib/buildr/resolver.rb
89
- - spec/resolver_spec.rb
111
+ - Gemfile
112
+ - Gemfile.lock
113
+ - LICENSE
114
+ - README.rdoc
115
+ - Rakefile
116
+ - VERSION
117
+ - buildr-resolver.gemspec
118
+ - lib/buildr/resolver.rb
119
+ - lib/buildr/resolver/java.rb
120
+ - spec/resolver_spec.rb
90
121
  has_rdoc: true
91
122
  homepage: http://github.com/mguymon/buildr-resolver
92
123
  licenses:
93
- - Apache
124
+ - Apache
94
125
  post_install_message:
95
126
  rdoc_options: []
96
127
 
97
128
  require_paths:
98
- - lib
129
+ - lib
99
130
  required_ruby_version: !ruby/object:Gem::Requirement
100
131
  none: false
101
132
  requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- hash: 2
105
- segments:
106
- - 0
107
- version: "0"
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ hash: 3
136
+ segments:
137
+ - 0
138
+ version: "0"
108
139
  required_rubygems_version: !ruby/object:Gem::Requirement
109
140
  none: false
110
141
  requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: "0"
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ hash: 3
145
+ segments:
146
+ - 0
147
+ version: "0"
114
148
  requirements: []
115
149
 
116
150
  rubyforge_project: buildr-resolver
117
- rubygems_version: 1.5.2
151
+ rubygems_version: 1.3.7
118
152
  signing_key:
119
153
  specification_version: 3
120
154
  summary: Java dependency resolver for Buildr using Maven's Aether
121
155
  test_files:
122
- - spec/resolver_spec.rb
156
+ - spec/resolver_spec.rb