Ok. Max told that maven is a wonderful tool that can do many things
and we've found that rebar already can do everything that maven can
do, but much better because a man can edit rebar.config.
This thread have appeared due to specific approach of managing
dependencies that rebar brings.
It implies that you dependency control is glued together with source
control and all program dependencies are isolated together inside your
deploy.
It is good for deploying your software on your servers, but it is not
convenient when you are a admin of PHP server that wants to install
ejabberd.
These are different clauses and if you want to make a package for any
modern distributive you will have to make a serious preparation of
your source code, that will can even make it incompatible with further
development.
This is why sometimes source for debian package is generated from current tree.
it's possible to use Maven with another languages as Erlang. There
aren't need to modify rebar.
Regads.
El 2012-10-19 14:17, Max Bourinov escribió:
> Max, do you want me re-type article from wikipedia?
>
> So, I try: It is very good package manager that is de-facto standard
> in Java world. Sorry guys I said Java here. So, the idea was to check
> ideas behind it because I believe those Java guys have good ideas..
> Apache guys... So, we can avoid some unnecessary
> design pitfalls... For example maven has idea od snapshot/release
> repositories, and this idea could be worth to implement it in rebar
> packet manager.
>
> But, I suggest you to not be scared by XML. It is only one little
> XML.
> All the rest is text: http://en.wikipedia.org/wiki/Apache_Maven [3]
>
> Best regards,
> Max
>
> On Fri, Oct 19, 2012 at 4:10 PM, Max Lapshin <max.l...@gmail.com
> [4]> wrote:
>
>> On Fri, Oct 19, 2012 at 4:04 PM, Max Bourinov <bour...@gmail.com
>> [1]> wrote:
>> > Max,
>> >
>> > Please follow this link:
>> http://en.wikipedia.org/wiki/Apache_Maven [2]
>> >
>>
>> It is not an answer. What good have _you_ found in Maven? XML
>> config
>> as everything in Java?
>
>
>
> Links:
> ------
> [1] mailto:bour...@gmail.com
> [2] http://en.wikipedia.org/wiki/Apache_Maven
> [3] http://en.wikipedia.org/wiki/Apache_Maven
> [4] mailto:max.l...@gmail.com
--
Manuel A. Rubio "Bombadil"
Usuario de GNU/Linux #323628 acorde a http://counter.li.org/
Técnico en Admin. Sistemas Informáticos
http://expm.co/ solves server side part. expm may add a plugin for
rebar to add "search" command. The slight problem with rebar is that
it is mostly used as a local per-repo binary, not as a global one.
It doesn't solve the server side part. The package information available
is for the most part entirely useless when you are looking for packages.
It does the strict minimum for this purpose: small one-line description
+ keyword list. Plus you have to leave the package list and scroll down
to find the github link where the useful information can be found. It's
trying to do packages, when what I need is an index of projects. The
index page there with a github/project homepage link instead of an
internal link on the name would do wonders.
As for rebar being per-repo, that's not that true anymore. And since
it's pretty much the de facto standard now, it's not really needed now.
--
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu
> http://expm.co/ solves server side part. expm may add a plugin for
> rebar to add "search" command. The slight problem with rebar is that
> it is mostly used as a local per-repo binary, not as a global one.It doesn't solve the server side part. The package information available
is for the most part entirely useless when you are looking for packages.
It does the strict minimum for this purpose: small one-line description
+ keyword list. Plus you have to leave the package list and scroll down
to find the github link where the useful information can be found. It's
trying to do packages, when what I need is an index of projects. The
index page there with a github/project homepage link instead of an
internal link on the name would do wonders.
homepage|'scm repo page' exclusively, projects with neither of these
likely don't exist. :)
Was just discussing with Jose that it would be good to also add links to
documentation pages when they exist.
Yeah but you can fill it as a "homepage" instead of "scm repo" and
people can still get there even if the tool doesn't support it.
--
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu
> Yeah but you can fill it as a "homepage" instead of "scm repo" and people
> can still get there even if the tool doesn't support it.
Deployed :) I found no projects on bitbucket yet so I didn't add
support for it, but homepage and github should work now!
Yurii.
On 23 Oct 2012, at 18:55, Loïc Hoguin <es...@ninenines.eu> wrote:
>>
>> http://expm.co/ solves server side part. expm may add a plugin for
>> rebar to add "search" command. The slight problem with rebar is that
>> it is mostly used as a local per-repo binary, not as a global one.
>
> It doesn't solve the server side part. The package information available is for the most part entirely useless when you are looking for packages. It does the strict minimum for this purpose: small one-line description + keyword list. Plus you have to leave the package list and scroll down to find the github link where the useful information can be found. It's trying to do packages, when what I need is an index of projects. The index page there with a github/project homepage link instead of an internal link on the name would do wonders.
>
That would certainly be helpful.
> As for rebar being per-repo, that's not that true anymore.
How so? I'm still under the impression that this remains true:
- it gets dependencies locally
- resolving dependencies outside base_dir can break things
Maybe I've or become a bit out of touch with the bleeding edge changes. I'm a huge rebar fan/user so please correct me if I'm wrong.
> And since it's pretty much the de facto standard now, it's not really needed now.
>
Are you saying rebar is the de facto standard? I wish it was, and do wonder if inclusion in otp would make it more likely to be.
And what's not really needed? This expm thing, or a package manager in general?
Cheers
Tim
I was talking about including rebar inside repositories. It's not really
needed anymore. Haven't had it in cowboy for maybe a year and nobody
seemed to complain. I think it's OK today to tell people to install
rebar (or update their rebar if you need a more recent feature).
My mail got sent before I'd completed it ...
programs like rebar use these features
/Joe
I believe one of the issues that would need to be addressed first in rebar is the one of repeatability.rebar does not ensure that developers in the same project are going to use the same snapshot of a dependency. This means developers can depend on the same git repository but different commits leading to the famous "the tests pass on my machine".I am aware this could be fixed by the team enforcing a commit sha when declaring the dependency but many simply don't do it. Besides it puts the work on you to manage the commit shas. If you want to update the dependency, you need to remove the commit sha, update the repo, write the new commit sha.This could be easily fixed by having a lock file per project with the commit shas of the dependencies. "rebar get-deps" should retrieve the shas in such lock, if one is available, or simply get the latest and write to the lock. A command like "rebar unlock-deps" could be available when developers want to update their dependencies, regardless of the current lock.Also, regarding Joe's proposal, picking up a version from a git repository may be tricky. The best approach is to index git tags only, hoping the publisher won't modify an existing tag. If someone is depending on a branch though, it should not be considered a version or a part of .erl_packages. I believe it should still belong to the repo.José ValimSkype: jv.ptecFounder and Lead Developer