metamodel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kasper Sørensen <i.am.kasper.soren...@gmail.com>
Subject Re: C# porting proposal: sharing the "early bud" codebase and 'lessons from experience'
Date Mon, 03 Jul 2017 00:27:49 GMT
Hi Michael,

Sure, signing a CLA does not imply any requirement as to the level of
commitment. It's not about employment or anything like that, it's simply
from ASF to ensure that we have the full rights to release your work. See
https://www.apache.org/dev/new-committers-guide.html#cla for more
information.

A github fork repo would be totally fine. At that point you're forking the
Apache MetaModel repo, so the license (Apache License 2.0) must be retained
of course. Eventually when it has all be approved by the community, we can
then re-integrate your code into an official Apache repo.

Sounds like you've made a lot of good progress. However, if it's not even
compiling yet, be prepared for some critical feedback remarks on that point
:-)

Some general thoughts for the conversion:


   - We should strive to retain the essentials of MetaModel, i.e. central
   interfaces and ideas about schema exploration, query objects etc.
   - We should however not insist on doing a 1-to-1 conversion. C# is a
   different language with different norms and so on. I think that a
   conversion should abide by the rules of C# so that the library will become
   appealing to C# developers. I think you also had this in mind, but I just
   wanted to re-state it :-)
   - With that in mind, I'd suggest we start by reviewing the interfaces of
   the C# conversion. The essential interfaces like DataContext (probably
   named IDataContext in C#?), the Query object and so on.

Best regards,
Kasper




2017-07-02 5:18 GMT-07:00 Michel Kern <echopraxium@gmail.com>:

> Hello
>
> I'm of course ok to sign Contributor License agreement. The only
> restriction is that I can't commit ATM in terms of time invested (e.g.
> could be 20 hours or more one week then 0 hours for a month etc.. mainly
> it's depending on my professional projects schedule; I'm an independent SW
> engineer).
>
> I'm very motivated to share he current codebase (a modest subset with only
> 37 java files ported and not even all fully ported). Is it ok if I create a
> "/friendly but unofficial fork/" on github with a name like
> "/apache-metamodel-csharp/" ?
>
> I'm not an expert in Java to CSharp porting but I've a "/average fluency/"
> with both, at least enough to find equivalences, solutions, syntax craft,
> or bypasses when I encounter compile errors.
> ATM, even with a small subset ported (40 java source files, and a bunch of
> 17 'helper' files forming a "bud" for a conversion library) there is still
> a lot of compile errors (like 1100) even though I've managed to solve more
> then 3000 already...
>
> I've also started documenting the "/j2cs/" conversions which is in my own
> view a key deliverable for such kind of project (if could be worth to start
> sharing this document at the first place). I've also put some links about
> J2CS conversion which may be help to go beyond "/lessons //from
> experience/". Even if it's "not from the beginning", I've started marking
> conversions with a special comment (e.g. //[J2Cs] Map <=> Dictionary) to
> ease searching and replacing those conversions choices when necessary.
>
> Regarding the existing tools and documentation, I found the /Sharpen
> plugin/ for Eclipse, but it seems it is not still supported (maybe I'm
> wrong on this). There is is also conversion tools but "with a price" and a
> book
> "/NET for Java Developers Migrating to C#/" which may be worthwhile too.
>
> Best Regards
> Michel Kern
>
>
> On 02-07-17 01:07, Kasper Sørensen wrote:
>
>> However you prefer, I think. Have you already signed a Contributor License
>> Agreement with Apache? For a contribution this size, we would need that.
>>
>> But to begin with, if you just wanna share it so that others can look at
>> it, a personal github repo or something like that would be perfect.
>>
>> 2017-06-29 15:42 GMT-07:00 Michel Kern <echopraxium@gmail.com>:
>>
>> Hello Kasper
>>>
>>> Thanks for your answer. I have used .Net standard Framework 4.5.2 until
>>> now. How may I share the codebase that I've started ?
>>>
>>> Best Regards
>>> Michel Kern
>>>
>>>
>>>
>>> On 30-06-17 00:34, Kasper Sørensen wrote:
>>>
>>> I think it would be very interesting to participate in. But my preference
>>>> would be towards .Net Core or at least some netstandard target
>>>> framework.
>>>> I've been working with Core quite a lot recently and find it to be
>>>> pretty
>>>> great for many things, but I've also been missing MetaModel for the data
>>>> layer of my work.
>>>>
>>>> Can you share any kind of early codebase so that we could see what
>>>> you're
>>>> talking about?
>>>>
>>>>   From a PMC point of view, I would suggest this as a child project. We
>>>> don't have any child projects currently but I feel like the web app/API
>>>> PR
>>>> that's on github currently could also be a child project of MM, and that
>>>> setup would help us really move the overall project forward in a good
>>>> way!
>>>>
>>>> Kasper Sørensen
>>>>
>>>> On Jun 27, 2017, at 18:11, Echopraxium <echopraxium@gmail.com> wrote:
>>>>
>>>>> Hello
>>>>>
>>>>> I have recently started a porting of apache metamodel in C# (.Net
>>>>> Framework, not Core)
>>>>> I would appreciate your feedback and advices as well.
>>>>> It would be great to become a contributor for this porting proposal.
>>>>>
>>>>> If I have the agreement from the PMC, I think that I may soon (like
>>>>> within
>>>>> next 10 days I hope), be advanced enough to publish a first release
>>>>> which
>>>>> could at least run a part of the unit tests or even run a test for a
>>>>> single
>>>>> binding (Json)
>>>>>
>>>>> I've started to save my "learn by trying" experience in a text file
>>>>> (e.g.
>>>>> Type or Annotation conversions, Exceptions, solutions for adressing
>>>>> java
>>>>> features missing in C# etc)
>>>>>
>>>>> Best regards
>>>>> Michel Kern (echopraxium on github)
>>>>>
>>>>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message