Re: Avro C#: Target .NET Standard Only

2019-06-14 Thread Brian Lachniet
Thank you for your feedback. I will go ahead and make a Jira issue and
start making these changes.

I like the idea of treating this as a minor change rather than a breaking
change. If there are no objections, that's the way I will proceed.

As far as download counts: v1.9.0 was the first time the NuGet package was
"officially" released on NuGet. That version has seen only 446 downloads
since its release (See the NuGet package page here
).


On Fri, Jun 14, 2019 at 3:42 AM Driesprong, Fokko 
wrote:

> Hi Brian,
>
> Do we have something like the number of downloads? To measure how much this
> is still being used. I haven't touched a Windows machine in a couple of
> years, so for me, it isn't super relevant.
>
> There are some different opinions on if this is breaking or not. At the
> Parquet project, we had a similar discussion:
>
> https://lists.apache.org/thread.html/0df375609a2faf384cebc9f0423eead7ca358b73953b07652d7d6a6e@%3Cdev.parquet.apache.org%3E
> Parquet wants to drop some old modules that aren't used that much anymore,
> you could also argue that you stop releasing the .Net standard.
>
> Cheers, Fokko Driesprong
>
>
> Op vr 14 jun. 2019 om 07:02 schreef Patrick Farry <
> patrick.s.fa...@gmail.com
> >:
>
> > Hi Brian,
> >
> > This is good for us at Pitney Bowes, but we don't do anything on Windows
> so
> > its all upside as far as we are concerned.
> >
> > I'd also add that the current release doesnt build out of the box on
> macos
> > with VS code.
> > It would be great if we could just build with 'dotnet build' etc. so this
> > could be another reason to make this change.
> >
> > patrick
> >
> > On Thu, Jun 13, 2019, 7:08 PM Brian Lachniet 
> wrote:
> >
> > > I would like to propose that we update the main Avro C# project to
> target
> > > .NET Standard only. I will lay out a couple reasons below, but first
> > let's
> > > start with a little context.
> > >
> > > You can see the different frameworks that the C# project currently
> > targets
> > > here in the README
> > > <
> > https://github.com/apache/avro/tree/master/lang/csharp#target-frameworks
> > > >.
> > > We updated the main Avro library to target .NET Standard with the
> release
> > > of v1.9.0. However, we continue to target the .NET Framework v4.0 as
> > well.
> > > This allows users that are targeting .NET Framework versions between
> 4.0
> > > and 4.6.1 to still use the library. As you can see in this table on
> .NET
> > > Standard
> > > <
> > >
> >
> https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support
> > > >compatibility,
> > > as long as you are targeting .NET Framework 4.6.1 or later OR .NET Core
> > 2.0
> > > or later, you can use a library that targets .NET Standard.
> > >
> > > To be clear, we are not dropping support for all of .NET Framework. We
> > > would drop support for for any version of .NET Framework before v4.6.1.
> > >
> > > This change will simplify our release process. At this time, we can
> only
> > > build a NuGet package that contains both .NET Framework and .NET
> Standard
> > > binaries on Windows. This means that after the "official" release is
> > > created and deployed, I have to rebuild the project on my Windows
> machine
> > > before publishing the package to nuget.org. With this change, we would
> > > only
> > > create .NET Standard binaries, which means that we could build the
> NuGet
> > > package on a Linux machine. Then, we could publish the NuGet directly
> > from
> > > the "official" build to nuget.org. No more side channel builds.
> > >
> > > This change will also simplify development, particularly when
> developing
> > on
> > > non-Windows platforms. I think it's still a good idea to run our unit
> > tests
> > > on .NET Framework in addition to Core, but we could make it so that
> those
> > > are only run when run on Windows.
> > >
> > > This is a breaking change for the C# library, so we would need to save
> > this
> > > for the 1.10 release.
> > >
> > > Does anyone have any objections, questions or concerns?
> > >
> > > Thanks,
> > >
> > > --
> > >
> > > [image: 51b630b05e01a6d5134ccfd520f547c4.png]
> > >
> > > Brian Lachniet
> > >
> > > Software Engineer
> > >
> > > E: blachn...@gmail.com | blachniet.com 
> > >
> > >  
> > >
> >
>


