State of http://github.com/bazelbuild/rules_dotnet ?

234 views
Skip to first unread message

Lukács T. Berki

unread,
Jul 31, 2018, 7:51:41 AM7/31/18
to ja...@solidangle.ca, jer...@marzhillstudios.com, bazel-dev
Hey there,

What is the state of the .NET rules of Bazel?

I'm asking because I'm currently taking stock of all the rules_* repositories under http://github.com/bazelbuild/bazel, and rules_dotnet has not seen much activity since March. Are you still using/maintaining them?



--
Lukács T. Berki | Software Engineer | lbe...@google.com | 

Google Germany GmbH | Erika-Mann-Str. 33  | 80636 München | Germany | Geschäftsführer: Paul Manicle, Halimah DeLaine Prado | Registergericht und -nummer: Hamburg, HRB 86891

Jeremy Wall

unread,
Jul 31, 2018, 7:54:57 AM7/31/18
to Lukács T. Berki, ja...@solidangle.ca, bazel-dev
I'm not currently doing much with C# so my availability to work on that project is pretty limited. I think you would have to say that I'm not currently maintaining them.

Lukács T. Berki

unread,
Jul 31, 2018, 7:56:01 AM7/31/18
to Jeremy Wall, ja...@solidangle.ca, bazel-dev
Thanks for the reply! That's not an ideal state of affairs, but at least now we know that we have a hole in our maintenance coverage.

Jeremy Wall

unread,
Jul 31, 2018, 8:14:45 AM7/31/18
to Lukács T. Berki, ja...@solidangle.ca, bazel-dev
No problem, there were a couple of other contributors who might want to take up the maintainers mantle. I'm on my phone right now call I can't look them up. You can find them in the pull requests though.

If I were still doing C# I would definitely still be working on this. The build tooling in that ecosystem was kind of terrible.

Jacob Parker

unread,
Aug 10, 2018, 9:40:12 PM8/10/18
to Jeremy Wall, Lukács T. Berki, bazel-dev
I would definitely be interested in helping maintain the rules. My company has around 1400 csharp_library targets (on Windows) if I remember correctly. We are running our own fork but I'd like that to not be the case eventually.

I'm currently away from the computer until September bicycling across Canada with mostly no internet use.

Laurent Le Brun

unread,
Aug 14, 2018, 10:58:58 AM8/14/18
to ja...@solidangle.ca, jer...@marzhillstudios.com, Lukács T. Berki, bazel-dev
Thanks Jacob! It's interesting to know you're using the C# rules in
your company.

I'd love to see the rules on GitHub. Let me know if you need any help.
> --
> You received this message because you are subscribed to the Google Groups "bazel-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to bazel-dev+...@googlegroups.com.
> To post to this group, send email to baze...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-dev/CAEaa%3DBQgoqkASCmpfcaVqvkp6dJV9_UkuctkB-o68Q0Z3YJOQg%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.



--
Laurent

tomasz.s...@gmail.com

unread,
Aug 22, 2018, 3:53:23 PM8/22/18
to bazel-dev
Hey,

I forked the repository to https://github.com/tomaszstrejczek/rules_dotnet and significantly changed it. The implementation is heavily influenced by rules_go (toolchains, providers, context). At the current state it supports mono, .net core (linux, windows, osx) and .net (windows).
It was further improved by https://github.com/dtulepov.

Regards,
   Tomek

Laurent Le Brun

unread,
Aug 22, 2018, 6:16:39 PM8/22/18
to tomasz.s...@gmail.com, bazel-dev
Looks great!
Do you think you can contribute your changes back to
https://github.com/bazelbuild/rules_dotnet? It's probably better to
have the rules in a central place where everyone can contribute.
> --
> You received this message because you are subscribed to the Google Groups "bazel-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to bazel-dev+...@googlegroups.com.
> To post to this group, send email to baze...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-dev/14bc28e3-8b5d-4740-b236-5cb30aa9c8ae%40googlegroups.com.

tomasz.s...@gmail.com

