jbundler 0.9.1 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a028f5d6b9bc8ed4678c2f5d85226559ac9651cc
4
- data.tar.gz: 2b7a3b9ea68fdc87f825b0804d60f3612b19af7c
2
+ SHA256:
3
+ metadata.gz: 3bf1c75c37037220f7f47c4a02205fcfa814ef8cab027fa45ef111cca5052f9e
4
+ data.tar.gz: dc85176e4dc8239f3cfcdaa9006d7265d62d793fcb930c9269ae5f89e969bee1
5
5
  SHA512:
6
- metadata.gz: 4ae33d191d3bf62976175612a959665bb0f8600c3b7aa32d54fe2607381f95cf71cc1b3251eb4db81327bc11edd5ccc7ead9a20bac6223978f768379bdc8e8fa
7
- data.tar.gz: fcfb318878419c342c29427fb0820d7d84199e260173c6cd40ca2777978ed8a44df879bf134ade1a9536c083b567bfca14aa596eeb8f96cc336ba5a134def957
6
+ metadata.gz: 4663268fac15d1938833a253276280f652a8c82e039d7103100e7132d764e2e6371d27e188fc133d564bc9ef922fb74165da4c1c41d670a0e21e49d6ccdc43e8
7
+ data.tar.gz: eb2d73a9246bb8f5a5b30c967868e73db16eb08aa6717bff993737b5cc65043503410a06f6e8698099abda97d67bd705ba529606940ee22ac3b97642eb15f167
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jbundler (0.9.1)
5
- bundler (~> 1.5)
6
- jar-dependencies (~> 0.2)
7
- maven-tools (~> 1.0.10)
8
- ruby-maven (~> 3.3, >= 3.3.3)
4
+ jbundler (0.9.4)
5
+ bundler (> 1.5, < 3.0.0)
6
+ jar-dependencies (~> 0.3)
7
+ maven-tools (~> 1.1)
8
+ ruby-maven (~> 3.3, >= 3.3.8)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
@@ -19,16 +19,16 @@ GEM
19
19
  descendants_tracker (0.0.4)
20
20
  thread_safe (~> 0.3, >= 0.3.1)
21
21
  equalizer (0.0.11)
22
- ice_nine (0.11.1)
23
- jar-dependencies (0.2.1)
24
- maven-tools (1.0.11)
22
+ ice_nine (0.11.2)
23
+ jar-dependencies (0.4.0)
24
+ maven-tools (1.1.6)
25
25
  virtus (~> 1.0)
26
- minitest (5.8.0)
27
- rake (10.4.2)
28
- ruby-maven (3.3.3)
29
- ruby-maven-libs (~> 3.3.1)
30
- ruby-maven-libs (3.3.3)
31
- thread_safe (0.3.5-java)
26
+ minitest (5.14.0)
27
+ rake (10.5.0)
28
+ ruby-maven (3.3.12)
29
+ ruby-maven-libs (~> 3.3.9)
30
+ ruby-maven-libs (3.3.9)
31
+ thread_safe (0.3.6-java)
32
32
  virtus (1.0.5)
33
33
  axiom-types (~> 0.1)
34
34
  coercible (~> 1.0)
@@ -45,4 +45,4 @@ DEPENDENCIES
45
45
  rake (~> 10.0)
46
46
 
47
47
  BUNDLED WITH
48
- 1.10.6
48
+ 2.1.4
data/Readme.md CHANGED
@@ -1,68 +1,101 @@
1
- # jbundler
1
+ # jbundler
2
2
 
