codecov / codecov-exe

.exe report uploader for Codecov https://codecov.io
MIT License
25 stars 21 forks source link

Package content? #29

Closed matkoch closed 6 years ago

matkoch commented 7 years ago

The NuGet package has around 20MB and to me it seems it contains a lot of unnecessary files. Or is there any reason why you're shipping mscorlib.dll and stuff like that?!

larzw commented 6 years ago

Hi @matkoch,

Thanks for the feedback! I compiled the .net core app as a self contained app and released the output of that process on NuGet. I'm open to other options/ideas if you have any?

Thanks -Larz

matkoch commented 6 years ago

Hi @larzw,

well yes, it could be done like that. But like Scott writes:

that can be run, rather than running things like developers do with "dotnet run."

I think that this only makes sense in specific circumstances. Like when you're expecting that the runtime is not available. But for Codecov, I guess all machines will have the runtime. Moreover, none of the report generating applications ships with the runtime.

matkoch commented 6 years ago

@larzw ?

larzw commented 6 years ago

@matkoch oops sorry meant to comment not close...

My goal it to have as few dependencies as possible...Consider for example the case of someone wanting to upload javascript coverage reports on windows 7? They may not have .net core and so I need to deploy a self contained app. If I make the assumption the user has .net net core then I'm taking on an additional dependency. Maybe we should deploy multiple things? .net core, self contained???

matkoch commented 6 years ago

Well, I think it's not too much to ask, to have .NET Core installed on a .NET developer machine. For people working only with JS, there exist alternatives, like codecov-node. One other alternative, is to compile for netfx and netcore, and package both of them together. Still much smaller in size.

larzw commented 6 years ago

@matkoch,

Well, I think it's not too much to ask, to have .NET Core installed on a .NET developer machine

Again, this is a generic global uploader. Even though it's written in C# does not mean only .NET developer would/should use it. The goal is that anyone who needs to upload coverage reports to codecov on windows can use it.

One other alternative, is to compile for netfx and netcore, and package both of them together.

Yup, I agree! That is probably a better route to go...Are you willing to do a PR for it?

Thanks!

matkoch commented 6 years ago

Again, this is a generic global uploader. Even though it's written in C# does not mean only .NET developer would/should use it. The goal is that anyone who needs to upload coverage reports to codecov on windows can use it.

You're only uploading it to NuGet, right? So it requires nuget.exe, which requires .NET runtime. Or am I wrong? I doubt people start downloading it from nuget.org, that would be a strange thing for non-.NET developers :)

Unfortunately, I've got no time to make a PR. I'm not even affected after all. I'm going to add support for codecov in my build system project, and I just wanted to leave a note here. Sorry :)

larzw commented 6 years ago

and choco too.

matkoch commented 6 years ago

The question that I'm asking myself is, which part of developers (non-dotnet) is going to use this package without having netfx or netcore installed. Who is the target group? There are many others listed (https://github.com/codecov/) for python, ruby, node, bash and so on, which people can use. That was my thought :)

matkoch commented 6 years ago

As another analogy: I guess codecov-ruby also doesn't ship with the ruby runtime :)

larzw commented 6 years ago

There are many others listed (https://github.com/codecov/) for python, ruby, node, bash and so on, which shrinks the chances.

Yup, and my ultimate goal is to end up with ONE uploader (this one) that will run on windows, mac, and linux without dependencies like: python, ruby, or node.

thanks for the comments 😄