unread,
Aug 23, 2018, 1:36:51 PM8/23/18
to Laurent Le Brun, bazel-dev
Sure. I proposed the implementation in May: https://github.com/bazelbuild/rules_dotnet/issues/60.
Since there was no answer, I continued working on my fork.
Do you want me to submit a pull request? I have a feeling that nobody is really maintaining https://github.com/bazelbuild/rules_dotnet.

Regards,
Tomek

Laurent Le Brun

unread,
Aug 23, 2018, 1:49:11 PM8/23/18
to Tomek Strejczek, Jakob Buchgraber, bazel-dev
Sorry about that! I've just noticed that the repository is effectively
unmaintained.
We should give commit access to people who actually develop the rules.

cc +Jakob Buchgraber who can grant the access
--
Laurent

Damir Tulepov

unread,
Aug 23, 2018, 3:17:11 PM8/23/18
to Laurent Le Brun, Tomek Strejczek, Jakob Buchgraber, baze...@googlegroups.com
That would be great. Can you give access to Tomek(https://github.com/tomaszstrejczek) and me (https://github.com/dtulepov) ?

Regards,
Damir

Damir Tulepov | Software Development Engineer in Test | Kaspersky Lab | Office: +7 495 797 87 00 x774030
To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-dev/CAFtxR%2B%3D2Uv%3DprpjyTqVYQLniawbSkwc-ZjztSMorTF8Z75LWLw%40mail.gmail.com.

tomasz.s...@gmail.com

unread,
Aug 24, 2018, 2:45:29 PM8/24/18
to Damir Tulepov, Laurent Le Brun, Jakob Buchgraber, baze...@googlegroups.com
I updated the master of rules_dotnet. Is there anybody who has access to bazelbuild GitHub account to enable Appveyor (https://ci.appveyor.com/project/bazelbuild/rules-dotnet) and Tavis CI (https://travis-ci.org/bazelbuild/rules_dotnet) for rules_dotnet?

Philipp Wollermann

unread,
Aug 27, 2018, 7:42:36 AM8/27/18
to tomasz.s...@gmail.com, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Travis should be enabled now.

I have the necessary permissions, but I don't know how to activate AppVeyor for that repository. If I follow the link, I get a "Project not found or access denied." error message.
I've logged into AppVeyor as my personal GitHub user and granted AppVeyor the necessary permissions on our org, but when I create a new project for rules_dotnet, it's associated with my personal account: https://ci.appveyor.com/project/philwo/rules-dotnet (the repository URL correctly references github.com/bazelbuild/rules_dotnet though, so this isn't for my personal fork).
Any idea how to set this up for a project and not an individual?

Also, is there a reason why you'd prefer AppVeyor and Travis CI, or would using Bazel's Buildkite-based CI an alternative?
I looked at your Travis config and think it should be easy to get running there. If you're interested I could send you a PR with a config for our Buildkite CI. :)
By having it on Buildkite, we would also be able to test it against Bazel HEAD and ensure that we don't do a release of Bazel that breaks your build and tests.

Cheers,
Philipp



For more options, visit https://groups.google.com/d/optout.


--
Philipp Wollermann
Software Engineer
phi...@google.com

Google Germany GmbH
Erika-Mann-Straße 33
80636 München


Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.

This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.

tomasz.s...@gmail.com

unread,
Sep 1, 2018, 11:27:40 AM9/1/18
to Philipp Wollermann, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev

I can switch to Bazel’s buildkite but will need the necessary access. Can you provide me with it? Also a PR is more than welcome 😊

Regards,

   Tomek

Philipp Wollermann

unread,
Sep 4, 2018, 9:33:56 AM9/4/18
to Tomek Strejczek, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev
I did the following now:
- Setup a Buildkite pipeline (https://buildkite.com/bazel/rules-dotnet-edge),
- invited Tomek to our Buildkite project,
- sent a PR with an initial config (https://github.com/bazelbuild/rules_dotnet/pull/64) and

Tomek, do I understand correctly that we need to install the latest release of Mono on all platforms in order for rules_dotnet to work?
Would you like to test on Ubuntu 14.04, macOS and Windows, or should I add / remove something from that set? :)

Cheers,
Philipp

tomasz.s...@gmail.com

unread,
Sep 4, 2018, 4:56:35 PM9/4/18
to Philipp Wollermann, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev

Thank you. I updated the master to point to the Buildkite badge.

Yes, all platforms require Mono installation and Windows platform requires .NET framework installation (4.7.2 devpack should be ok). Unfortunately, I couldn’t find any way to download and run in-place Mono nor .NET framework

Also, I don’t have permissions to detach Travis and AppVeyor hooks and attach Buildkite hook for rules_dotnet repo. Could somebody do it?

Philipp Wollermann

unread,
Sep 10, 2018, 7:48:10 AM9/10/18
to Tomek Strejczek, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Hi Tomek,

I'll install the required software on the CI machines / VMs today and will also detach Travis / AppVeyor once the build looks good on Buildkite. :)

Cheers,
Philipp

Philipp Wollermann

unread,
Sep 27, 2018, 10:59:27 AM9/27/18
to Tomek Strejczek, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Mono and .NET Framework 4.6.2 DevPack has been installed on all Linux and Windows machines now. I haven't gotten to the Macs yet.


Any idea?

Damir Tulepov

unread,
Sep 27, 2018, 11:08:03 AM9/27/18
to Philipp Wollermann, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev

Can’t  access build information/logs:

“You must log in to see this page”

After login:

“Page not found

Sorry, the page you’re trying to access could not be found”

Philipp Wollermann

unread,
Sep 27, 2018, 11:10:10 AM9/27/18
to Damir....@kaspersky.com, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Hi Damir,

I sent you an invite to our Buildkite organization now. If you accept it, you should have the necessary permissions to see the logs!

Cheers,
Philipp

Damir Tulepov

unread,
Sep 27, 2018, 11:22:22 AM9/27/18
to Philipp Wollermann, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev

Hi Philipp

 

https://github.com/bazelbuild/rules_dotnet/blob/4fe5f48c85df77783056c2e0c42bf41b9a6280aa/dotnet/private/sdk.bzl#L133

 

About windows build - is mono executable path in PATH env var (or location not in c:/program files/mono/) ?

Can’t find any information about mono in logs.

Damir Tulepov

unread,
Sep 27, 2018, 12:23:11 PM9/27/18
to Philipp Wollermann, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev

I've completed my job task (building C# project with rules_dotnet) and can't spend job time for bazel/rules_dotnet. Will try to fix build issues with buildkite (PR to https://github.com/bazelbuild/continuous-integration) on weekends.

 

From: Damir Tulepov
Sent: Thursday, September 27, 2018 6:21 PM
To: 'Philipp Wollermann'
Cc: Tomek Strejczek; Laurent Le Brun; Jakob Buchgraber; bazel-dev
Subject: RE: State of http://github.com/bazelbuild/rules_dotnet ?

 

Hi Philipp

 

https://github.com/bazelbuild/rules_dotnet/blob/4fe5f48c85df77783056c2e0c42bf41b9a6280aa/dotnet/private/sdk.bzl#L133

 

About windows build - is mono executable path in PATH env var (or location not in c:/program files/mono/) ?

Can’t find any information about mono in logs.

 

From: Philipp Wollermann [mailto:phi...@google.com]

Sent: Thursday, September 27, 2018 6:10 PM
To: Damir Tulepov

Tony Aiuto

unread,
Sep 27, 2018, 2:40:24 PM9/27/18
to Philipp Wollermann, tomasz.s...@gmail.com, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev
On Thu, Sep 27, 2018 at 10:59 AM 'Philipp Wollermann' via bazel-dev <baze...@googlegroups.com> wrote:
Mono and .NET Framework 4.6.2 DevPack has been installed on all Linux and Windows machines now. I haven't gotten to the Macs yet.

I have a question for the .NET experts. How much does testing with different releases of .NET matter?
We know from experiences with Java that there are always significant users at the most current 3 releases of the JDK, so that we can't just get away with trying one. Can .NET users get away with holding off updates? Or do they pretty much have to stay current?

I'm not committing Bazel to provide multiple versions. I just want to get a sense of need for capacity planning.

 

Philipp Wollermann

unread,
Sep 27, 2018, 2:44:36 PM9/27/18
to Damir....@kaspersky.com, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Hi,

sorry, my message was not clear. What I installed on the different OS is:

- Ubuntu 14.04 / 16.04 / 18.04: Mono (latest stable from https://www.mono-project.com/download/stable/#download-lin)
- Windows: .NET Framework 4.6.2 DevPack (from https://chocolatey.org/packages/netfx-4.6.2-devpack)
- Mac: Nothing yet.

So, Windows doesn't have Mono. Do we need Mono on Windows, too?

Damir Tulepov

unread,
Sep 27, 2018, 2:48:26 PM9/27/18
to Philipp Wollermann, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev

>> Do we need Mono on Windows, too?

Yes. Mono required for all platforms.

Philipp Wollermann

unread,
Sep 27, 2018, 2:54:37 PM9/27/18
to Damir....@kaspersky.com, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev
OK, thank you. Do we also need .NET Framework 4.6.2 DevPack on Windows then, or only Mono?

Damir Tulepov

unread,
Sep 27, 2018, 3:11:04 PM9/27/18
to Philipp Wollermann, Tomek Strejczek, Laurent Le Brun, Jakob Buchgraber, bazel-dev

tomasz.s...@gmail.com

unread,
Sep 29, 2018, 10:55:36 AM9/29/18
to Damir Tulepov, Philipp Wollermann, Laurent Le Brun, Jakob Buchgraber, bazel-dev

Please also note, that bazel on Windows requires long paths support:

https://www.howtogeek.com/266621/how-to-make-windows-10-accept-file-paths-over-260-characters/

 

Regards,

Tomasz

tomasz.s...@gmail.com

unread,
Sep 29, 2018, 11:04:23 AM9/29/18
to Tony Aiuto, Philipp Wollermann, Damir....@kaspersky.com, Laurent Le Brun, Jakob Buchgraber, bazel-dev

From my experience, I have a feeling that the adoption of newer versions of .NET tends to go faster than in the Java world. The .NET newer versions adoption is driven by Visual Studio regular upgrades.

 

Regards,

   Tomasz

 

From: Tony Aiuto <ai...@google.com>
Sent: Thursday, September 27, 2018 8:40 PM
To: Philipp Wollermann <phi...@google.com>

 

On Thu, Sep 27, 2018 at 10:59 AM 'Philipp Wollermann' via bazel-dev <baze...@googlegroups.com> wrote:

tomasz.s...@gmail.com

unread,
Feb 12, 2021, 1:50:21 PM2/12/21
to Damir Tulepov, Philipp Wollermann, Laurent Le Brun, Jakob Buchgraber, bazel-dev

I’ve finally fixed builkite definitions for rules_dotnet and presubmit.yml builds correctly on all supported platforms: https://buildkite.com/bazel/rules-dotnet-edge/builds/627.

Could anybody with proper permissions enable buildkite for Github for pull requests?

 

Regards,

   Tomek

Philipp Wollermann

unread,
Feb 16, 2021, 9:27:31 AM2/16/21
to Tomek Strejczek, Damir Tulepov, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Hi Tomek,

Thank you for the work! I've enabled Buildkite for GitHub PRs now. Please let me know if you observe any issues.

Cheers,
Philipp

Message has been deleted
Message has been deleted

Tomek Strejczek

unread,
Oct 15, 2021, 3:57:57 AM10/15/21
to Philipp Wollermann, Damir Tulepov, Laurent Le Brun, Jakob Buchgraber, bazel-dev
Hi,

I propose to add additional maintainers to the rules_dotnet project:

- Daníel P. Purkhús (@purkhusid)
- Hassan Syed (@hsyed-dojo)
- Tom de Goede (@tomdegoede)

All of them are willing to help maintain these rules and their companies are actively using them.
It seems I don't have permissions to do that.

Regards,
   Tomek

Philipp Wollermann

unread,
Oct 19, 2021, 9:07:00 AM10/19/21
to bazel-dev
Hi,

Thank you Tomek and sorry for the delayed response.

I sent all three users an invite to the repository that grants "Maintain" permissions. If anyone in the repo needs "Admin" permissions instead, please just send me a quick e-mail and I can set that up, too.

Cheers,
Philipp

Reply all
Reply to author
Forward
0 new messages