-- 

[image: 51b630b05e01a6d5134ccfd520f547c4.png]

Brian Lachniet

Software Engineer

E: blachn...@gmail.com | blachniet.com 

 


Re: Avro C#: Target .NET Standard Only

2019-06-14 Thread Driesprong, Fokko
Hi Brian,

Do we have something like the number of downloads? To measure how much this
is still being used. I haven't touched a Windows machine in a couple of
years, so for me, it isn't super relevant.

There are some different opinions on if this is breaking or not. At the
Parquet project, we had a similar discussion:
https://lists.apache.org/thread.html/0df375609a2faf384cebc9f0423eead7ca358b73953b07652d7d6a6e@%3Cdev.parquet.apache.org%3E
Parquet wants to drop some old modules that aren't used that much anymore,
you could also argue that you stop releasing the .Net standard.

Cheers, Fokko Driesprong


Op vr 14 jun. 2019 om 07:02 schreef Patrick Farry :

> Hi Brian,
>
> This is good for us at Pitney Bowes, but we don't do anything on Windows so
> its all upside as far as we are concerned.
>
> I'd also add that the current release doesnt build out of the box on macos
> with VS code.
> It would be great if we could just build with 'dotnet build' etc. so this
> could be another reason to make this change.
>
> patrick
>
> On Thu, Jun 13, 2019, 7:08 PM Brian Lachniet  wrote:
>
> > I would like to propose that we update the main Avro C# project to target
> > .NET Standard only. I will lay out a couple reasons below, but first
> let's
> > start with a little context.
> >
> > You can see the different frameworks that the C# project currently
> targets
> > here in the README
> > <
> https://github.com/apache/avro/tree/master/lang/csharp#target-frameworks
> > >.
> > We updated the main Avro library to target .NET Standard with the release
> > of v1.9.0. However, we continue to target the .NET Framework v4.0 as
> well.
> > This allows users that are targeting .NET Framework versions between 4.0
> > and 4.6.1 to still use the library. As you can see in this table on .NET
> > Standard
> > <
> >
> https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support
> > >compatibility,
> > as long as you are targeting .NET Framework 4.6.1 or later OR .NET Core
> 2.0
> > or later, you can use a library that targets .NET Standard.
> >
> > To be clear, we are not dropping support for all of .NET Framework. We
> > would drop support for for any version of .NET Framework before v4.6.1.
> >
> > This change will simplify our release process. At this time, we can only
> > build a NuGet package that contains both .NET Framework and .NET Standard
> > binaries on Windows. This means that after the "official" release is
> > created and deployed, I have to rebuild the project on my Windows machine
> > before publishing the package to nuget.org. With this change, we would
> > only
> > create .NET Standard binaries, which means that we could build the NuGet
> > package on a Linux machine. Then, we could publish the NuGet directly
> from
> > the "official" build to nuget.org. No more side channel builds.
> >
> > This change will also simplify development, particularly when developing
> on
> > non-Windows platforms. I think it's still a good idea to run our unit
> tests
> > on .NET Framework in addition to Core, but we could make it so that those
> > are only run when run on Windows.
> >
> > This is a breaking change for the C# library, so we would need to save
> this
> > for the 1.10 release.
> >
> > Does anyone have any objections, questions or concerns?
> >
> > Thanks,
> >
> > --
> >
> > [image: 51b630b05e01a6d5134ccfd520f547c4.png]
> >
> > Brian Lachniet
> >
> > Software Engineer
> >
> > E: blachn...@gmail.com | blachniet.com 
> >
> >  
> >
>


Re: Avro C#: Target .NET Standard Only

2019-06-13 Thread Patrick Farry
Hi Brian,

This is good for us at Pitney Bowes, but we don't do anything on Windows so
its all upside as far as we are concerned.

I'd also add that the current release doesnt build out of the box on macos
with VS code.
It would be great if we could just build with 'dotnet build' etc. so this
could be another reason to make this change.

patrick

On Thu, Jun 13, 2019, 7:08 PM Brian Lachniet  wrote:

> I would like to propose that we update the main Avro C# project to target
> .NET Standard only. I will lay out a couple reasons below, but first let's
> start with a little context.
>
> You can see the different frameworks that the C# project currently targets
> here in the README
>  >.
> We updated the main Avro library to target .NET Standard with the release
> of v1.9.0. However, we continue to target the .NET Framework v4.0 as well.
> This allows users that are targeting .NET Framework versions between 4.0
> and 4.6.1 to still use the library. As you can see in this table on .NET
> Standard
> <
> https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support
> >compatibility,
> as long as you are targeting .NET Framework 4.6.1 or later OR .NET Core 2.0
> or later, you can use a library that targets .NET Standard.
>
> To be clear, we are not dropping support for all of .NET Framework. We
> would drop support for for any version of .NET Framework before v4.6.1.
>
> This change will simplify our release process. At this time, we can only
> build a NuGet package that contains both .NET Framework and .NET Standard
> binaries on Windows. This means that after the "official" release is
> created and deployed, I have to rebuild the project on my Windows machine
> before publishing the package to nuget.org. With this change, we would
> only
> create .NET Standard binaries, which means that we could build the NuGet
> package on a Linux machine. Then, we could publish the NuGet directly from
> the "official" build to nuget.org. No more side channel builds.
>
> This change will also simplify development, particularly when developing on
> non-Windows platforms. I think it's still a good idea to run our unit tests
> on .NET Framework in addition to Core, but we could make it so that those
> are only run when run on Windows.
>
> This is a breaking change for the C# library, so we would need to save this
> for the 1.10 release.
>
> Does anyone have any objections, questions or concerns?
>
> Thanks,
>
> --
>
> [image: 51b630b05e01a6d5134ccfd520f547c4.png]
>
> Brian Lachniet
>
> Software Engineer
>
> E: blachn...@gmail.com | blachniet.com 
>
>  
>


Avro C#: Target .NET Standard Only

2019-06-13 Thread Brian Lachniet
I would like to propose that we update the main Avro C# project to target
.NET Standard only. I will lay out a couple reasons below, but first let's
start with a little context.

You can see the different frameworks that the C# project currently targets
here in the README
.
We updated the main Avro library to target .NET Standard with the release
of v1.9.0. However, we continue to target the .NET Framework v4.0 as well.
This allows users that are targeting .NET Framework versions between 4.0
and 4.6.1 to still use the library. As you can see in this table on .NET
Standard
compatibility,
as long as you are targeting .NET Framework 4.6.1 or later OR .NET Core 2.0
or later, you can use a library that targets .NET Standard.

To be clear, we are not dropping support for all of .NET Framework. We
would drop support for for any version of .NET Framework before v4.6.1.

This change will simplify our release process. At this time, we can only
build a NuGet package that contains both .NET Framework and .NET Standard
binaries on Windows. This means that after the "official" release is
created and deployed, I have to rebuild the project on my Windows machine
before publishing the package to nuget.org. With this change, we would only
create .NET Standard binaries, which means that we could build the NuGet
package on a Linux machine. Then, we could publish the NuGet directly from
the "official" build to nuget.org. No more side channel builds.

This change will also simplify development, particularly when developing on
non-Windows platforms. I think it's still a good idea to run our unit tests
on .NET Framework in addition to Core, but we could make it so that those
are only run when run on Windows.

This is a breaking change for the C# library, so we would need to save this
for the 1.10 release.

Does anyone have any objections, questions or concerns?

Thanks,

-- 

[image: 51b630b05e01a6d5134ccfd520f547c4.png]

Brian Lachniet

Software Engineer

E: blachn...@gmail.com | blachniet.com