Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm] Mark System.IO.FileSystem.Watcher APIs as unsupported on Browser #41682

Conversation

mdh1418
Copy link
Member

@mdh1418 mdh1418 commented Sep 1, 2020

Contributes to #41087

M:System.IO.ErrorEventArgs.#ctor(System.Exception),System.IO,ErrorEventArgs,.ctor(Exception),0
M:System.IO.ErrorEventArgs.GetException,System.IO,ErrorEventArgs,GetException(),0
"M:System.IO.FileSystemEventArgs.#ctor(System.IO.WatcherChangeTypes,System.String,System.String)",System.IO,FileSystemEventArgs,".ctor(WatcherChangeTypes, String, String)",0
M:System.IO.FileSystemEventArgs.get_ChangeType,System.IO,FileSystemEventArgs,get_ChangeType(),0
M:System.IO.FileSystemEventArgs.get_Name,System.IO,FileSystemEventArgs,get_Name(),0
M:System.IO.FileSystemEventArgs.get_FullPath,System.IO,FileSystemEventArgs,get_FullPath(),0
M:System.IO.FileSystemWatcher.get_NotifyFilter,System.IO,FileSystemWatcher,get_NotifyFilter(),0
M:System.IO.FileSystemWatcher.set_NotifyFilter(System.IO.NotifyFilters),System.IO,FileSystemWatcher,set_NotifyFilter(NotifyFilters),0
M:System.IO.FileSystemWatcher.get_Path,System.IO,FileSystemWatcher,get_Path(),0
M:System.IO.FileSystemWatcher.get_SynchronizingObject,System.IO,FileSystemWatcher,get_SynchronizingObject(),0
M:System.IO.FileSystemWatcher.BeginInit,System.IO,FileSystemWatcher,BeginInit(),0
M:System.IO.FileSystemWatcher.get_Site,System.IO,FileSystemWatcher,get_Site(),0
M:System.IO.FileSystemWatcher.WaitForChanged(System.IO.WatcherChangeTypes),System.IO,FileSystemWatcher,WaitForChanged(WatcherChangeTypes),0
M:System.IO.FileSystemWatcher.OnRenamed(System.IO.RenamedEventArgs),System.IO,FileSystemWatcher,OnRenamed(RenamedEventArgs),0
M:System.IO.FileSystemWatcher.OnError(System.IO.ErrorEventArgs),System.IO,FileSystemWatcher,OnError(ErrorEventArgs),0
M:System.IO.FileSystemWatcher.get_EnableRaisingEvents,System.IO,FileSystemWatcher,get_EnableRaisingEvents(),0
M:System.IO.FileSystemWatcher.set_Path(System.String),System.IO,FileSystemWatcher,set_Path(String),0
M:System.IO.FileSystemWatcher.set_InternalBufferSize(System.Int32),System.IO,FileSystemWatcher,set_InternalBufferSize(Int32),0
M:System.IO.FileSystemWatcher.get_IncludeSubdirectories,System.IO,FileSystemWatcher,get_IncludeSubdirectories(),0
M:System.IO.FileSystemWatcher.OnCreated(System.IO.FileSystemEventArgs),System.IO,FileSystemWatcher,OnCreated(FileSystemEventArgs),0
M:System.IO.FileSystemWatcher.OnDeleted(System.IO.FileSystemEventArgs),System.IO,FileSystemWatcher,OnDeleted(FileSystemEventArgs),0
"M:System.IO.FileSystemWatcher.WaitForChanged(System.IO.WatcherChangeTypes,System.Int32)",System.IO,FileSystemWatcher,"WaitForChanged(WatcherChangeTypes, Int32)",0
M:System.IO.FileSystemWatcher.set_SynchronizingObject(System.ComponentModel.ISynchronizeInvoke),System.IO,FileSystemWatcher,set_SynchronizingObject(ISynchronizeInvoke),0
M:System.IO.FileSystemWatcher.#ctor,System.IO,FileSystemWatcher,.ctor(),0
M:System.IO.FileSystemWatcher.set_IncludeSubdirectories(System.Boolean),System.IO,FileSystemWatcher,set_IncludeSubdirectories(Boolean),0
M:System.IO.FileSystemWatcher.OnChanged(System.IO.FileSystemEventArgs),System.IO,FileSystemWatcher,OnChanged(FileSystemEventArgs),0
M:System.IO.FileSystemWatcher.get_InternalBufferSize,System.IO,FileSystemWatcher,get_InternalBufferSize(),0
M:System.IO.FileSystemWatcher.set_EnableRaisingEvents(System.Boolean),System.IO,FileSystemWatcher,set_EnableRaisingEvents(Boolean),0
M:System.IO.FileSystemWatcher.set_Filter(System.String),System.IO,FileSystemWatcher,set_Filter(String),0
"M:System.IO.FileSystemWatcher.#ctor(System.String,System.String)",System.IO,FileSystemWatcher,".ctor(String, String)",0
M:System.IO.FileSystemWatcher.set_Site(System.ComponentModel.ISite),System.IO,FileSystemWatcher,set_Site(ISite),0
M:System.IO.FileSystemWatcher.#ctor(System.String),System.IO,FileSystemWatcher,.ctor(String),0
M:System.IO.FileSystemWatcher.get_Filter,System.IO,FileSystemWatcher,get_Filter(),0
M:System.IO.FileSystemWatcher.EndInit,System.IO,FileSystemWatcher,EndInit(),0
M:System.IO.FileSystemWatcher.get_Filters,System.IO,FileSystemWatcher,get_Filters(),0
"M:System.IO.InternalBufferOverflowException.#ctor(System.String,System.Exception)",System.IO,InternalBufferOverflowException,".ctor(String, Exception)",0
M:System.IO.InternalBufferOverflowException.#ctor(System.String),System.IO,InternalBufferOverflowException,.ctor(String),0
"M:System.IO.InternalBufferOverflowException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)",System.IO,InternalBufferOverflowException,".ctor(SerializationInfo, StreamingContext)",0
M:System.IO.InternalBufferOverflowException.#ctor,System.IO,InternalBufferOverflowException,.ctor(),0
"M:System.IO.RenamedEventArgs.#ctor(System.IO.WatcherChangeTypes,System.String,System.String,System.String)",System.IO,RenamedEventArgs,".ctor(WatcherChangeTypes, String, String, String)",0
M:System.IO.RenamedEventArgs.get_OldName,System.IO,RenamedEventArgs,get_OldName(),0
M:System.IO.RenamedEventArgs.get_OldFullPath,System.IO,RenamedEventArgs,get_OldFullPath(),0
M:System.IO.WaitForChangedResult.set_TimedOut(System.Boolean),System.IO,WaitForChangedResult,set_TimedOut(Boolean),0
M:System.IO.WaitForChangedResult.get_ChangeType,System.IO,WaitForChangedResult,get_ChangeType(),0
M:System.IO.WaitForChangedResult.set_OldName(System.String),System.IO,WaitForChangedResult,set_OldName(String),0
M:System.IO.WaitForChangedResult.set_ChangeType(System.IO.WatcherChangeTypes),System.IO,WaitForChangedResult,set_ChangeType(WatcherChangeTypes),0
M:System.IO.WaitForChangedResult.get_TimedOut,System.IO,WaitForChangedResult,get_TimedOut(),0
M:System.IO.WaitForChangedResult.get_OldName,System.IO,WaitForChangedResult,get_OldName(),0
M:System.IO.WaitForChangedResult.set_Name(System.String),System.IO,WaitForChangedResult,set_Name(String),0
M:System.IO.WaitForChangedResult.get_Name,System.IO,WaitForChangedResult,get_Name(),0

