Skip to content

Commit 3245f33

Browse files
committed
Merge branch 'main' into 3.6
2 parents 3b824f0 + c1345b4 commit 3245f33

File tree

120 files changed

+1621
-1058
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+1621
-1058
lines changed

.editorconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ dotnet_diagnostic.CA1305.severity = none # CA1305: Specify IFormatProvide
6060
dotnet_diagnostic.CA1307.severity = suggestion # CA1307: Specify StringComparison for clarity
6161
dotnet_diagnostic.CA1309.severity = suggestion # CA1309: Use ordinal string comparison
6262
dotnet_diagnostic.CA1310.severity = warning # CA1310: Specify StringComparison for correctness
63+
dotnet_diagnostic.CA1510.severity = none # CA1510: Use ArgumentNullException throw helper
64+
dotnet_diagnostic.CA1512.severity = none # CA1512: Use ArgumentOutOfRangeException throw helper
65+
dotnet_diagnostic.CA1513.severity = none # CA1513: Use ObjectDisposedException throw helper
6366
dotnet_diagnostic.CA1707.severity = none # CA1707: Identifiers should not contain underscores
6467
dotnet_diagnostic.CA1708.severity = none # CA1708: Identifiers should differ by more than case
6568
dotnet_diagnostic.CA1710.severity = none # CA1710: Identifiers should have correct suffix
@@ -81,8 +84,10 @@ dotnet_diagnostic.CA1845.severity = none # CA1845: Use span-based 'string
8184
dotnet_diagnostic.CA1846.severity = none # CA1846: Prefer 'AsSpan' over 'Substring'
8285
dotnet_diagnostic.CA1847.severity = none # CA1847: Use char literal for a single character lookup
8386
dotnet_diagnostic.CA1852.severity = suggestion # CA1852: Seal internal types
87+
dotnet_diagnostic.CA1854.severity = suggestion # CA1854: Prefer the 'IDictionary.TryGetValue(TKey, out TValue)' method
8488
dotnet_diagnostic.CA1859.severity = suggestion # CA1859: Use concrete types when possible for improved performance
8589
dotnet_diagnostic.CA1861.severity = suggestion # CA1861: Avoid constant arrays as arguments
90+
dotnet_diagnostic.CA1863.severity = none # CA1863: Use 'CompositeFormat'
8691
dotnet_diagnostic.CA2101.severity = suggestion # CA2101: Specify marshaling for P/Invoke string arguments
8792
dotnet_diagnostic.CA2201.severity = none # CA2201: Do not raise reserved exception types
8893
dotnet_diagnostic.CA2208.severity = suggestion # CA2208: Instantiate argument exceptions correctly
@@ -95,3 +100,6 @@ dotnet_diagnostic.CA5350.severity = suggestion # CA5350: Do Not Use Weak Crypto
95100
dotnet_diagnostic.CA5351.severity = suggestion # CA5351: Do Not Use Broken Cryptographic Algorithms
96101
dotnet_diagnostic.CA5359.severity = suggestion # CA5359: Do Not Disable Certificate Validation
97102
dotnet_diagnostic.CA5372.severity = suggestion # CA5372: Use XmlReader For XPathDocument
103+
104+
dotnet_diagnostic.SYSLIB1045.severity = suggestion # SYSLIB1045: Use 'RegexGeneratorAttribute' to generate the regular expression implementation at compile-time
105+
dotnet_diagnostic.SYSLIB1054.severity = suggestion # SYSLIB1054: Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time

.github/workflows/main.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,27 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
os: [windows-latest, ubuntu-latest, macos-latest]
13+
os: [windows-latest, ubuntu-latest, macos-latest-large]
1414