3
- * [![Build Status](https://secure.travis-ci.org/mkristian/jbundler.png)](http://travis-ci.org/mkristian/jbundler) #
3
+ * [![Build Status](https://secure.travis-ci.org/mkristian/jbundler.svg)](http://travis-ci.org/mkristian/jbundler)
4
4
 
5
- manage jar dependencies similar than **bundler** manages gem dependencies.
5
+ Manage jar dependencies similar to how **bundler** manages gem dependencies:
6
6
 
7
7
  * the DSL mimics the one from bundler
8
- * you can use maven like version declaration or rubygems/bundler like version ranges
8
+ * you can use maven-like version declarations or rubygems/bundler version ranges
9
9
  * it locks down the jar versions inside "Jarfile.lock"
10
- * you can declare jar dependency within a gem using the requirements directive of the gem specification. jbundler will include those jar dependencies into its classpath
10
+ * you can declare jar dependencies within a gem using the requirements directive of the gem specification. jbundler will include those jar dependencies into its classpath
11
11
 
12
- the difference to **bundler**
12
+ differences compared to **bundler**
13
13
 
14
- * it is just a development gem - no need for it during runtime. just add ```Jars.require_jars_lock!``` to your code and for older JRuby add ```gem 'jar-dependencies', '~> 0.1.11'``` as runtime dependency.
15
- * you need to run ```bundle install``` first if any of the gems has jar dependencies.
16
- * all one command ```jbundle```, see ```jbundle --help``` on the possible options and how to update a single jar, etc.
14
+ * you need to run ```bundle install``` first if any of the gems have jar dependencies.
15
+ * all one command ```jbundle```, see ```jbundle help``` on the possible options and how to update a single jar, etc.
17
16
 
18
- ## get started
17
+ ## Get started
19
18
 
20
- install JBundler with
19
+ Install JBundler with:
20
+ ```bash
21
+ jruby -S gem install jbundler
22
+ ```
21
23
 
22
- jruby -S gem install jbundler
23
-
24
- first create a **Jarfile**, something like
25
-
26
- jar 'org.yaml:snakeyaml', '1.14'
27
- jar 'org.slf4j:slf4j-simple', '>1.1'
24
+ First, create a **Jarfile**, something like:
25
+ ```bash
26
+ jar 'org.yaml:snakeyaml', '1.14'
27
+ jar 'org.slf4j:slf4j-simple', '>1.1'
28
+ ```
29
+
30
+ Install jar dependencies
31
+ ```bash
32
+ jruby -S jbundle install
33
+ ```
34
+
35
+ Loading the jar files
36
+ ```bash
37
+ require 'jbundler'
38
+ ```
39
+
40
+ It will add all the jar dependencies in the java classpath from the `Jarfile.lock`.
28
41
 
29
42
  ### Jarfile
30
43
 
31
- more info about the **[Jarfile](https://github.com/torquebox/maven-tools/wiki/Jarfile)** and about [versions](https://github.com/torquebox/maven-tools/wiki/Versions).
44
+ More info about the **[Jarfile](https://github.com/torquebox/maven-tools/wiki/Jarfile)** and about [versions](https://github.com/torquebox/maven-tools/wiki/Versions).
32
45
 
33
- for adding a maven repository see [Jarfile](https://github.com/torquebox/maven-tools/wiki/Jarfile).
46
+ For adding a maven repository see [Jarfile](https://github.com/torquebox/maven-tools/wiki/Jarfile).
34
47
 
35
- # Building the jbundler gem
48
+ ## Building the jbundler gem
36
49
 
37
- running the integration test
50
+ Running the integration test
38
51
 
39
- ./mvnw verify
52
+ ```bash
53
+ ./mvnw verify
54
+ ./mvnw clean verify
55
+ ```
56
+ or a single integration test
57
+ ```bash
58
+ ./mvnw verify -Dinvoker.test=running_rspec_via_rake
59
+ ./mvnw clean verify -Dinvoker.test=running_rspec_via_rake
60
+ ```
40
61
 
41
- building the gem (see ./pkg)
62
+ Building the gem (see ./pkg)
63
+ ```bash
64
+ ./mvnw package -Dinvoker.skip
65
+ ```
42
66
 
43
- ./mvnw package -Dinvoker.skip
67
+ Or just
68
+ ```bash
69
+ gem build jbundler.gemspec
70
+ ```
44
71
 
45
- or just
72
+ ## Usage
46
73
 
47
- gem build jbundler.gemspec
74
+ Here is an example usage of the AliasEvent class from the snakeyaml package
48
75
 
49
- ## example ##
76
+ ```ruby
77
+ #test_file.rb
78
+ require 'jbundler'
79
+ require 'java'
50
80
 
51
- *src/example/my_project* has a Gemfile which uses a gem which depends on jar dependency. see *src/example/gem_with_jar/gem_with_jar.gemspec* how the jar gets declared.
81
+ java_import 'org.yaml.snakeyaml.events.AliasEvent'
52
82
 
53
- execute *src/example/my_project/info.rb* to see it in action:
83
+ class TestClass
84
+ def my_method
85
+ puts AliasEvent.methods
86
+ end
87
+ end
54
88
 
55
- cd src/example/my_project
56
- jbundle install
57
- bundle exec info.rb
89
+ TestClass.new.my_method
90
+ ```
58
91
 
59
- ## limitations ##
92
+ ## Limitations
60
93
 
61
- since the version resolution happens in two steps - first the gems then the jars/poms - it is possible in case of a failure that there is a valid gems/jars version resolution which satisfies all version contraints. so there is plenty of space for improvements (like maven could resolve the gems as well, etc)
94
+ Since the version resolution happens in two steps - first the gems, and then the jars/poms - it is possible in case of a failure that there is a valid gems/jars version resolution which satisfies all version contraints. So there is plenty of space for improvements (like maven could resolve the gems as well, etc).
62
95
 
63
- # special thanks #
96
+ ## Special thanks
64
97
 
65
- the whole project actually started with a controversial discussion on a [pull request on bundler](https://github.com/carlhuda/bundler/pull/1683). this very same pull request were the starting point of that project here. probably by now there is no much left of the original code but many thanks to [ANithian](https://github.com/ANithian) for given the seed of that project.
98
+ The whole project actually started with a controversial discussion on a [pull request on bundler](https://github.com/carlhuda/bundler/pull/1683). This very same pull request were the starting point of that project here. Probably by now there is not much left of the original code, but many thanks to [ANithian](https://github.com/ANithian) for giving the seed of that project.
66
99
 
67
100
  License
68
101
  -------
@@ -78,7 +111,7 @@ Contributing
78
111
  4. Push to the branch (`git push origin my-new-feature`)
79
112
  5. Create new Pull Request
80
113
 
81
- meta-fu
114
+ Meta-fu
82
115
  -------
83
116
 
84
- enjoy :)
117
+ enjoy :)
data/lib/jbundler/cli.rb CHANGED
@@ -93,7 +93,7 @@ module JBundler
93
93
  def console
94
94
  # dummy - never executed !!!
95
95
  end
96
-
96
+
97
97
  desc 'lock_down', "first `bundle install` is called and then the jar dependencies will be installed. for more details see `bundle help install`, jbundler will ignore all options. the install command is also the default when no command is given. that is kept as fall back in cases where the new install does not work as before."
98
98
  method_option :deployment, :type => :boolean, :default => false, :desc => "copy the jars into the vendor/jars directory (or as configured). add the vendor/jars $LOAD_PATH and Jars.require_jars_lock! - no need for any jbundler files at runtime !"
99
99
  method_option :no_deployment, :type => :boolean, :default => false, :desc => 'clears the vendored jars'
@@ -123,18 +123,20 @@ module JBundler
123
123
  end
124
124
 
125
125
  desc 'update', "first `bundle update` is called and if there are no options then the jar dependencies will be updated. for more details see `bundle help update`."
126
- method_option :debug, :type => :boolean, :default => false, :desc => 'enable maven debug output (jbundler only).'
126
+ method_option :debug, :type => :boolean, :default => false, :desc => 'enable maven debug output (jbundler only).'
127
127
  method_option :verbose, :type => :boolean, :default => false, :desc => 'enable maven output (jbundler only).'
128
+ method_option :quiet, :type => :boolean
128
129
  def update
129
- return unless ARGV.size == 1
130
-
131
- JBundler::LockDown.new( config ).update( options[ :debug ] ,
132
- options[ :verbose ] )
130
+ msg = JBundler::LockDown.new( config ).update( options[ :debug ] ,
131
+ options[ :verbose ] )
133
132
 
134
133
  config.verbose = ! options[ :quiet ]
135
134
  Show.new( config ).show_classpath
136
- puts ''
137
- puts 'Your jbundle is updated! Use `jbundle show` to see where the bundled jars are installed.'
135
+ unless options[ :quiet ]
136
+ puts ''
137
+ puts 'Your jbundle is updated! Use `jbundle show` to see where the bundled jars are installed.'
138
+ end
139
+ puts msg if msg
138
140
  end
139
141
 
140
142
  desc 'show', "first `bundle show` is called and if there are no options then the jar dependencies will be displayed. for more details see `bundle help show`."
@@ -23,7 +23,7 @@ module JBundler
23
23
 
24
24
  def update( debug = false, verbose = false )
25
25
  if vendor.vendored?
26
- raise 'can not update vendored jars'
26
+ raise 'Cannot update vendored jars'
27
27
  end
28
28
 
29
29
  FileUtils.rm_f( @config.jarfile_lock )
@@ -58,7 +58,7 @@ module JBundler
58
58
  end
59
59
  ['jbundler.rb', 'jbundle.rb'].each do |filename|
60
60
  File.write( File.join( @dir, filename ),
61
- "ENV['JARS_LOCK'] = File.join( File.dirname( __FILE__ ), 'Jars.lock' )\nrequire 'jars/setup" )
61
+ "ENV['JARS_LOCK'] = File.join( File.dirname( __FILE__ ), 'Jars.lock' )\nrequire 'jars/setup'" )
62
62
  end
63
63
  end
64
64
 
data/spec/config_spec.rb CHANGED
@@ -35,7 +35,7 @@ describe JBundler::Config do
35
35
  c.jarfile.must_equal File.join( basedir, 'spec', 'Jarfile' )
36
36
  c.gemfile.must_equal File.join( basedir, 'spec', 'Gemfile' )
37
37
  c.skip.must_equal nil
38
- c.settings.must_equal "./.m2/settings.xml"
38
+ c.settings.must_equal File.expand_path("settings.xml")
39
39
  c.offline.must_equal false
40
40
  c.work_dir.must_equal File.join( basedir, 'spec','pkg' )
41
41
  c.vendor_dir.must_equal File.join( basedir, 'spec', 'vendor', 'jars' )
@@ -138,7 +138,8 @@ describe JBundler::Config do
138
138
  c.jarfile.must_equal File.join( pdir, 'JarFile' )
139
139
  c.gemfile.must_equal File.join( pdir, 'GemFile' )
140
140
  c.skip.must_equal false
141
- c.settings.must_equal File.join( pdir, 'Settings.xml' )
141
+ # names are case insensitive
142
+ c.settings.downcase.must_equal File.join( pdir, 'Settings.xml' ).downcase
142
143
  c.offline.must_equal true
143
144
  c.work_dir.must_equal File.join( pdir, 'pkg/work' )
144
145
  c.vendor_dir.must_equal File.join( pdir, 'vendor/localjars' )
File without changes
metadata CHANGED
@@ -1,107 +1,115 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jbundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Meier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-08 00:00:00.000000000 Z
11
+ date: 2022-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: maven-tools
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - ~>
17
+ - - "~>"
17
18
  - !ruby/object:Gem::Version
18
- version: 1.0.10
19
- name: maven-tools
20
- prerelease: false
19
+ version: '1.1'
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.10
26
+ version: '1.1'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: ruby-maven
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
33
  version: '3.3'
33
- - - '>='
34
+ - - ">="
34
35
  - !ruby/object:Gem::Version
35
- version: 3.3.3
36
- name: ruby-maven
37
- prerelease: false
36
+ version: 3.3.8
38
37
  type: :runtime
38
+ prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ~>
41
+ - - "~>"
42
42
  - !ruby/object:Gem::Version
43
43
  version: '3.3'
44
- - - '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 3.3.3
46
+ version: 3.3.8
47
47
  - !ruby/object:Gem::Dependency
48
+ name: bundler
48
49
  requirement: !ruby/object:Gem::Requirement
49
50
  requirements:
50
- - - ~>
51
+ - - ">"
51
52
  - !ruby/object:Gem::Version
52
53
  version: '1.5'
53
- name: bundler
54
- prerelease: false
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 3.0.0
55
57
  type: :runtime
58
+ prerelease: false
56
59
  version_requirements: !ruby/object:Gem::Requirement
57
60
  requirements:
58
- - - ~>
61
+ - - ">"
59
62
  - !ruby/object:Gem::Version
60
63
  version: '1.5'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: 3.0.0
61
67
  - !ruby/object:Gem::Dependency
68
+ name: jar-dependencies
62
69
  requirement: !ruby/object:Gem::Requirement
63
70
  requirements:
64
- - - ~>
71
+ - - "~>"
65
72
  - !ruby/object:Gem::Version
66
- version: '0.2'
67
- name: jar-dependencies
68
- prerelease: false
73
+ version: '0.3'
69
74
  type: :runtime
75
+ prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
- - - ~>
78
+ - - "~>"
73
79
  - !ruby/object:Gem::Version
74
- version: '0.2'
80
+ version: '0.3'
75
81
  - !ruby/object:Gem::Dependency
82
+ name: rake
76
83
  requirement: !ruby/object:Gem::Requirement
77
84
  requirements:
78
- - - ~>
85
+ - - "~>"
79
86
  - !ruby/object:Gem::Version
80
87
  version: '10.0'
81
- name: rake
82
- prerelease: false
83
88
  type: :development
89
+ prerelease: false
84
90
  version_requirements: !ruby/object:Gem::Requirement
85
91
  requirements:
86
- - - ~>
92
+ - - "~>"
87
93
  - !ruby/object:Gem::Version
88
94
  version: '10.0'
89
95
  - !ruby/object:Gem::Dependency
96
+ name: minitest
90
97
  requirement: !ruby/object:Gem::Requirement
91
98
  requirements:
92
- - - ~>
99
+ - - "~>"
93
100
  - !ruby/object:Gem::Version
94
101
  version: '5.3'
95
- name: minitest
96
- prerelease: false
97
102
  type: :development
103
+ prerelease: false
98
104
  version_requirements: !ruby/object:Gem::Requirement
99
105
  requirements:
100
- - - ~>
106
+ - - "~>"
101
107
  - !ruby/object:Gem::Version
102
108
  version: '5.3'
103
- description: |
104
- managing jar dependencies with or without bundler. adding bundler like handling of version ranges for jar dependencies.
109
+ description: 'managing jar dependencies with or without bundler. adding bundler like
110
+ handling of version ranges for jar dependencies.
111
+
112
+ '
105
113
  email:
106
114
  - m.kristian@web.de
107
115
  executables:
@@ -135,6 +143,7 @@ files:
135
143
  - spec/classpath_file_spec.rb
136
144
  - spec/config_spec.rb
137
145
  - spec/pom_spec.rb
146
+ - spec/project/Settings.xml
138
147
  - spec/project/settings.xml
139
148
  - spec/setup.rb
140
149
  - spec/vendor_spec.rb
@@ -148,17 +157,16 @@ require_paths:
148
157
  - lib
149
158
  required_ruby_version: !ruby/object:Gem::Requirement
150
159
  requirements:
151
- - - '>='
160
+ - - ">="
152
161
  - !ruby/object:Gem::Version
153
162
  version: '0'
154
163
  required_rubygems_version: !ruby/object:Gem::Requirement
155
164
  requirements:
156
- - - '>='
165
+ - - ">="
157
166
  - !ruby/object:Gem::Version
158
167
  version: '0'
159
168
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.4.8
169
+ rubygems_version: 3.2.22
162
170
  signing_key:
163
171
  specification_version: 4
164
172
  summary: managing jar dependencies