Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

Moving Microsoft.ServiceModel.Syndication from wcf to corefx. #24202

Merged
merged 58 commits into from
Sep 22, 2017

Conversation

shmao
Copy link
Contributor

@shmao shmao commented Sep 21, 2017

The PR is moving Microsoft.ServiceModel.Syndication from wcf to corefx.

mconnew and others added 30 commits June 7, 2017 18:03
…eading a feed from outside, also as part of our default date parser, if it can't parse the date it will just assign a default date to avoid the crash
Added custom parsing for RSS formats.
Cleaned the code.
Executed CodeFormatter tool.
Added test for custom parsing.
…or RSS formatting

Image issue fixed and added some tests
@danmoseley
Copy link
Member

danmoseley commented Sep 21, 2017

What is the reason for moving it to corefx? The compat pack can pull it just as well from wcf.

Right now we are trying to figure out some rules about what libraries we want to add to the corefx repo. I am not sure whether this is one or not.

@Petermarcu @karelz

[EDIT] Fixing Peter's alias

@justinvp
Copy link
Contributor

I'm curious: Why is this Microsoft.ServiceModel.Syndication and not System.ServiceModel.Syndication to match .NET Framework?

@zhenlan
Copy link
Member

zhenlan commented Sep 21, 2017

What is the reason for moving it to corefx? The compat pack can pull it just as well from wcf.

Hi @danmosemsft The Syndication library has no dependency on WCF at all. It does not really related to WCF either. Many other these kind of libraries live in corefx repo today. Corefx repo has better build support etc. so we can be more focusing on the code and get the release out of door more efficiently. In the future, if we have a better plan for all the projects that live in corefx but does not belong to the shared framework, we certainly can follow any guidance at that time.

Why is this Microsoft.ServiceModel.Syndication and not System.ServiceModel.Syndication to match .NET Framework?

Hi @justinvp Yes, it was given "Microsoft" namespace while we were prototyping the port. It will be changed to "System" namespace before the release.

@justinvp
Copy link
Contributor

Yes, it was given "Microsoft" namespace while we were prototyping the port. It will be changed to "System" namespace before the release.

Should it be changed to System before it lands in corefx (i.e. change to System as part of this PR)?

@shmao
Copy link
Contributor Author

shmao commented Sep 21, 2017

Should it be changed to System before it lands in corefx (i.e. change to System as part of this PR)?

Sounds good. Will do.

@karelz karelz added * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) area-Meta labels Sep 22, 2017
@karelz
Copy link
Member

karelz commented Sep 22, 2017

I share @danmosemsft's concern about adding this library into corefx instead of wcf repo.
What is the motivation? Isn't the entire System.ServiceModel namespace heavily WCF related?

BTW: What is the value of using Microsoft namespace for the prototype? (I can't come up with any)
UPDATE: It is already renamed, so irrelevant question.

MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ServiceModel.Syndication", "src\Microsoft.ServiceModel.Syndication.csproj", "{B615835F-C286-4FB5-A2BF-C3B967AB9EC6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ServiceModel.Syndication.Tests", "tests\Microsoft.ServiceModel.Syndication.Tests.csproj", "{A622B2C0-DD74-4218-9CF0-F9B2E52F4E91}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sure you're aware but the project references and name of this solution file should be changed from Microsoft to System.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The csproj currently does not build in corefx. The PR is mainly for porting the code from wcf to corefx. I planned to enable the build of the project later and fix the namespace later for better code review experience.

// See the LICENSE file in the project root for more information.


namespace Microsoft.ServiceModel.Syndication
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Microsoft -> System (applies throughout)


namespace Microsoft.ServiceModel.Syndication
{
internal static class App10Constants
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be consistent with the other components in corefx, the source files should be nested under their namespace components (for example, see System.Collections' layout).

Instead of:

src/System.ServiceModel.Syndication/src/App10Constants.cs

Change to:

src/System.ServiceModel.Syndication/src/System/ServiceModel/Syndication/App10Constants.cs

(applies throughout)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, will change this later in separate PR.

@shmao
Copy link
Contributor Author

shmao commented Sep 22, 2017

Isn't the entire System.ServiceModel namespace heavily WCF related?

Although S.SM.Syndication is in System.ServiceModel namespace, it's not related to WCF. It actually has no dependency on any of WCF components at all. I believed it was put in System.ServiceModel only because it was developed by WCF team.

@stephentoub
Copy link
Member

I believed it was put in System.ServiceModel only because it was developed by WCF team.

Is there anything else System.ServiceModel.* in corefx? Seems pretty explainable to say "If the thing you're looking for is in System.ServiceModel, it's in the wcf repo".

@karelz karelz removed the * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) label Sep 22, 2017
Copy link
Member

@zhenlan zhenlan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are will be additional PRs to make this project build in corefx, clean up namespace, add more tests etc. etc. Once this PR is merged it will serve as a baseline. It will make it easier to review future PRs. We can create an issue to track any specific concerns folks may have now and address them in future PRs.

@shmao shmao merged commit feb04e0 into dotnet:master Sep 22, 2017
@karelz karelz added this to the 2.1.0 milestone Oct 11, 2017
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
Moving Microsoft.ServiceModel.Syndication from wcf to corefx.

Commit migrated from dotnet/corefx@feb04e0
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants