You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@buildr.apache.org by Marius Kjeldahl <ma...@gmail.com> on 2013/07/24 13:48:15 UTC

Contributing patches

I've now successfully added support for Kawa compilation using buildr.

I've modelled the code on the existing Scala compilation support, basically
added a kawa.rb and kawa/compiler.rb, with minor modifications to
core/{compile,generate,run}.rb . Together with a proper buildfile I am now
able to compile, package, install and run mixed language programs
(java+scheme) on Android, although there is no Android specific code in the
buildr contributions (only in the local buildfile), so it should support
"generic Kawa" (non-Android) programs as well. I have not yet added support
for unit testing or doc generation with kawa, but that should be fairly
easy if needed.

I wouldn't mind contributing this code, but I am somewhat at a loss on how
to do this. Ideally, I would have forked the public Github repo, but that
looks stale, so it's obviously not that easy. Considering my kawa support
is only a few days old, the kawa support should also be considered "alpha"
quality, and there will probably be frequent fixes in the near future.

Anyway, I'm not sure if or how I should contribute, or if I should just
make a Github repo for myself and others (I'm sure there aren't that many
yet..) containing the modifications. I guess that would mean creating yet
another repo for Buildr; I do not want to do that if you guys have any
plans of reviving the old "official" Github clone; I would much rather
clone that one than tracking the whole source tree myself.

And finally, I've tried doing this once for Gradle already, then for Maven,
without succeding (got lost in all kind of weird abstractions and messy
code). Even though I've never seen a Ruby program before doing this, at
least both the code and structure seems clean enough that adding support
was quite easy. So I guess that's a big kudos for the buildr team for
creating something that is easy to work with!

Thanks,

Marius Kjeldahl

Re: Contributing patches

Posted by Marius Kjeldahl <ma...@gmail.com>.
Ok, thanks. I'll do some work on it and use it for some of my projects, and
when I feel that at least the compilation support is solid (together with
docs on installing kawa which is needed for it to work), I see if I can
provide a patch suggestion in a jira ticket. In the meantime, if anybody
wants/need to toy with it, I've put up the "raw" code (little docs, no
examples of using it in a buildfile yet) at:

https://github.com/mariusk/buildr-kawa

Thanks,

Marius K.


On Wed, Jul 24, 2013 at 2:44 PM, Peter Donald <pe...@realityforge.org>wrote:

> Hi,
>
> On Wed, Jul 24, 2013 at 9:48 PM, Marius Kjeldahl
> <ma...@gmail.com> wrote:
> > I've now successfully added support for Kawa compilation using buildr.
>
> great work.
>
> > I've modelled the code on the existing Scala compilation support,
> basically
> > added a kawa.rb and kawa/compiler.rb, with minor modifications to
> > core/{compile,generate,run}.rb . Together with a proper buildfile I am
> now
> > able to compile, package, install and run mixed language programs
> > (java+scheme) on Android, although there is no Android specific code in
> the
> > buildr contributions (only in the local buildfile), so it should support
> > "generic Kawa" (non-Android) programs as well. I have not yet added
> support
> > for unit testing or doc generation with kawa, but that should be fairly
> > easy if needed.
>
> excellent.
>
> > I wouldn't mind contributing this code, but I am somewhat at a loss on
> how
> > to do this. Ideally, I would have forked the public Github repo, but that
> > looks stale, so it's obviously not that easy. Considering my kawa support
> > is only a few days old, the kawa support should also be considered
> "alpha"
> > quality, and there will probably be frequent fixes in the near future.
>
> It would be awesome to have this contributed and forking the github
> repo is an easy way to get it going. A few things to note;
>
> * It looks like the github repo has an incorrect branch marked as the
> primary branch. It should be trunk at
> https://github.com/apache/buildr/tree/trunk - I will look into seeing
> what is needed to get the github repository corrected so it shows the
> trunk branch by default.
> * the best way to get into core is to add tests for it. The more tests
> that are added the more likely it will continue to be supported as
> buildr evolves.
> * Unfortunately Apache does not support pull requests as a mechanism
> for integrating code into buildr. Once you have prepared a branch you
> have to attach a patch to a jira issue and tick a box that assigns
> copyright to the foundation. However working in a branch in your own
> fork is actually fairly useful.
> * It is up to you whether you want to incrementally or send a patch
> when the support is complete. I would recommend incremental patches as
> it is much easier to get feedback in small patches and it may be
> easier to make it more consistent with the rest of buildr that way.
>
> > Anyway, I'm not sure if or how I should contribute, or if I should just
> > make a Github repo for myself and others (I'm sure there aren't that many
> > yet..) containing the modifications.
>
> I am jumping on a plane and heading out bush in a few hours but
> hopefully will be back in range next week. I would love to have a look
> at it then :)
>
> --
> Cheers,
>
> Peter Donald
>

Re: Contributing patches

Posted by Peter Donald <pe...@realityforge.org>.
Hi,

On Wed, Jul 24, 2013 at 9:48 PM, Marius Kjeldahl
<ma...@gmail.com> wrote:
> I've now successfully added support for Kawa compilation using buildr.

great work.

> I've modelled the code on the existing Scala compilation support, basically
> added a kawa.rb and kawa/compiler.rb, with minor modifications to
> core/{compile,generate,run}.rb . Together with a proper buildfile I am now
> able to compile, package, install and run mixed language programs
> (java+scheme) on Android, although there is no Android specific code in the
> buildr contributions (only in the local buildfile), so it should support
> "generic Kawa" (non-Android) programs as well. I have not yet added support
> for unit testing or doc generation with kawa, but that should be fairly
> easy if needed.

excellent.

> I wouldn't mind contributing this code, but I am somewhat at a loss on how
> to do this. Ideally, I would have forked the public Github repo, but that
> looks stale, so it's obviously not that easy. Considering my kawa support
> is only a few days old, the kawa support should also be considered "alpha"
> quality, and there will probably be frequent fixes in the near future.

It would be awesome to have this contributed and forking the github
repo is an easy way to get it going. A few things to note;

* It looks like the github repo has an incorrect branch marked as the
primary branch. It should be trunk at
https://github.com/apache/buildr/tree/trunk - I will look into seeing
what is needed to get the github repository corrected so it shows the
trunk branch by default.
* the best way to get into core is to add tests for it. The more tests
that are added the more likely it will continue to be supported as
buildr evolves.
* Unfortunately Apache does not support pull requests as a mechanism
for integrating code into buildr. Once you have prepared a branch you
have to attach a patch to a jira issue and tick a box that assigns
copyright to the foundation. However working in a branch in your own
fork is actually fairly useful.
* It is up to you whether you want to incrementally or send a patch
when the support is complete. I would recommend incremental patches as
it is much easier to get feedback in small patches and it may be
easier to make it more consistent with the rest of buildr that way.

> Anyway, I'm not sure if or how I should contribute, or if I should just
> make a Github repo for myself and others (I'm sure there aren't that many
> yet..) containing the modifications.

I am jumping on a plane and heading out bush in a few hours but
hopefully will be back in range next week. I would love to have a look
at it then :)

-- 
Cheers,

Peter Donald