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