buildr-resolver 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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