@ghost
Copy link

ghost commented Sep 1, 2020

Tagging subscribers to this area: @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

@mdh1418 mdh1418 force-pushed the mdhwang/system_io_filesystem_watcher_unsupported branch 2 times, most recently from 5aa139f to 148ee65 Compare September 1, 2020 20:49
@mdh1418 mdh1418 force-pushed the mdhwang/system_io_filesystem_watcher_unsupported branch 2 times, most recently from 479b671 to a3f796c Compare September 2, 2020 13:47
public string? OldName { get { throw null; } }
}
public delegate void RenamedEventHandler(object sender, System.IO.RenamedEventArgs e);
public partial struct WaitForChangedResult
{
private object _dummy;
private int _dummyPrimitive;
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it not on class?

Copy link
Member Author

Choose a reason for hiding this comment

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

Right, it should be. I now realize the whole assembly can be skipped #41682 (comment)

@@ -72,18 +103,25 @@ public enum NotifyFilters
}
public partial class RenamedEventArgs : System.IO.FileSystemEventArgs
{
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it not on class?

@@ -8,54 +8,85 @@ namespace System.IO
{
public partial class ErrorEventArgs : System.EventArgs
{
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it not on class?

public virtual System.Exception GetException() { throw null; }
}
public delegate void ErrorEventHandler(object sender, System.IO.ErrorEventArgs e);
public partial class FileSystemEventArgs : System.EventArgs
{
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it not on class?

@mdh1418 mdh1418 force-pushed the mdhwang/system_io_filesystem_watcher_unsupported branch from a3f796c to 6251033 Compare September 4, 2020 16:30
@mdh1418
Copy link
Member Author

mdh1418 commented Sep 4, 2020

Changed to mark UnsupportedOSPlatforms at assembly level since it is skipped for tests at the assembly level.

[assembly: SkipOnMono("System.IO.FileSystem.Watcher is not supported on wasm", TestPlatforms.Browser)]

@akoeplinger akoeplinger merged commit c49aab6 into dotnet:master Sep 4, 2020
@mdh1418 mdh1418 deleted the mdhwang/system_io_filesystem_watcher_unsupported branch September 4, 2020 20:01
mdh1418 added a commit to mdh1418/runtime that referenced this pull request Sep 8, 2020
…er (dotnet#41682)

* [wasm] System.IO.FileSystem.Watcher enable platform attributes

* Mark System.IO.FileSystem.Watcher unsupported at assembly level

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
mdh1418 added a commit that referenced this pull request Sep 9, 2020
* [wasm] Mark System.ComponentModel APIs as unsupported on Browser (#41094)

* [wasm] System.ComponentModel enable platform attributes

* [wasm] Mark ExtendedProtectionPolicyTypeConverter.ConvertTo as unsupported

* [wasm] Mark System.ComponentModel.TypeDescriptor.CreateInstance as unsupported

* [wasm] Mark System.ComponentModel.TypeDescriptionProvider.CreateInstance as unsupported

* [wasm] Mark System.ComponentModel.LicenseManager.CreateWithContext as unsupported

* [wasm] Mark System.ComponentModel.MaskedTextProvider.Clone as unsupported

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* [wasm] Mark System.Console APIs as unsupported on Browser (#41184)

* [wasm] Mark System.Console APIs as unsupported on Browser

* System.Console remove unsupported attribute from Console.Clear()

* System.Console mark SetIn as unsupported on Browser

* System.Console move UnsupportedOSPlatform attributes down to the accessor

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* Mark System.Diagnostics.FileVersionInfo as unsupported on Browser (#41271)

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* Mark System.Diagnostics.Process unsupported at assembly level (#41694)

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* [wasm] Mark System.IO.Compression APIs as unsupported on Browser (#41683)

* [wasm] System.IO.Compression.Brotli enable platform attributes

* Mark System.IO.Compression.Brotli unsupported at assembly level

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* [wasm] Mark System.IO.FileSystem.Watcher APIs as unsupported on Browser (#41682)

* [wasm] System.IO.FileSystem.Watcher enable platform attributes

* Mark System.IO.FileSystem.Watcher unsupported at assembly level

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* [wasm] Mark System.IO.IsolatedStorage APIs as unsupported on Browser (#41700)

* [wasm] System.IO.IsolatedStorage enable platform attributes

* Mark System.IO.IsolatedStorage Unsupported at assembly level

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* Mark some System.Net.* APIs as unsupported on Browser WASM (#40924)

* [wasm] Mark System.Threading.ThreadPool unsupported on Browser (#41891)

* System.Threading.ThreadPool enable platform attributes

* Mark System.Threading.ThreadPool APIs unsupported on browser

* System.Threading.ThreadPool Add Unsupported attribute to other ThreadPool files

* Remove Unsupported attributes from BindHandle

* Add windows Supported Attribute to BindHandle

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

* Mark System.Net.WebSockets.ClientWebSocketOptions APIs as unsupported on Browser (#41963)

* Mark System.Net.WebSockets.ClientWebSocketOptions APIs as unsupported on Browser

* Add the attributes to non-browser version of ClientWebSocketOptions class to avoid build error

* Add using

* Include platform attributes

* [wasm] Mark System.Net.NameResolution Unsupported at assembly level (#41985)

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Maxim Lipnin <v-maxlip@microsoft.com>
mdh1418 added a commit to mdh1418/runtime that referenced this pull request Sep 11, 2020
…er (dotnet#41682)

* [wasm] System.IO.FileSystem.Watcher enable platform attributes

* Mark System.IO.FileSystem.Watcher unsupported at assembly level

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
@ghost ghost locked as resolved and limited conversation to collaborators Dec 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-System.IO
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants