You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@metamodel.apache.org by Echopraxium <ec...@gmail.com> on 2017/06/28 01:11:18 UTC

C# / .Net Framework proposal

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)

Re: C# porting proposal: sharing the "early bud" codebase and 'lessons from experience'

Posted by Kasper Sørensen <i....@gmail.com>.
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 <ec...@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 <ec...@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 <ec...@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)
>>>>>
>>>>>
>

C# porting proposal: sharing the "early bud" codebase and 'lessons from experience'

Posted by Michel Kern <ec...@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 <ec...@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 <ec...@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)
>>>>


Re: C# / .Net Framework proposal

Posted by Kasper Sørensen <i....@gmail.com>.
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 <ec...@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 <ec...@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)
>>>
>>
>

Re: C# / .Net Framework proposal

Posted by Michel Kern <ec...@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 <ec...@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)


Re: C# / .Net Framework proposal

Posted by Kasper Sørensen <i....@gmail.com>.
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 <ec...@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)