lib/ruby_maven.rb in ruby-maven-3.1.1.0.11 vs lib/ruby_maven.rb in ruby-maven-3.3.0.dev
- old
+ new
@@ -16,6 +16,41 @@
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
+require 'maven'
require 'maven/ruby/maven'
+
+module RubyMaven
+
+ def self.exec( *args )
+ if args.member?('-version') or args.member?('--version') or args.member?('-v')
+ puts "Polyglot Maven Extension #{POLYGLOT_VERSION}\n"
+ launch( '--version' )
+ elsif defined? Bundler
+ # it can be switching from ruby to jruby with invoking maven
+ # just keep it clean
+ Bundler.with_clean_env do
+ launch( *args )
+ end
+ else
+ launch( *args )
+ end
+ end
+
+ def self.dir
+ @dir ||= File.expand_path( '../../', __FILE__ )
+ end
+
+ def self.launch( *args )
+ Dir.chdir( dir ) do
+ Maven.exec( *args )
+ end
+ end
+
+ POLYGLOT_VERSION = begin
+ xml = File.read( File.join( dir, '.mvn/extensions.xml' ) )
+ xml.sub( /.*<version>/m, '' ).sub(/<\/version>.*/m, '' )
+
+ end
+end