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