-
Notifications
You must be signed in to change notification settings - Fork 394
New PowerShell compatibility rules #1133
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
Merged
JamesWTruher
merged 195 commits into
PowerShell:development
from
rjmholt:compatibility-rules
Feb 28, 2019
Merged
Changes from 193 commits
Commits
Show all changes
195 commits
Select commit
Hold shift + click to select a range
4e15fdb
Add compatibilty rule serialization types
rjmholt 803602d
Move compatibility checking code into submodule
01ec192
Create module manifest, change module base dir name
34ad54b
Move module to new file, change namespaces
17f007b
Add submodule binplace dir to .gitignore
rjmholt f22d2c8
Delete binary files
rjmholt b1d44c7
Fix up lsb info function
rjmholt 1f74cb7
Fixup module, correct names and namespaces
rjmholt 8dbe07b
Remove debugger wait
rjmholt de0d9cd
Improve architecture handling
rjmholt 2fb7c83
Clean up serialization API
rjmholt 19600ed
Improve module filtering
rjmholt d60da57
Partial work on query API
rjmholt b0c345b
Add more query types
rjmholt 212ce88
Update query API, move enums to common
rjmholt e1d56d1
Add assembly name to type accelerator dictionary
rjmholt b62e0d0
Add reference to compatibility project in pssa
rjmholt e2dfa54
Add new command compatibility rule
rjmholt c4284dd
Add deep clone, basic rule implementation
rjmholt 736f982
Make profiles multi-platform
rjmholt ccc886d
Fix Platform type name usage
rjmholt 10a5822
Add intersection logic
c23673b
Change to ICloneable, add some union functionality
8552e8d
More union implementation
b248df2
Finish union logic
rjmholt ba3e4b6
Add combinator methods
1a16b0a
Fix profile creation, add combinator cmdlet
4f4b011
Fix intersection logic, module versioning
0153c4b
Fix various NREs, try to improve profile combination
632c1df
Replace IDictionary with JsonDictionary
cb7b433
Change build target properly
d348f99
Fix broken namespace and build version
rjmholt 1a72a9c
Get output from intersection command
rjmholt 80fa9b6
TODO about intersection
rjmholt bd62a7e
Fix version intersections
c07ddaa
Add profiles to the committed assets
8363929
Add function to generate any_profile config
07ef2ac
Revert net452 change in order to build
6ef5bc9
Make profiles single-platform, enable multiple targets
e973c24
Hook rule into testing
rjmholt f99d98b
Fix string resources
496eb27
Hook cross compat up to first test
rjmholt d3f8260
Add custom diagnostic type for compatibility checking
rjmholt 44e55a0
Begin fixing case sensitivity
36c2575
Fix case sensitivity in profile union
c507e39
Fix platform property, make test pass
bfa892f
Add singleton for performance, change tests to test cases
d5cbf3d
Add cache clear method for profile loader
fadd51a
enable building on non-Windows to not target .Net Framework by defaul…
SteveL-MSFT 18cf52e
Make PSScriptAnalyzer build independent of CrossCompatibility build
c0cc653
Fix dll path issue in psm1
7c0f594
Add ubuntu 18.04 profiles
65aff03
Fix root module, fix type names, powershell version may be string
rjmholt 278548d
Make script compatible with PSv3
ac1c148
Fix v3 compat, add union profile name, begin version work
dd3bd35
Add PowerShellVersion class
rjmholt 2f5e743
Change PowerShell json to new version type, add test build
59558ae
Add documentation for UseCompatibleCmdlets2
b028f87
Remove PS from configuration example
0505d97
Fix versions + build merge problem, start typename fix
e36f396
Serialize type names correctly
rjmholt 10fcf67
Make function exports explicit
f2bc5fe
Fix psd1, add type name normalization functions
9bde797
Fix name normalization, add type query logic, genericize compatibilit…
rjmholt 6c7c2e8
Fix type query building bug, rename command compat rule, begin type c…
7f1c4e2
Build out type compatibility check rule
b081e0d
Use simple typename expansion
48075c3
Remove unused test assets, add scaffold for type tests, change platfo…
0df1426
Fix alias glitch, add native commands, move type conversion api
ad713a0
Add better profiles, add native command tracking, fix union and build
f05d5ce
Add union profile, move AzF profile out of folder
rjmholt 6963e9b
Move analysis exception to new file/namespace
rjmholt d2b8cd9
Add -Clean to build script
rjmholt d1321b8
Use new ending for profile extension
rjmholt d83b494
Use new structure for native commands
rjmholt f92c7d6
Add more command tests, fix GAC ignorance in profiler module
rjmholt 8b39577
Fix bugs in profile script, add validation function
rjmholt 65534fe
Fix profiler bugs, remove old profiles
rjmholt 4d4abf2
Ignore lack of profile dir
414c609
Omit edition on lower PS versions
rjmholt b88a9dc
Add new profiles, remove intersection logic, fix unions
f05afa8
Add IDs to profiles for later union autogeneration
348ec9d
Make profile loader more threadsafe
086ccb1
Use net452-compatible hashset logic
d39cc23
Fudge over type compilation bug
9ac11af
Add types tests, fix command param parsing, fix attribute parsing
rjmholt 94ceced
Update documentation, add types test
rjmholt ee2f85c
Add copyright headers
rjmholt 7ae557d
Add some doc comments - more to come
rjmholt 36b3604
Add simple syntax compatibility rule
rjmholt fc20ebe
Add workflow checking
rjmholt 464ade8
Remove parallel and sequence linting
rjmholt b8c5aab
update .net core version in README.md to match global.json
bergmeister a335bd3
The engine project does not need a reference to the crosscompat proje…
bergmeister cc65a3f
Remove example file
5dee8f6
Fix safe expression evaluation in settings parser
c1d951a
Remove bad debug code
1d864a4
Update language in gitignore
f114942
Add proper resource strings
5f73e15
Make tests pass
5f511ca
Remove unneeded bits
9f7bf8d
Add MEF attributes
321eb6f
Fix executable name problem
244ac2e
Use correct report summary switch
d62179c
Fix test bugs
373cb62
Tweaks to failing tests
85bb48a
Add documentation comments to C#
ffd2816
Remove violations error write in test
a6121cd
Add debug to csproj const properties
25d7202
Simplify build macros in the hope that they work now
e0183f3
Make profile cache case insensitive
rjmholt 27a5013
Add PSV3/4 flags to debug configurations
rjmholt b05ea4d
Improve new-object correction syntax
rjmholt 79b28af
Add tests for and fix up GetSafeValue implementation
rjmholt 526962e
Move to autogenerated union files
rjmholt 61267ea
Quote paths for testing, add exception to alias tests, remove unused …
rjmholt 4ee27a9
Add command parameter and static type member checking
rjmholt a170521
Enforce readonly nature of platform object
rjmholt 51abeef
Fix bugs in code and test
rjmholt b154ef5
Write union profile out on creation
rjmholt 09a6ae0
Add ignore settings for command and type compatibility rules
rjmholt a59f8f4
Add more testing, fix bugs, renew profiles
rjmholt b7376f5
Detect dynamic method invocation for ps3 compatibility
rjmholt 1cee8d7
Move from PLINQ to tasks
rjmholt 70ca135
Take out nonfix in command rule, fix build script syntax problem
rjmholt 44b6775
Fix profile union, type compat bugs, add type compat tests
rjmholt 2b2e1b5
Add script test for compatible commands
rjmholt 1b9eedf
Add tests for compatible syntax rule
rjmholt bdad46f
Add repo-facing tests for UseCompatibleSyntax
rjmholt fee3cef
Temp test to see ubuntu problem
rjmholt 75a5a20
Fix ubuntu date alias test
rjmholt 52693f6
Fix test failure in PSv3/4
rjmholt 2a5cabf
Make new error messages into resource strings
6f7572e
Add newtonsoft.json manually in old old powershell versions
3478c95
Filter diagnostics to omit parse errors
bf11890
Fix last PSv3/4 specific test
109b25b
Use better compile-time macro
fe48e86
Get rid of verbose logging of activator instantiation
243d6b8
Turn LINQ into lazy static methods
f01d717
Fix NRE in types, move command query tables to lazy methods
61056ca
Add CrossCompatibility to AppVeyor build and test
95cb4f8
Prevent trying to reload CrossCompatibility.dll
3617926
Add Windows SKU enum to platform query object
489ed94
Fix problems with CC module in AppVeyor path
rjmholt 258659d
More probing
rjmholt aa19ea4
Fix CC build condition
rjmholt eed8449
Add FX to build script params
rjmholt b150a3e
Attempt to fix Dll binplace issue
rjmholt c502cb1
Fix typename logic
rjmholt f558c8d
Fix EOL in files
rjmholt c7f158b
Remove unused LINQ calls
rjmholt 9f1ee8d
Address some of @JamesWTruher's feedback
rjmholt 63561b5
Better way to get common parameters
rjmholt 34599ec
Address more of @JamesWTruher's feedback
rjmholt b65f680
Address @bergmeister's add-type feedback
rjmholt 48dce51
Address pipe usage, nasty foreach
rjmholt 171f150
Profiles bundled as a ZIP file
rjmholt c028a0c
Ignore zip type in build file
rjmholt f6fe2f4
Ensure zip functions are present
rjmholt 857cd90
Change name of cross compat assembly
910bff0
Add cross compat asm to signing
963c163
Address more of @JamesWTruher's feedback
67a1bd7
Fix build path bug
014cd7c
Make some profiles optional, improve compat rule docs
rjmholt cf026bd
Add documentation
rjmholt c075fc7
Remove defunct anyplatform name
rjmholt 8f4ff3e
Add exclusion parameters to cc module
d180dce
Add parameter documentation
6bda8c9
Fix automatic variable detection
cc03326
Add explicit default case
d6cc604
Fix tests for fewer rules
3a3e0a8
Fix type compat test profile bugs
a73944d
Fix compatibility module bug
9d38424
Add path exclusions to module
76ce2cc
Fix linux pscustomobject problem
9ad6236
Fix profile module bugs, update profiles
bf8ae6d
Update documentation for profile names
4d7baff
Rename module and sign
5fb1e86
Fix build name bug
rjmholt 7df649c
Upgrade docket .NET version
rjmholt b881b41
Ignore clean error
rjmholt cb22eec
Add verbose message to release script
rjmholt 68d3a9c
Verbose hack
rjmholt 2c470db
Remove verbose
rjmholt 19902f1
Tweak out copy
rjmholt ac73104
Fix signing xml
rjmholt 3bd9b68
Fix signing XML
811b19c
Correct framework signing to net452
f809e97
Remove AuthenticodeDual
de673f0
Update signing for PSCompatibilityAnalyzer
a838929
Update VSCode search exclusion for profiles
f964820
Fix loading problem in PowerShell 5
a3f8c22
Fix Add-Type Newtonsoft in PS 5
245fd55
Add missing copyright headers
4a62b0b
Add other copyright headers
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.