1515
steps:
1616
- name: Install tools
1717
if: matrix.os == 'ubuntu-latest'
1818
run: sudo apt-get -yq install mono-vbnc dos2unix
19-
- uses: actions/checkout@v2
19+
- uses: actions/checkout@v4
2020
with:
2121
submodules: true
2222
- name: Setup .NET Core 3.1
23-
uses: actions/setup-dotnet@v1
23+
uses: actions/setup-dotnet@v4
2424
with:
2525
dotnet-version: '3.1.x'
2626
- name: Setup .NET 6.0
27-
uses: actions/setup-dotnet@v1
27+
uses: actions/setup-dotnet@v4
2828
with:
2929
dotnet-version: '6.0.x'
30+
- name: Setup .NET 8.0
31+
uses: actions/setup-dotnet@v4
32+
with:
33+
dotnet-version: '8.0.x'
3034
- name: Version Information
3135
run: |
3236
dotnet --info
@@ -37,9 +41,9 @@ jobs:
3741
run: pwsh make.ps1
3842
- name: Package
3943
run: pwsh make.ps1 package
40-
- uses: actions/upload-artifact@v2
44+
- uses: actions/upload-artifact@v4
4145
with:
42-
name: packages
46+
name: packages-${{ matrix.os }}
4347
path: Package/Release/Packages
4448
- name: Test (net462)
4549
run: ./make.ps1 -frameworks net462 test-all
@@ -50,3 +54,6 @@ jobs:
5054
- name: Test (net6.0)
5155
run: ./make.ps1 -frameworks net6.0 test-all
5256
shell: pwsh
57+
- name: Test (net8.0)
58+
run: ./make.ps1 -frameworks net8.0 test-all
59+
shell: pwsh

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "Src/DLR"]
22
path = Src/DLR
33
url = https://github.com/IronLanguages/dlr
4-
branch = master
4+
branch = main

Build/net8.0-windows.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project>
2+
<PropertyGroup>
3+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
4+
<IntermediateOutputPath Condition=" '$(TargetFramework)' == 'net8.0-windows' ">$(BaseIntermediateOutputPath)$(Configuration)\net8.0</IntermediateOutputPath>
5+
<OutputPath Condition=" '$(TargetFramework)' == 'net8.0-windows' ">$(BaseOutputPath)\net8.0</OutputPath>
6+
</PropertyGroup>
7+
8+
<Import Project="net8.0.props" />
9+
</Project>

Build/net8.0.props

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<IsFullFramework>false</IsFullFramework>
5+
</PropertyGroup>
6+
7+
<PropertyGroup>
8+
<Features>$(Features);FEATURE_APARTMENTSTATE</Features>
9+
<Features>$(Features);FEATURE_ASSEMBLY_GETFORWARDEDTYPES</Features>
10+
<Features>$(Features);FEATURE_ASSEMBLY_RESOLVE</Features>
11+
<Features>$(Features);FEATURE_ASSEMBLYBUILDER_DEFINEDYNAMICASSEMBLY</Features>
12+
<Features>$(Features);FEATURE_CODEDOM</Features>
13+
<Features>$(Features);FEATURE_COM</Features>
14+
<Features>$(Features);FEATURE_CONFIGURATION</Features>
15+
<Features>$(Features);FEATURE_CTYPES</Features>
16+
<Features>$(Features);FEATURE_CUSTOM_TYPE_DESCRIPTOR</Features>
17+
<Features>$(Features);FEATURE_EXCEPTION_STATE</Features>
18+
<Features>$(Features);FEATURE_FILESYSTEM</Features>
19+
<Features>$(Features);FEATURE_FULL_CRYPTO</Features>
20+
<Features>$(Features);FEATURE_FULL_NET</Features>
21+
<Features>$(Features);FEATURE_LCG</Features>
22+
<Features>$(Features);FEATURE_LOADWITHPARTIALNAME</Features>
23+
<Features>$(Features);FEATURE_METADATA_READER</Features>
24+
<Features>$(Features);FEATURE_MMAP</Features>
25+
<Features>$(Features);FEATURE_NATIVE</Features>
26+
<Features>$(Features);FEATURE_OSPLATFORMATTRIBUTE</Features>
27+
<Features>$(Features);FEATURE_PIPES</Features>
28+
<Features>$(Features);FEATURE_PROCESS</Features>
29+
<Features>$(Features);FEATURE_REFEMIT</Features>
30+
<Features>$(Features);FEATURE_REGISTRY</Features>
31+
<Features>$(Features);FEATURE_RUNTIMEINFORMATION</Features>
32+
<Features>$(Features);FEATURE_SECURITY_RULES</Features>
33+
<Features>$(Features);FEATURE_STACK_TRACE</Features>
34+
<Features>$(Features);FEATURE_SYNC_SOCKETS</Features>
35+
<Features>$(Features);FEATURE_THREAD</Features>
36+
<Features>$(Features);FEATURE_XMLDOC</Features>
37+
</PropertyGroup>
38+
</Project>

Build/net9.0-windows.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project>
2+
<PropertyGroup>
3+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
4+
<IntermediateOutputPath Condition=" '$(TargetFramework)' == 'net9.0-windows' ">$(BaseIntermediateOutputPath)$(Configuration)\net9.0</IntermediateOutputPath>
5+
<OutputPath Condition=" '$(TargetFramework)' == 'net9.0-windows' ">$(BaseOutputPath)\net9.0</OutputPath>
6+
</PropertyGroup>
7+
8+
<Import Project="net9.0.props" />
9+
</Project>

Build/net9.0.props

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<IsFullFramework>false</IsFullFramework>
5+
</PropertyGroup>
6+
7+
<PropertyGroup>
8+
<Features>$(Features);FEATURE_APARTMENTSTATE</Features>
9+
<Features>$(Features);FEATURE_ASSEMBLY_GETFORWARDEDTYPES</Features>
10+
<Features>$(Features);FEATURE_ASSEMBLY_RESOLVE</Features>
11+
<Features>$(Features);FEATURE_ASSEMBLYBUILDER_DEFINEDYNAMICASSEMBLY</Features>
12+
<Features>$(Features);FEATURE_CODEDOM</Features>
13+
<Features>$(Features);FEATURE_COM</Features>
14+
<Features>$(Features);FEATURE_CONFIGURATION</Features>
15+
<Features>$(Features);FEATURE_CTYPES</Features>
16+
<Features>$(Features);FEATURE_CUSTOM_TYPE_DESCRIPTOR</Features>
17+
<Features>$(Features);FEATURE_EXCEPTION_STATE</Features>
18+
<Features>$(Features);FEATURE_FILESYSTEM</Features>
19+
<Features>$(Features);FEATURE_FULL_CRYPTO</Features>
20+
<Features>$(Features);FEATURE_FULL_NET</Features>
21+
<Features>$(Features);FEATURE_LCG</Features>
22+
<Features>$(Features);FEATURE_LOADWITHPARTIALNAME</Features>
23+
<Features>$(Features);FEATURE_METADATA_READER</Features>
24+
<Features>$(Features);FEATURE_MMAP</Features>
25+
<Features>$(Features);FEATURE_NATIVE</Features>
26+
<Features>$(Features);FEATURE_OSPLATFORMATTRIBUTE</Features>
27+
<Features>$(Features);FEATURE_PIPES</Features>
28+
<Features>$(Features);FEATURE_PROCESS</Features>
29+
<Features>$(Features);FEATURE_REFEMIT</Features>
30+
<Features>$(Features);FEATURE_REGISTRY</Features>
31+
<Features>$(Features);FEATURE_RUNTIMEINFORMATION</Features>
32+
<Features>$(Features);FEATURE_SECURITY_RULES</Features>
33+
<Features>$(Features);FEATURE_STACK_TRACE</Features>
34+
<Features>$(Features);FEATURE_SYNC_SOCKETS</Features>
35+
<Features>$(Features);FEATURE_THREAD</Features>
36+
<Features>$(Features);FEATURE_XMLDOC</Features>
37+
</PropertyGroup>
38+
</Project>

Build/steps.yml

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,23 @@ steps:
3131
version: '3.1.x'
3232

3333
- task: UseDotNet@2
34-
displayName: Install .NET 6.0 SDK for build
34+
displayName: Install .NET 6.0 runtime for testing
3535
inputs:
36-
packageType: 'sdk'
36+
packageType: 'runtime'
3737
version: '6.0.x'
3838

39+
- task: UseDotNet@2
40+
displayName: Install .NET 8.0 SDK for build
41+
inputs:
42+
packageType: 'sdk'
43+
version: '8.0.x'
44+
3945
# Set Mono version on macOS
4046
- ${{ if eq(parameters.os, 'macOS') }}:
41-
- task: ms-devlabs.utilitytasks.task-Shellpp.Shell++@0
47+
- task: Bash@3
4248
displayName: Set Mono Version
4349
inputs:
44-
type: InlineScript
50+
targetType: inline
4551
script: |
4652
# use Mono 6.4.0 version
4753
SYMLINK=6.4.0
@@ -52,31 +58,22 @@ steps:
5258
5359
# Install mono when running on Linux
5460
- ${{ if eq(parameters.os, 'Linux') }}:
55-
- task: ms-devlabs.utilitytasks.task-Shellpp.Shell++@0
56-
displayName: Version Information
61+
- task: Bash@3
62+
displayName: Install tools
5763
inputs:
58-
type: InlineScript
64+
targetType: inline
5965
script: |
60-
# Testing and packaging tools
61-
sudo apt-get -yq install mono-vbnc dos2unix fakeroot
66+
sudo apt-get -yq install mono-vbnc dos2unix
6267
63-
# Dump some info about the tools
64-
mono --version
65-
msbuild /version
66-
dotnet --info
67-
df -Th
68-
69-
# Dump version info on macOS
70-
- ${{ if eq(parameters.os, 'macOS') }}:
71-
- task: ms-devlabs.utilitytasks.task-Shellpp.Shell++@0
72-
displayName: Version Information
73-
inputs:
74-
type: InlineScript
75-
script: |
76-
# Dump some info about the tools
77-
mono --version
78-
msbuild /version
79-
dotnet --info
68+
# Dump version info
69+
- task: PowerShell@2
70+
displayName: Version Information
71+
inputs:
72+
targetType: inline
73+
script: |
74+
dotnet --info
75+
try { msbuild -version } catch { }
76+
try { mono --version } catch { }
8077
8178
- powershell: ./make.ps1
8279
displayName: Build

Directory.Build.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
<AssemblyFileRevision Condition="'$(ReleaseLevel)' == 'final'">1000</AssemblyFileRevision>
2222

2323
<Product>IronPython</Product>
24-
<Company>IronPython Team</Company>
25-
<CopyrightIronPython Contributors</Copyright>
24+
<Company>.NET Foundation</Company>
25+
<Copyright.NET Foundation and Contributors</Copyright>
2626
<AssemblyVersion>$(MajorVersion).$(MinorVersion).$(MicroVersion).$(AssemblyRevision)</AssemblyVersion>
2727
<FileVersion>$(MajorVersion).$(MinorVersion).$(MicroVersion).$(AssemblyFileRevision)</FileVersion>
2828
<InformationalVersion>$(MSBuildProjectName) $(MajorVersion).$(MinorVersion).$(MicroVersion) $(ReleaseLevel) $(ReleaseSerial)</InformationalVersion>
@@ -121,7 +121,7 @@
121121

122122
<!-- Release -->
123123
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
124-
<DebugSymbols>false</DebugSymbols>
124+
<DebugSymbols>true</DebugSymbols>
125125
<DebugType>portable</DebugType>
126126
<Optimize>true</Optimize>
127127
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>

Documentation/getting-the-sources.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ The main IronPython3 git repository is at [http://github.com/IronLanguages/ironp
22

33
## Downloading the sources
44

5-
You can [download a zipped copy](http://github.com/IronLanguages/ironpython3/zipball/master) of the latest IronPython3 sources as well.
5+
You can [download a zipped copy](http://github.com/IronLanguages/ironpython3/zipball/main) of the latest IronPython3 sources as well.
66

77
### Installing GIT
88

@@ -15,7 +15,7 @@ The following links include resources for installing and using GIT:
1515

1616
### Creating a local GIT repository
1717

18-
You will first need to fork the IronPython3 project. [Creating a fork](https://help.github.com/fork-a-repo/) is recommended as it will allow you to contribute patches back easily. Click the "Fork" button on [https://github.com/IronLanguages/ironpython3/](https://github.com/IronLanguages/ironpython3/). This should create your personal fork, with a web URL like http://github.com/janedoe/ironpython3 (where janedoe is your github username).
18+
You will first need to fork the IronPython3 project. [Creating a fork](https://help.github.com/fork-a-repo/) is recommended as it will allow you to contribute patches back easily. Click the "Fork" button on [https://github.com/IronLanguages/ironpython3/](https://github.com/IronLanguages/ironpython3/). This should create your personal fork, with a web URL like http://github.com/janedoe/ironpython3 (where janedoe is your github username).
1919

2020
You can now use the git command-line client with many Linux distributions, Mac OS, Cygwin, and Windows (msysgit) to get the sources onto your local computer using the following commands:
2121

@@ -27,13 +27,13 @@ git config --global user.email janedoe@example.com
2727
git clone git@github.com:janedoe/ironpython3.git
2828
cd ironpython3
2929
git remote add ironpython3 git://github.com/IronLanguages/ironpython3.git
30-
git pull ironpython3 master
30+
git pull ironpython3 main
3131
```
3232

3333
At a later date, to get the latest updates from the IronPython3 project, run the following command in the ironpython3 directory created above:
3434

3535
```
36-
git pull ironpython3 master
36+
git pull ironpython3 main
3737
```
3838

3939
If there is a merge conflict, edit the unmerged files to remove the conflict markers, and then run the following command:
@@ -59,4 +59,4 @@ The DLR (Dynamic Language Runtime) is a submodule of the ironpython3 repository,
5959
git submodule update --init
6060
```
6161

62-
For more information there is an excellent tutorial on [getting started with git](http://kylecordes.com/2008/04/30/git-windows-go/)
62+
For more information there is an excellent tutorial on [getting started with git](http://kylecordes.com/2008/04/30/git-windows-go/)

0 commit comments

Comments
 (0)