On Tue, Mar 27, 2012 at 10:26 PM, Rodrigo Rosenfeld Rosas
<rr.ro...@gmail.com> wrote:
> That may seem like a small project for you that already knows about all
> internals for writing such project, but this is not trivial to me.
>
> I don't even know how to make Maven resolve my gem dependencies.
>

you can use 
https://github.com/torquebox/jruby-maven-plugins/tree/master/gem-maven-plugin/
which comes basically from me.

regards,
Kristian

> Em 27-03-2012 13:52, kristian escreveu:
>
>> hi again,
>>
>> after so much writing and hoping to make myself understood.
>>
>> actually it seems like a small project.
>>
>> given a Gemfile like
>>
>> jar 'xerces'
>> jar 'xalan'
>>
>> make a "pom" out of it.let maven/aether resolve the deps. locked the
>> versions of the above two  jars and use the rest to build up the
>> classpath with jruby.
>>
>> :))
>>
>> regards,
>> Kristian
>> On Tue, Mar 27, 2012 at 10:07 PM, kristian<m.krist...@web.de>  wrote:
>>>
>>> hi Rodrigo,
>>>
>>> I think it should be no problem to have something like
>>>
>>> jar "xerces"
>>>
>>> in your Gemfile or Mavenfile and let bundler fix the version for it.
>>> my concern is after fixing of all the version of xerces, xalan, etc
>>> then transitive dependency must come from a maven deps resolution.
>>>
>>> that is easy to achieve, all the code does already exists you just
>>> need to cherry pick things.
>>>
>>> with regards,
>>> Kristian
>>>
>>>
>>> On Tue, Mar 27, 2012 at 9:59 PM, kristian<m.krist...@web.de>  wrote:
>>>>
>>>> On Tue, Mar 27, 2012 at 9:43 PM, Rodrigo Rosenfeld Rosas
>>>> <rr.ro...@gmail.com>  wrote:
>>>>>
>>>>> Em 27-03-2012 13:02, kristian escreveu:
>>>>>
>>>>>> On Tue, Mar 27, 2012 at 9:09 PM, Rodrigo Rosenfeld Rosas
>>>>>> <rr.ro...@gmail.com>    wrote:
>>>>>>>
>>>>>>> Here is my point of view about this subject.
>>>>>>>
>>>>>>> We're comparing different things here.
>>>>>>>
>>>>>>> RubyGems can be compared to Maven but I don't think Bundler has
>>>>>>> anything
>>>>>>> similar in other languages I know about.
>>>>>>>
>>>>>>> Bundler will generate a Gemfile.lock that will assure that the exact
>>>>>>> dependencies versions can be replicated in other environments.
>>>>>>>
>>>>>> unless you use version ranges which are there for quite some time in
>>>>>> maven, there is no need for Gemfile.lock
>>>>>
>>>>>
>>>>> Here is how I think about it. When I specify on Gemfile that my
>>>>> software
>>>>> depends on 'nokogiri', it means I don't care which version as long it
>>>>> works.
>>>>>
>>>>> When I specify some specific version, it means I explicitly know that I
>>>>> want
>>>>> that version, but this usually doesn't happen.
>>>>>
>>>>> Then Bundler will remember what are the exact versions of the gems that
>>>>> worked for me when I developed my application.
>>>>>
>>>>> I don't see any issues with that, but I wouldn't like to manage my
>>>>> dependencies versions manually as it doesn't make sense to me.
>>>>>
>>>>>
>>>>>>> Until recently Maven didn't support adding dependencies like '>= 1.2'
>>>>>>> like
>>>>>>> RubyGems supported.
>>>>>>
>>>>>> [1.2,)
>>>>>>
>>>>>> works already with maven2.
>>>>>
>>>>>
>>>>> Yes, I know, that is why I've said "until recently",
>>>>>
>>>>>
>>>>>>  even the rubygems default [0,) is possible.
>>>>>> that is why the mapping from rubygems to maven works recently well,
>>>>>> since you can map (almost) rubygems version to maven and resolve them
>>>>>> in rubygems manner.
>>>>>>
>>>>>>> Now it supports but I still believe there is no such
>>>>>>> tool like Bundler for Maven yet.
>>>>>>>
>>>>>> maven discouraged the use of version ranges because it breaks things
>>>>>> over
>>>>>> time.
>>>>>
>>>>>
>>>>> That is because they don't have a tool like Bundler, so they suffer
>>>>> from the
>>>>> same problems as RubyGems.
>>>>>
>>>>>
>>>>>>> So we shouldn't be comparing different tools as if they were the same
>>>>>>> thing.
>>>>>>> Bundler is quite different from Maven for us to compare them both.
>>>>>>> Maven
>>>>>>> can
>>>>>>> be compared to RubyGems and in fact JRuby RubyGems already was
>>>>>>> patched to
>>>>>>> support installing Maven artifacts as Ruby gems.
>>>>>>
>>>>>> which suffers exactly what I tried to say in my first comment, it can
>>>>>> not and will never be able to install ALL maven artifacts. rubygems
>>>>>> and bundler uses version ranges and try to find a set of version which
>>>>>> obeys any such version constraints.
>>>>>
>>>>>
>>>>> Which seems like a correct and logical approach to me.
>>>>>
>>>>>
>>>>>>  BUT maven version resolution does
>>>>>> this with only version ranges but any "fixed" version is resolved
>>>>>> differently.
>>>>>
>>>>>
>>>>> Which seems wrong to me. If I specify a fixed version I want it to be
>>>>> fixed
>>>>> and I'd like to be reported if that is not possible instead of trying
>>>>> to get
>>>>> a best guess.
>>>>>
>>>> no it is not a guess, it is the version closer to the root which gets
>>>> taken. and you are not in a position to change that but that is what
>>>> people are using.
>>>>
>>>>>> actually you can not install the jruby maven artifact with that jruby
>>>>>> maven gem support !!!!
>>>>>>
>>>>>> what about parent pom, i.e. hierachies of poms. or import dependencies
>>>>>> from other poms ? even IVY is not able to do the job right with maven
>>>>>> pom, which was recently on the jruby-users list.
>>>>>
>>>>>
>>>>> We don't need to fix all corner cases in the first moment. We will be
>>>>> able
>>>>> to handle 80% of the Maven dependencies without getting into corner
>>>>> cases
>>>>> handler. We can discuss about them later I guess.
>>>>>
>>>> since even jruby uses maven for the jruby maven gems, you have already
>>>> mixed environment and you will need to get the poms resolved into the
>>>> "effective pom" before you can use it in anyways. and mapping it onto
>>>> rubygems version ranges is a mess I did do it for quite some time now
>>>> with that maven-gems support of jruby and decided not to continue
>>>> since it will remain a big mess.
>>>>
>>>> aether is meant to embed maven dependency resolution outside of maven.
>>>> to use it will give you the 100% and bundle can even take care of the
>>>> version ranges here and there.
>>>>
>>>>> Ivy is still working for many people even if it doesn't integrate
>>>>> seamless
>>>>> with Maven.
>>>>>
>>>>>
>>>>>>> What is still missing is adding support for Bundler to also be able
>>>>>>> to
>>>>>>> manage Maven artifacts specified in the Gemfile.
>>>>>>
>>>>>> just use maven or aether to do the job right and not create something
>>>>>> which does not work sooner or later since you choose the "wrong" maven
>>>>>> artifact.
>>>>>
>>>>>
>>>>> Sorry, didn't understand this statement.
>>>>>
>>>>>
>>>> sorry. with my maven-gems from jruby people started to use real world
>>>> maven dependencies and it resulted into more and more hacks to get
>>>> this or that working too. maven dependency resolution is not
>>>> compatible with bundler or rubygems !!!
>>>>
>>>> regards,
>>>> Kristian
>>>>
>>>>>> actually I personally use a Mavenfile along bundler where I specify my
>>>>>> jar dependencies (in Gemfile like manner). let maven setup the
>>>>>> classpath and bundler setup the gems. then I create binstubs like
>>>>>> bundler which handle both the gems and the classpath.
>>>>>>
>>>>>> the tool for that is ruby-maven. there I get the jars as if I would
>>>>>> specify the same jar dependencies inside a java pom.xml. and to obey
>>>>>> Gemfile.lock with locked down jar dependencies from version ranges
>>>>>> should be a minor change ;-) maybe a Mavenfile.lock :)))
>>>>>
>>>>>
>>>>> I really would prefer to avoid this messed environment if possible. If
>>>>> we
>>>>> could manage all our dependencies with a single Gemfile it would be
>>>>> just
>>>>> perfect.
>>>>>
>>>>> That is my opinion at least.
>>>>>
>>>>> Thank you for your input,
>>>>>
>>>>> Rodrigo.
>>>>>
>>>>>>> Em 27-03-2012 12:10, Peter Fitzgibbons escreveu:
>>>>>>>
>>>>>>> I may be a biased editor... I personally believe RubyGems is broken,
>>>>>>> certainly around dep-resolution.
>>>>>>> I point to CPAN a lot as an example of library repository that sums
>>>>>>> up
>>>>>>> all
>>>>>>> the best-practices.
>>>>>>> Maven may do the same, though I haven't learned it.
>>>>>>>
>>>>>>> I believe the existence and adoption of Bundler is a clear indication
>>>>>>> that
>>>>>>> the community needed to move beyond Rubygems.
>>>>>>>
>>>>>>> Thoughts?
>>>>>>> Peter Fitzgibbons
>>>>>>> (847) 859-9550
>>>>>>> Email: peter.fitzgibb...@gmail.com
>>>>>>> IM GTalk: peter.fitzgibbons
>>>>>>> IM AOL: peter.fitzgibb...@gmail.com
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Mar 27, 2012 at 7:44 AM, Nick Klauer<kla...@gmail.com>
>>>>>>>  wrote:
>>>>>>>>
>>>>>>>> Wouldn't the simplest solution be to do what I've seen other
>>>>>>>> projects do
>>>>>>>> and just implement some wrapper around Aether
>>>>>>>> (http://www.eclipse.org/aether/)?  I know that Leiningen's 2.x
>>>>>>>> version
>>>>>>>> that
>>>>>>>> they are working towards is using it, and it simplified their API
>>>>>>>> quite
>>>>>>>> a
>>>>>>>> bit in resolving dependencies, handling multiple maven repositories,
>>>>>>>> etc.,
>>>>>>>> without forcing them to adopt the entirety of Maven's settings.xml
>>>>>>>> and
>>>>>>>> other
>>>>>>>> configs.
>>>>>>>>
>>>>>>>> I think the point Kristian's making is that Rubygems shouldn't care
>>>>>>>> about
>>>>>>>> Maven deps, their layout, and Maven-related issues such as pom-only
>>>>>>>> dependencies, transitive dependencies, SNAPSHOT versioning, etc.,
>>>>>>>> yet
>>>>>>>> Maven
>>>>>>>> shouldn't have to care about Ruby's idiosyncracies along the same
>>>>>>>> lines,
>>>>>>>> either.
>>>>>>>>
>>>>>>>> I think the crux of this issue is finding out how much one side will
>>>>>>>> end
>>>>>>>> up treading on the other to get the job done, and if there's a clean
>>>>>>>> way
>>>>>>>> to
>>>>>>>> keep them separate.
>>>>>>>>
>>>>>>>> -Nick Klauer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Mar 27, 2012 at 07:20, Rodrigo Rosenfeld Rosas
>>>>>>>> <rr.ro...@gmail.com>    wrote:
>>>>>>>>>
>>>>>>>>> It was a bit confusing to me too, but I guess he is saying that you
>>>>>>>>> shouldn't try to convert each maven artifact to a gem and let
>>>>>>>>> RubyGems
>>>>>>>>> manage the dependencies instead of Maven.
>>>>>>>>>
>>>>>>>>> Honestly I don't know what is the advantage of this approach. I
>>>>>>>>> mean,
>>>>>>>>> Kristian, why do you think the Maven dependencies management
>>>>>>>>> algorithm
>>>>>>>>> would
>>>>>>>>> be better than RubyGems or Bundler.
>>>>>>>>>
>>>>>>>>> Notice that I don't really care which approach is used, I guess the
>>>>>>>>> easiest one to implement should be taken.
>>>>>>>>>
>>>>>>>>> I just think that letting Maven resolve the dependencies would be
>>>>>>>>> weird
>>>>>>>>> as it won't know about the Ruby dependencies and won't be able to
>>>>>>>>> find
>>>>>>>>> out
>>>>>>>>> the better resolution like RubyGems or Bundler could do as they're
>>>>>>>>> aware of
>>>>>>>>> all dependencies.
>>>>>>>>>
>>>>>>>>> Could you please detail what approach do you think should be taken,
>>>>>>>>> Kristian?
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Rodrigo.
>>>>>>>>>
>>>>>>>>> Em 27-03-2012 08:11, Peter Fitzgibbons escreveu:
>>>>>>>>>
>>>>>>>>> Can someone point me to a doc that decyphers what kristian just
>>>>>>>>> said?
>>>>>>>>> Interesting!
>>>>>>>>>
>>>>>>>>> Peter Fitzgibbons
>>>>>>>>>
>>>>>>>>> On Tue, Mar 27, 2012 at 2:07 AM, kristian<m.krist...@web.de>
>>>>>>>>>  wrote:
>>>>>>>>>>
>>>>>>>>>> On Tue, Mar 27, 2012 at 5:36 AM, Rodrigo Rosenfeld Rosas
>>>>>>>>>> <rr.ro...@gmail.com>    wrote:
>>>>>>>>>>>
>>>>>>>>>>> Finally integrating Maven to Bundler would be terrific. I would
>>>>>>>>>>> certainly
>>>>>>>>>>> vote on this project!
>>>>>>>>>>
>>>>>>>>>> as long it opens the whole maven artifact universe and NOT tries
>>>>>>>>>> to
>>>>>>>>>> map an maven artifact onto a rubygem and hope that the quite
>>>>>>>>>> different
>>>>>>>>>> rubygems version resolution gives a somewhat similar result as
>>>>>>>>>> with
>>>>>>>>>> maven. (i.e. use maven for resolving the transitive dependencies).
>>>>>>>>>>
>>>>>>>>>> then I would vote it too !
>>>>>>>>>>
>>>>>>>>>> regards,
>>>>>>>>>> Kristian
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Rodrigo.
>>>>>>>>>>>
>>>>>>>>>>> Em 26-03-2012 20:45, aliaksei escreveu:
>>>>>>>>>>>
>>>>>>>>>>>> I would like to participate in gsoc as a student.
>>>>>>>>>>>> I have the same difficulties as Benoit. But i'm interested in
>>>>>>>>>>>> Maven
>>>>>>>>>>>> support for Rubygems and Bundler and Runtime code optimization
>>>>>>>>>>>> in
>>>>>>>>>>>> particular.
>>>>>>>>>>>>
>>>>>>>>>>>> So, Is there any mentors of that specific projects that i could
>>>>>>>>>>>> contact directly?
>>>>>>>>>>>>
>>>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>   http://xircles.codehaus.org/manage_email
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to