From fbe07b1d16cb04a16371caa3231d60e17b0f6a5f Mon Sep 17 00:00:00 2001 From: MASES Public Developers Team <94312179+masesdevelopers@users.noreply.github.com> Date: Sat, 25 Nov 2023 20:36:15 +0100 Subject: [PATCH] Added .NET 8 (#147) * Fix for empty types * Added ability to avoid all methods and removed IIUnknownInterfaceType due to some incompatibility --- .../JCOReflectorCLI8.0.runtimeconfig.json | 9 + .../workflows/createjars_core8.0_linux.job | 13 + .../workflows/createjars_core8.0_win19.job | 13 + .github/workflows/docs.yaml | 40 ++- .github/workflows/linux.yaml | 106 ++++-- .github/workflows/maven.yaml | 63 +++- .github/workflows/pullrequests.yaml | 63 +++- .github/workflows/reflect_net8.0.job | 20 ++ .github/workflows/release.yaml | 78 ++++- .github/workflows/testbranch.yaml | 131 +++++-- .github/workflows/windows.yaml | 136 +++++-- .gitmodules | 3 + README.md | 11 +- docs/net8.0 | 1 + src/jvm/README.md | 331 ++++++++++++++++++ src/jvm/src/net8.0/assemblies.list | 290 +++++++++++++++ src/jvm/statistics/net8.0/Statistics.csv | 2 + src/net/CLI/JCOReflectorCLI.csproj | 4 +- src/net/CLI/JCOReflectorCLI.nuspec | 3 +- src/net/CLI/Program.cs | 2 + src/net/GUI/JCOReflectorGUI.csproj | 4 +- src/net/GUI/MainWindow.xaml.cs | 4 + src/net/engine/Const.cs | 56 +-- src/net/engine/JCOReflectorEngine.csproj | 7 +- src/net/engine/Reflector.cs | 5 +- 25 files changed, 1247 insertions(+), 148 deletions(-) create mode 100644 .github/workflows/JCOReflectorCLI8.0.runtimeconfig.json create mode 100644 .github/workflows/createjars_core8.0_linux.job create mode 100644 .github/workflows/createjars_core8.0_win19.job create mode 100644 .github/workflows/reflect_net8.0.job create mode 160000 docs/net8.0 create mode 100644 src/jvm/src/net8.0/assemblies.list create mode 100644 src/jvm/statistics/net8.0/Statistics.csv diff --git a/.github/workflows/JCOReflectorCLI8.0.runtimeconfig.json b/.github/workflows/JCOReflectorCLI8.0.runtimeconfig.json new file mode 100644 index 00000000000..e7f9cfcdb4c --- /dev/null +++ b/.github/workflows/JCOReflectorCLI8.0.runtimeconfig.json @@ -0,0 +1,9 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.WindowsDesktop.App", + "version": "8.0.0" + } + } +} diff --git a/.github/workflows/createjars_core8.0_linux.job b/.github/workflows/createjars_core8.0_linux.job new file mode 100644 index 00000000000..f816d957ea9 --- /dev/null +++ b/.github/workflows/createjars_core8.0_linux.job @@ -0,0 +1,13 @@ + + + + Error + src/jvm + true + jdk + Version8 + + bin/net8.0 + false + true + diff --git a/.github/workflows/createjars_core8.0_win19.job b/.github/workflows/createjars_core8.0_win19.job new file mode 100644 index 00000000000..87a072fb15b --- /dev/null +++ b/.github/workflows/createjars_core8.0_win19.job @@ -0,0 +1,13 @@ + + + + Error + src\jvm + true + C:\hostedtoolcache\windows\Java_Adopt_jdk\13.0.2-8.1\x64 + Version8 + + bin\net8.0 + false + true + diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 89670269243..ac5f49c836e 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -84,6 +84,7 @@ jobs: run: | Copy-Item .github\workflows\JCOReflectorCLI6.0.runtimeconfig.json -Destination bin\net6.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force Copy-Item .github\workflows\JCOReflectorCLI7.0.runtimeconfig.json -Destination bin\net7.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force - name: Switch to master net6.0 help file run: | @@ -96,6 +97,12 @@ jobs: cd .\docs\net7.0 git checkout master cd ..\.. + + - name: Switch to master net8.0 help file + run: | + cd .\docs\net8.0 + git checkout master + cd ..\.. - name: Switch to master net462 help file run: | @@ -112,7 +119,10 @@ jobs: - name: Clean net7.0 help file folders run: Get-ChildItem -Path .\docs\net7.0 -Exclude .git,LICENSE,README.md | Remove-Item -Recurse -Force - + + - name: Clean net8.0 help file folders + run: Get-ChildItem -Path .\docs\net8.0 -Exclude .git,LICENSE,README.md | Remove-Item -Recurse -Force + - name: Clean net462 help file folders run: Get-ChildItem -Path .\docs\net462 -Exclude .git,LICENSE,README.md | Remove-Item -Recurse -Force @@ -135,7 +145,11 @@ jobs: - name: Build net7.0 Java Help files run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType BuildDocs -JobFile .github\workflows\builddocs_win19.job -CommitVersion ${{ env.GITHUB_COMMIT_MESSAGE }} -JDKFolder %JAVA_HOME_11_X64% shell: cmd - + + - name: Build net8.0 Java Help files + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType BuildDocs -JobFile .github\workflows\builddocs_win19.job -CommitVersion ${{ env.GITHUB_COMMIT_MESSAGE }} -JDKFolder %JAVA_HOME_11_X64% + shell: cmd + - name: Build net462 Java Help files run: .\bin\net462\MASES.JCOReflectorCLI -JobType BuildDocs -JobFile .github\workflows\builddocs_win19.job -CommitVersion ${{ env.GITHUB_COMMIT_MESSAGE }} -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -163,7 +177,16 @@ jobs: shell: cmd env: GITHUB_WORKSPACE: $GITHUB_WORKSPACE - + + - name: Commit changes to net8.0 help file + run: | + cd .\docs\net8.0 + %GITHUB_WORKSPACE%\.github\workflows\commit.cmd github-actions 41898282+github-actions[bot]@users.noreply.github.com "Update help file to commit masesgroup/JCOReflector@${{ env.GITHUB_COMMIT_MESSAGE }}" + cd ..\..\.. + shell: cmd + env: + GITHUB_WORKSPACE: $GITHUB_WORKSPACE + - name: Commit changes to net462 help file run: | cd .\docs\net462 @@ -204,6 +227,17 @@ jobs: SUPER_SECRET: ${{ secrets.DOCS_API_TOKEN_GITHUB }} REPO: masesgroup/NET7Docs + - name: Push changes to net8.0 help file + run: | + cd .\docs\net8.0 + %GITHUB_WORKSPACE%\.github\workflows\push.cmd %REPO% + cd ..\.. + shell: cmd + env: + GITHUB_WORKSPACE: $GITHUB_WORKSPACE + SUPER_SECRET: ${{ secrets.DOCS_API_TOKEN_GITHUB }} + REPO: masesgroup/NET8Docs + - name: Push changes to net462 help file run: | cd .\docs\net462 diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index 935d68c391d..47d55f56274 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -70,35 +70,27 @@ jobs: fetch-depth: '1' - name: Extract file - run: .github/workflows/GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_8 }} $env:GITHUB_WORKSPACE/JCOBridge.lic + run: .github/workflows/GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_9 }} $env:GITHUB_WORKSPACE/JCOBridge.lic shell: pwsh - # Install .NET SDKs - - name: Setup .NET 6.0 - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - - name: Setup .NET 7.0 - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 7.0.x - # Runs a set of commands using the runners shell - name: Build JCOReflectorCLI run: | dotnet build --no-incremental --framework net6.0 --configuration Release src/net/JCOReflectorCLI.sln - dotnet build --no-incremental --framework net7.0 --configuration Release src/net/JCOReflectorCLI.sln + dotnet build --no-incremental --framework net7.0 --configuration Release src/net/JCOReflectorCLI.sln + dotnet build --no-incremental --framework net8.0 --configuration Release src/net/JCOReflectorCLI.sln - name: Build Java files run: | dotnet bin/net6.0/MASES.JCOReflectorCLI.dll -JobType Build -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/build_linux.job dotnet bin/net7.0/MASES.JCOReflectorCLI.dll -JobType Build -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/build_linux.job + dotnet bin/net8.0/MASES.JCOReflectorCLI.dll -JobType Build -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/build_linux.job - name: Build JAR files run: | dotnet bin/net6.0/MASES.JCOReflectorCLI.dll -JobType CreateJars -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/createjars_core6.0_linux.job dotnet bin/net7.0/MASES.JCOReflectorCLI.dll -JobType CreateJars -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/createjars_core7.0_linux.job + dotnet bin/net8.0/MASES.JCOReflectorCLI.dll -JobType CreateJars -JDKFolder $JAVA_HOME_11_X64 -JobFile .github/workflows/createjars_core8.0_linux.job - uses: actions/setup-java@v3 with: @@ -109,21 +101,21 @@ jobs: - name: Build Java test source file .NET 6.0 run: javac -cp ./bin/net6.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNET --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNET --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -async -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE + - run: java -cp "./bin/net6.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -async -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true #java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase @@ -152,6 +144,29 @@ jobs: #java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase #java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + - name: Build Java test source file .NET 8.0 + run: javac -cp ./bin/net8.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java + + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNET --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar:./tests/jvm/java/src/" nettest.HelloNETSocket -async -server 127.0.0.1 --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + + #java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase + #java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + - name: Download and install Scala package run: | sudo apt update @@ -167,25 +182,25 @@ jobs: mkdir ./tests/jvm/scala/output scalac -cp "./bin/net6.0/*" -d ./tests/jvm/scala/output ./tests/jvm/scala/src/main/scala/hierarchy/* ./tests/jvm/scala/src/main/scala/mscorlib/* ./tests/jvm/scala/src/main/scala/nettest/* ./tests/jvm/scala/src/main/scala/refout/* - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloNet --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloNet --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket -async --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket -async --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" refout.HelloRefOutBase --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" refout.HelloRefOutBase --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net6.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - run: rm -rf ./tests/jvm/scala/output @@ -216,4 +231,31 @@ jobs: - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net7.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE --CoreCLRApp:Microsoft.NET7.App continue-on-error: true - run: rm -rf ./tests/jvm/scala/output - + + - name: Build Scala test source file .NET 8.0 + run: | + source "$HOME/.sdkman/bin/sdkman-init.sh" + mkdir ./tests/jvm/scala/output + scalac -cp "./bin/net8.0/*" -d ./tests/jvm/scala/output ./tests/jvm/scala/src/main/scala/hierarchy/* ./tests/jvm/scala/src/main/scala/mscorlib/* ./tests/jvm/scala/src/main/scala/nettest/* ./tests/jvm/scala/src/main/scala/refout/* + + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloLock --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloNet --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloNETEvent --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" mscorlib.HelloIterator --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" hierarchy.HelloHierarchy --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" hierarchy.HelloInterfaces --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" nettest.HelloNETSocket -async --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" refout.HelloRefOutBase --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: source "$HOME/.sdkman/bin/sdkman-init.sh" && scala -nobootcp -toolcp "./bin/net8.0/*:./tests/jvm/scala/output" refout.HelloRefOut --LicensePath:$GITHUB_WORKSPACE + continue-on-error: true + - run: rm -rf ./tests/jvm/scala/output diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml index 5d6ab7bf023..42993a46154 100644 --- a/.github/workflows/maven.yaml +++ b/.github/workflows/maven.yaml @@ -103,7 +103,7 @@ jobs: - name: Install local file to be used within Javadoc section of generated POM shell: bash - run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net6.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.8 -Dpackaging=jar -f ./src/jvm/src/net6.0.xml + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net6.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net6.0.xml - name: Publish net6.0 to Apache Maven Central shell: bash @@ -160,7 +160,7 @@ jobs: - name: Install local file to be used within Javadoc section of generated POM shell: bash - run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net7.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.8 -Dpackaging=jar -f ./src/jvm/src/net7.0.xml + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net7.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net7.0.xml - name: Publish net7.0 to Apache Maven Central shell: bash @@ -170,6 +170,63 @@ jobs: MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + build_maven_net8: + needs: check + if: needs.check.outputs.run_job == 'true' + # The type of runner that the job will run on + runs-on: windows-2022 + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a set of commands using the runners shell + # Support longpaths + - name: Support long paths + run: git config --system core.longpaths true + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + - name: Install gpg secret key + run: | + cat <(echo -e "${{ secrets.MAVEN_GPG_PRIVATE_KEY }}") | gpg --batch --import + gpg --list-secret-keys --keyid-format LONG + shell: bash + + # Runs a set of commands using the runners shell + - name: Build JCOReflectorCLI + run: dotnet build --no-incremental --framework net8.0 src\net\JCOReflectorCLI.sln + + # Runs a set of commands using the runners shell + - name: Copy configuration file + run: Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + + - name: Build net8.0 Maven POM files + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType CreatePOM -JobFile .github\workflows\createpom_win19.job + + - name: Set up Apache Maven Central + uses: actions/setup-java@v3 + with: # running setup-java again overwrites the settings.xml + distribution: temurin + java-version: 11 + cache: 'maven' + server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml + server-username: MAVEN_USERNAME # env variable for username in deploy + server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import + gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase + + - name: Install local file to be used within Javadoc section of generated POM + shell: bash + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net8.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net8.0.xml + + - name: Publish net8.0 to Apache Maven Central + shell: bash + run: mvn --file ./src/jvm/src/net8.0.xml --no-transfer-progress --batch-mode -Dgpg.passphrase=${{ secrets.MAVEN_GPG_PASSPHRASE }} deploy + env: + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + build_maven_net462: needs: check if: needs.check.outputs.run_job == 'true' @@ -213,7 +270,7 @@ jobs: - name: Install local file to be used within Javadoc section of generated POM shell: bash - run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net462/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.8 -Dpackaging=jar -f ./src/jvm/src/net462.xml + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net462/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net462.xml - name: Publish net462 to Apache Maven Central shell: bash diff --git a/.github/workflows/pullrequests.yaml b/.github/workflows/pullrequests.yaml index 0466a04e4db..55715c19a46 100644 --- a/.github/workflows/pullrequests.yaml +++ b/.github/workflows/pullrequests.yaml @@ -86,11 +86,13 @@ jobs: run: | Copy-Item .github\workflows\JCOReflectorCLI6.0.runtimeconfig.json -Destination bin\net6.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force Copy-Item .github\workflows\JCOReflectorCLI7.0.runtimeconfig.json -Destination bin\net7.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force - name: Remove Java files run: | Remove-Item .\src\jvm\src\net6.0 -Recurse -Force Remove-Item .\src\jvm\src\net7.0 -Recurse -Force + Remove-Item .\src\jvm\src\net8.0 -Recurse -Force Remove-Item .\src\jvm\src\net462 -Recurse -Force - name: Reflect .NET 6.0 Java files @@ -98,7 +100,10 @@ jobs: - name: Reflect .NET 7.0 Java files run: .\bin\net7.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net7.0.job - + + - name: Reflect .NET 8.0 Java files + run: .\bin\net8.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net8.0.job + - name: Reflect .NET Framework Java files run: .\bin\net462\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net462.job @@ -109,7 +114,11 @@ jobs: - name: Build Java files .NET Core 7.0 run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd - + + - name: Build Java files .NET Core 8.0 + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% + shell: cmd + - name: Build Java files .NET Framework run: .\bin\net462\MASES.JCOReflectorCLI -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -121,7 +130,11 @@ jobs: - name: Build JAR files .NET Core 7.0 run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core7.0_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd - + + - name: Build JAR files .NET Core 8.0 + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core8.0_win19.job -JDKFolder %JAVA_HOME_11_X64% + shell: cmd + - name: Build JAR files .NET Framework run: .\bin\net462\MASES.JCOReflectorCLI -JobType CreateJars -JobFile .github\workflows\createjars_framework_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -154,6 +167,20 @@ jobs: # - run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase # - run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + - name: Build Java test source file .NET Core 8.0 + run: javac -cp ./bin/net8.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java + + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase + # - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + - name: Build Java test source file .NET Framework run: javac -cp ./bin/net462/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java @@ -232,6 +259,36 @@ jobs: # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net7.0/*;./tests/jvm/scala/output" refout.HelloRefOut # shell: cmd # - run: cd ./tests/jvm/scala && rmdir output /s /q + # shell: cmd + + - name: Build Scala test source file .NET Core 8.0 + shell: cmd + run: | + cd ./tests/jvm/scala + mkdir output + ..\..\..\scala-2.13.5\bin\scalac -toolcp "../../../bin/net8.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/* + + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloLock + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloNet + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase + # shell: cmd + # - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" refout.HelloRefOut + # shell: cmd + # - run: cd ./tests/jvm/scala && rmdir output /s /q # shell: cmd - name: Build Scala test source file .NET Framework diff --git a/.github/workflows/reflect_net8.0.job b/.github/workflows/reflect_net8.0.job new file mode 100644 index 00000000000..869dcb433bb --- /dev/null +++ b/.github/workflows/reflect_net8.0.job @@ -0,0 +1,20 @@ + + + Error + + PresentationFramework, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35 + + src/jvm + true + true + true + true + 10 + true + true + true + true + true + true + false + diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9dc886c076c..7a51fe4ece1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -51,7 +51,7 @@ jobs: - name: Install local file to be used within Javadoc section of generated POM shell: bash - run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net6.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.8 -Dpackaging=jar -f ./src/jvm/src/net6.0.xml + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net6.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net6.0.xml - name: Publish net6.0 to Apache Maven Central shell: bash @@ -99,7 +99,7 @@ jobs: - name: Install local file to be used within Javadoc section of generated POM shell: bash - run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net7.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.8 -Dpackaging=jar -f ./src/jvm/src/net7.0.xml + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net7.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net7.0.xml - name: Publish net7.0 to Apache Maven Central shell: bash @@ -109,6 +109,54 @@ jobs: MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + build_maven_net8: + # The type of runner that the job will run on + runs-on: windows-2022 + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a set of commands using the runners shell + # Support longpaths + - name: Support long paths + run: git config --system core.longpaths true + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + - name: Build JCOReflectorCLI + run: dotnet build --no-incremental --framework net8.0 --configuration Release /p:Platform="Any CPU" src\JCOReflectorCLI.sln + + # Runs a set of commands using the runners shell + - name: Copy configuration file + run: Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + + - name: Build net8.0 Maven POM files + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType CreatePOM -POMStagingType Release -JobFile .github\workflows\createpom_win19.job + + - name: Set up Apache Maven Central + uses: actions/setup-java@v3 + with: # running setup-java again overwrites the settings.xml + distribution: temurin + java-version: 11 + cache: 'maven' + server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml + server-username: MAVEN_USERNAME # env variable for username in deploy + server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import + gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase + + - name: Install local file to be used within Javadoc section of generated POM + shell: bash + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net8.0/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net8.0.xml + + - name: Publish net8.0 to Apache Maven Central + shell: bash + run: mvn --file ./src/jvm/src/net8.0.xml --no-transfer-progress --batch-mode -Dgpg.passphrase=${{ secrets.MAVEN_GPG_PASSPHRASE }} deploy + env: + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + build_maven_net462: # The type of runner that the job will run on runs-on: windows-2022 @@ -143,7 +191,7 @@ jobs: - name: Install local file to be used within Javadoc section of generated POM shell: bash - run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net462/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.8 -Dpackaging=jar -f ./src/jvm/src/net462.xml + run: mvn install:install-file --no-transfer-progress -Dfile=../../../bin/net462/JCOBridge.jar -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.9 -Dpackaging=jar -f ./src/jvm/src/net462.xml - name: Publish net462 to Apache Maven Central shell: bash @@ -154,7 +202,7 @@ jobs: MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} build_release: - needs: [build_maven_net6, build_maven_net7, build_maven_net462] + needs: [build_maven_net6, build_maven_net7, build_maven_net8, build_maven_net462] # The type of runner that the job will run on runs-on: windows-2022 @@ -185,6 +233,7 @@ jobs: run: | Copy-Item .github\workflows\JCOReflectorCLI6.0.runtimeconfig.json -Destination bin\net6.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force Copy-Item .github\workflows\JCOReflectorCLI7.0.runtimeconfig.json -Destination bin\net7.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force - name: Build Java files @@ -198,6 +247,7 @@ jobs: run: | dotnet .\bin\net6.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core6.0_win19.job -JDKFolder %JAVA_HOME_11_X64% dotnet .\bin\net7.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core7.0_win19.job -JDKFolder %JAVA_HOME_11_X64% + dotnet .\bin\net8.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core8.0_win19.job -JDKFolder %JAVA_HOME_11_X64% .\bin\net462\MASES.JCOReflectorCLI -JobType CreateJars -JobFile .github\workflows\createjars_framework_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -205,12 +255,14 @@ jobs: run: | Compress-Archive -Path .\bin\net6.0\* -DestinationPath .\bin\net6.0.zip Compress-Archive -Path .\bin\net7.0\* -DestinationPath .\bin\net7.0.zip + Compress-Archive -Path .\bin\net8.0\* -DestinationPath .\bin\net8.0.zip Compress-Archive -Path .\bin\net462\* -DestinationPath .\bin\net462.zip - name: Compress documentation files run: | Compress-Archive -Path .\docs\net6.0\* -DestinationPath .\net6.0.docs.zip Compress-Archive -Path .\docs\net7.0\* -DestinationPath .\net7.0.docs.zip + Compress-Archive -Path .\docs\net8.0\* -DestinationPath .\net8.0.docs.zip Compress-Archive -Path .\docs\net462\* -DestinationPath .\net462.docs.zip - name: Upload net6.0 binaries to release @@ -231,6 +283,15 @@ jobs: tag: ${{ github.ref }} overwrite: true + - name: Upload net8.0 binaries to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: .\bin\net8.0.zip + asset_name: net8.0.zip + tag: ${{ github.ref }} + overwrite: true + - name: Upload net462 binaries to release uses: svenstaro/upload-release-action@v2 with: @@ -258,6 +319,15 @@ jobs: tag: ${{ github.ref }} overwrite: true + - name: Upload net8.0 documentation to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: .\net8.0.docs.zip + asset_name: net8.0.docs.zip + tag: ${{ github.ref }} + overwrite: true + - name: Upload net462 documentation to release uses: svenstaro/upload-release-action@v2 with: diff --git a/.github/workflows/testbranch.yaml b/.github/workflows/testbranch.yaml index 59f578d062e..fae30dff09b 100644 --- a/.github/workflows/testbranch.yaml +++ b/.github/workflows/testbranch.yaml @@ -78,7 +78,7 @@ jobs: shell: cmd - name: Extract secret - run: .github\workflows\GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_8 }} .\JCOBridge.lic + run: .github\workflows\GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_9 }} .\JCOBridge.lic # Runs a set of commands using the runners shell - name: Build JCOReflectorCLI @@ -95,11 +95,13 @@ jobs: run: | Copy-Item .github\workflows\JCOReflectorCLI6.0.runtimeconfig.json -Destination bin\net6.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force Copy-Item .github\workflows\JCOReflectorCLI7.0.runtimeconfig.json -Destination bin\net7.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force - name: Remove Java files run: | Remove-Item .\src\jvm\src\net6.0 -Recurse -Force Remove-Item .\src\jvm\src\net7.0 -Recurse -Force + Remove-Item .\src\jvm\src\net8.0 -Recurse -Force Remove-Item .\src\jvm\src\net462 -Recurse -Force - name: Reflect .NET 6.0 Java files @@ -107,6 +109,9 @@ jobs: - name: Reflect .NET 7.0 Java files run: .\bin\net7.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net7.0.job + + - name: Reflect .NET 8.0 Java files + run: .\bin\net8.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net8.0.job - name: Reflect .NET Framework Java files run: .\bin\net462\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net462.job @@ -127,7 +132,11 @@ jobs: - name: Build Java files .NET Core 7.0 run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd - + + - name: Build Java files .NET Core 8.0 + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% + shell: cmd + - name: Build Java files .NET Framework run: .\bin\net462\MASES.JCOReflectorCLI -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -139,6 +148,10 @@ jobs: - name: Build JAR files .NET Core 7.0 run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core7.0_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd + + - name: Build JAR files .NET Core 8.0 + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core8.0_win19.job -JDKFolder %JAVA_HOME_11_X64% + shell: cmd - name: Build JAR files .NET Framework run: .\bin\net462\MASES.JCOReflectorCLI -JobType CreateJars -JobFile .github\workflows\createjars_framework_win19.job -JDKFolder %JAVA_HOME_11_X64% @@ -148,6 +161,7 @@ jobs: run: | Compress-Archive -Path .\bin\net6.0\* -DestinationPath .\bin\net6.0.zip Compress-Archive -Path .\bin\net7.0\* -DestinationPath .\bin\net7.0.zip + Compress-Archive -Path .\bin\net8.0\* -DestinationPath .\bin\net8.0.zip Compress-Archive -Path .\bin\net462\* -DestinationPath .\bin\net462.zip - uses: actions/upload-artifact@v3 @@ -167,7 +181,13 @@ jobs: name: net7.0 path: .\bin\net7.0.zip retention-days: 1 - + + - uses: actions/upload-artifact@v3 + with: + name: net8.0 + path: .\bin\net8.0.zip + retention-days: 1 + - uses: actions/upload-artifact@v3 with: name: net462 @@ -183,25 +203,25 @@ jobs: - name: Build Java test source file .NET Core 6.0 run: javac -cp ./bin/net6.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - name: Build Java test source file .NET Core 7.0 @@ -228,6 +248,30 @@ jobs: - run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut --CoreCLRApp:Microsoft.NET7.App continue-on-error: true + - name: Build Java test source file .NET Core 8.0 + run: javac -cp ./bin/net8.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java + + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + continue-on-error: true + - name: Build Java test source file .NET Framework run: javac -cp ./bin/net462/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java @@ -265,34 +309,34 @@ jobs: mkdir output ..\..\..\scala-2.13.5\bin\scalac -toolcp "../../../bin/net6.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/* - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloLock + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloLock --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNet + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNet --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOut + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOut --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - run: cd ./tests/jvm/scala && rmdir output /s /q @@ -340,6 +384,47 @@ jobs: shell: cmd continue-on-error: true + - name: Build Scala test source file .NET Core 8.0 + shell: cmd + run: | + cd ./tests/jvm/scala + mkdir output + ..\..\..\scala-2.13.5\bin\scalac -toolcp "../../../bin/net8.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/* + + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloLock + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloNet + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" refout.HelloRefOut + shell: cmd + continue-on-error: true + - run: cd ./tests/jvm/scala && rmdir output /s /q + shell: cmd + continue-on-error: true + - name: Build Scala test source file .NET Framework shell: cmd run: | diff --git a/.github/workflows/windows.yaml b/.github/workflows/windows.yaml index 4df284f4b2c..d3f533eb544 100644 --- a/.github/workflows/windows.yaml +++ b/.github/workflows/windows.yaml @@ -72,7 +72,7 @@ jobs: fetch-depth: '1' - name: Extract secret - run: .github\workflows\GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_8 }} .\JCOBridge.lic + run: .github\workflows\GetLicense.ps1 ${{ secrets.JCOBRIDGE_2_5_9 }} .\JCOBridge.lic # Runs a set of commands using the runners shell - name: Build JCOReflectorCLI @@ -89,11 +89,13 @@ jobs: run: | Copy-Item .github\workflows\JCOReflectorCLI6.0.runtimeconfig.json -Destination bin\net6.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force Copy-Item .github\workflows\JCOReflectorCLI7.0.runtimeconfig.json -Destination bin\net7.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force + Copy-Item .github\workflows\JCOReflectorCLI8.0.runtimeconfig.json -Destination bin\net8.0\MASES.JCOReflectorCLI.runtimeconfig.json -Force - name: Remove Java files run: | Remove-Item .\src\jvm\src\net6.0 -Recurse -Force Remove-Item .\src\jvm\src\net7.0 -Recurse -Force + Remove-Item .\src\jvm\src\net8.0 -Recurse -Force Remove-Item .\src\jvm\src\net462 -Recurse -Force - name: Reflect .NET 6.0 Java files @@ -101,7 +103,10 @@ jobs: - name: Reflect .NET 7.0 Java files run: .\bin\net7.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net7.0.job - + + - name: Reflect .NET 8.0 Java files + run: .\bin\net8.0\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net8.0.job + - name: Reflect .NET Framework Java files run: .\bin\net462\MASES.JCOReflectorCLI -JobType Reflect -JobFile .github\workflows\reflect_net462.job @@ -112,7 +117,11 @@ jobs: - name: Build Java files .NET Core 7.0 run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd - + + - name: Build Java files .NET Core 8.0 + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% + shell: cmd + - name: Build Java files .NET Framework run: .\bin\net462\MASES.JCOReflectorCLI -JobType Build -JobFile .github\workflows\build_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -124,7 +133,11 @@ jobs: - name: Build JAR files .NET Core 7.0 run: dotnet bin\net7.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core7.0_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd - + + - name: Build JAR files .NET Core 8.0 + run: dotnet bin\net8.0\MASES.JCOReflectorCLI.dll -JobType CreateJars -JobFile .github\workflows\createjars_core8.0_win19.job -JDKFolder %JAVA_HOME_11_X64% + shell: cmd + - name: Build JAR files .NET Framework run: .\bin\net462\MASES.JCOReflectorCLI -JobType CreateJars -JobFile .github\workflows\createjars_framework_win19.job -JDKFolder %JAVA_HOME_11_X64% shell: cmd @@ -138,25 +151,25 @@ jobs: - name: Build Java test source file .NET Core 6.0 run: javac -cp ./bin/net6.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + - run: java -cp "./bin/net6.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut --CoreCLRApp:Microsoft.NET6.App continue-on-error: true - name: Build Java test source file .NET Core 7.0 @@ -182,7 +195,31 @@ jobs: continue-on-error: true - run: java -cp "./bin/net7.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut --CoreCLRApp:Microsoft.NET7.App continue-on-error: true - + + - name: Build Java test source file .NET Core 8.0 + run: javac -cp ./bin/net8.0/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java + + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloLock + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNET + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloNETEvent + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" mscorlib.HelloIterator + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloHierarchy + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" hierarchy.HelloInterfaces + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" nettest.HelloNETSocket -async + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOutBase + continue-on-error: true + - run: java -cp "./bin/net8.0/JCOReflector.jar;./tests/jvm/java/src/" refout.HelloRefOut + continue-on-error: true + - name: Build Java test source file .NET Framework run: javac -cp ./bin/net462/JCOReflector.jar ./tests/jvm/java/src/hierarchy/*.java ./tests/jvm/java/src/mscorlib/*.java ./tests/jvm/java/src/nettest/*.java ./tests/jvm/java/src/refout/*.java @@ -220,34 +257,34 @@ jobs: mkdir output ..\..\..\scala-2.13.5\bin\scalac -toolcp "../../../bin/net6.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/* - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloLock + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloLock --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNet + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNet --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOut + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net6.0/*;./tests/jvm/scala/output" refout.HelloRefOut --CoreCLRApp:Microsoft.NET6.App shell: cmd continue-on-error: true - run: cd ./tests/jvm/scala && rmdir output /s /q @@ -294,7 +331,48 @@ jobs: - run: cd ./tests/jvm/scala && rmdir output /s /q shell: cmd continue-on-error: true - + + - name: Build Scala test source file .NET Core 8.0 + shell: cmd + run: | + cd ./tests/jvm/scala + mkdir output + ..\..\..\scala-2.13.5\bin\scalac -toolcp "../../../bin/net8.0/*" -d ./output ./src/main/scala/hierarchy/* ./src/main/scala/mscorlib/* ./src/main/scala/nettest/* ./src/main/scala/refout/* + + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloLock + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloNet + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloNETEvent + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" mscorlib.HelloIterator + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" hierarchy.HelloHierarchy + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" hierarchy.HelloInterfaces + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" nettest.HelloNETSocket -async + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" refout.HelloRefOutBase + shell: cmd + continue-on-error: true + - run: .\scala-2.13.5\bin\scala -toolcp "./bin/net8.0/*;./tests/jvm/scala/output" refout.HelloRefOut + shell: cmd + continue-on-error: true + - run: cd ./tests/jvm/scala && rmdir output /s /q + shell: cmd + continue-on-error: true + - name: Build Scala test source file .NET Framework shell: cmd run: | @@ -340,6 +418,7 @@ jobs: run: | Compress-Archive -Path .\bin\net6.0\* -DestinationPath .\bin\net6.0.zip Compress-Archive -Path .\bin\net7.0\* -DestinationPath .\bin\net7.0.zip + Compress-Archive -Path .\bin\net8.0\* -DestinationPath .\bin\net8.0.zip Compress-Archive -Path .\bin\net462\* -DestinationPath .\bin\net462.zip - name: Extract commit SHA @@ -405,6 +484,11 @@ jobs: with: name: net7.0 path: .\bin\net7.0.zip + + - uses: actions/upload-artifact@v3 + with: + name: net8.0 + path: .\bin\net8.0.zip - uses: actions/upload-artifact@v3 with: diff --git a/.gitmodules b/.gitmodules index 25a5b02fc74..83384a73b7d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "netreflected/docs/net7.0"] path = docs/net7.0 url = https://github.com/masesgroup/NET7Docs.git +[submodule "docs/net8.0"] + path = docs/net8.0 + url = https://github.com/masesgroup/NET8Docs.git diff --git a/README.md b/README.md index 19432a9db7c..20c8187c17c 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ JCOReflector is a comprehensive suite of libraries and tools to use Java/JVM API ### Libraries and Tools -|.NET Framework | .NET 6 | .NET 7 | -|--- |--- |--- | -|[![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net462.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net462%22) | [![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net6.0.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net6.0%22)| [![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net7.0.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net7.0%22)| +|.NET Framework | .NET 6 | .NET 7 | .NET 8 | +|--- |--- |--- |--- | +|[![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net462.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net462%22) | [![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net6.0.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net6.0%22)| [![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net7.0.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net7.0%22)| [![Maven Central](https://img.shields.io/maven-central/v/com.masesgroup/jcoreflector_net8.0.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.masesgroup%22%20AND%20a:%22jcoreflector_net8.0%22)| |JCOReflectorEngine | JCOReflectorCLI | |--- |--- | @@ -214,7 +214,8 @@ Within the folder bin you will find three subfolders: - **net462** (available only on Windows platform) - **net6.0** (available on .NET 6 supported platforms) - **net7.0** (available on .NET 7 supported platforms) - +- **net8.0** (available on .NET 8 supported platforms) +- in each subfolder will be available two executables: - **JCOReflectorCLI** the CLI tool; @@ -225,7 +226,7 @@ in each subfolder will be available two executables: ## Reflected Assemblies -The folder [src/jvm/src](/src/jvm/src) contains all reflected classes generated for **.NET** **Framework** (_net462_), **6** (_net6.0_) and **7** (_net7.0_). Below the coverage [statistics](#statistics): +The folder [src/jvm/src](/src/jvm/src) contains all reflected classes generated for **.NET** **Framework** (_net462_), **6** (_net6.0_), **7** (_net7.0_) and **8** (_net8.0_). Below the coverage [statistics](#statistics): ### Statistics diff --git a/docs/net8.0 b/docs/net8.0 new file mode 160000 index 00000000000..8fa5dc397e7 --- /dev/null +++ b/docs/net8.0 @@ -0,0 +1 @@ +Subproject commit 8fa5dc397e70f1fd814aa2e6a2e56fa9d18e658e diff --git a/src/jvm/README.md b/src/jvm/README.md index 8b234611ae2..1adad6416a3 100644 --- a/src/jvm/README.md +++ b/src/jvm/README.md @@ -783,3 +783,334 @@ Parsed assemblies are: [//]: # "EndReport net7.0" ![Net7Statistic](https://docs.google.com/spreadsheets/d/e/2PACX-1vTe94B4KWTddOWDnIHGRkHHPq23g_oPzZUfmVU3ls1lEUwNQmG_T4Zi7xCCNkb0RMqkT8LblRNW7aT9/pubchart?oid=1527441532&format=image) + + +## .NET 8 + +> NOTE: reference is .NET v8.0.* of the GitHub runner image + +[//]: # "BeginReport net8.0" +Parsed assemblies are: +* PresentationFramework, Version=7.0.0.0, PublicKeyToken=31bf3856ad364e35 + +> Analyzed Assemblies: +> * PresentationFramework, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e +> * System.Private.Uri, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xaml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Runtime.InteropServices, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.Specialized, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.NonGeneric, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ObjectModel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.TypeConverter, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Loader, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Text.RegularExpressions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Memory, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Reflection.Emit.ILGeneration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.Concurrent, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.Emit.Lightweight, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Security, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Formats.Asn1, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Text.Encoding.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Numerics, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Thread, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.Tracing, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * Microsoft.Win32.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Principal.Windows, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Claims, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Sockets, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Overlapped, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.NameResolution, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.ThreadPool, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Drawing.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Numerics.Vectors, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Formatters, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Resources.Writer, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.XDocument, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Private.Xml.Linq, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Private.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.TraceSource, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.DiagnosticSource, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.Quic, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * Microsoft.Win32.Registry, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.AccessControl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Channels, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.IO.Compression, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.IO.Compression.Brotli, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Net.NetworkInformation, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.Emit, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq.Expressions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Windows.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.ComponentModel.EventBasedAsync, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Requests, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebHeaderCollection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.ServicePoint, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Drawing.Common, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * Microsoft.Win32.SystemEvents, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Xml.ReaderWriter, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Permissions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Data.Common, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.XmlSerializer, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Transactions.Local, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * WindowsBase, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Packaging, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.IsolatedStorage, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.FileSystem.AccessControl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Security.Cryptography.Pkcs, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.XPath, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Configuration.ConfigurationManager, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.Process, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.FileVersionInfo, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebClient, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.TextWriterTraceListener, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Console, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.EventLog, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Security.Cryptography.ProtectedData, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * PresentationCore, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * DirectWriteForwarder, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Private.CoreLib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e +> * Microsoft.Win32.Registry, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Principal.Windows, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Memory, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Collections, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.NonGeneric, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.Concurrent, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ObjectModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Console, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.StackTrace, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.Metadata, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.MemoryMappedFiles, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.FileSystem.DriveInfo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.IsolatedStorage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.TypeExtensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Resources.Writer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.CompilerServices.VisualC, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.InteropServices, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Formatters, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.FileSystem.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Claims, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Tasks.Parallel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.CompilerServices.VisualC, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * Microsoft.CSharp, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * Microsoft.VisualBasic.Core, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.FileSystem.DriveInfo, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * Microsoft.VisualBasic.Forms, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Windows.Forms.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Diagnostics.StackTrace, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Pipes, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Private.DataContractSerialization, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Windows.Forms, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Text.Encoding.CodePages, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Ping, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.Contracts, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Compression.ZipFile, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.IO.FileSystem.Watcher, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq.Queryable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq.Parallel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.HttpListener, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.WebSockets, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebProxy, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.Mail, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.WebSockets.Client, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.DispatchProxy, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Tasks.Parallel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Web.HttpUtility, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Xml.XPath.XDocument, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.AppContext, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Buffers, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.ComponentModel.Annotations, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.Runtime, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.Annotations, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.IO.MemoryMappedFiles, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Pipes, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.EventLog, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Linq.Expressions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Pipes.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq.Queryable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Linq.Parallel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Data.SqlClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Data.Common, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Data.Odbc, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Data.OleDb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.Debug, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.Tools, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.CodeDom, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * Microsoft.Win32.SystemEvents, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Diagnostics.Process, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Collections.Specialized, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.EventBasedAsync, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ComponentModel.Primitives, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.TraceSource, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.TextWriterTraceListener, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Diagnostics.FileVersionInfo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Private.Uri, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Compression, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.IO.FileSystem.Watcher, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Ports, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Windows.Extensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.Requests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Primitives, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.HttpListener, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.ServicePoint, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.NameResolution, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.WebHeaderCollection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebProxy, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.Mail, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Net.NetworkInformation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Ping, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Security, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Sockets, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebSockets.Client, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.WebSockets, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Text.RegularExpressions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Windows.Forms.Design, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.CodeDom, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Dynamic.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Formats.Tar, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Globalization.Calendars, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Globalization, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Globalization.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.IO.Compression.ZipFile, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.IO, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.FileSystem, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.FileSystem.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.Pipes.AccessControl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.IO.UnmanagedMemoryStream, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Net.Http.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Text.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Text.Encodings.Web, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Runtime.Intrinsics, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Runtime.Numerics, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Numerics.Vectors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Reflection.TypeExtensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Resources.Reader, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Resources.ResourceManager, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.CompilerServices.Unsafe, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Handles, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.InteropServices.JavaScript, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.InteropServices.RuntimeInformation, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Runtime.Serialization.Primitives, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Json, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Runtime.Serialization.Schema, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Algorithms, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Cng, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Csp, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Encoding, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.OpenSsl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.X509Certificates, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Pkcs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.ProtectedData, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.Cryptography.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Security.Principal, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Security.SecureString, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.ServiceModel.Syndication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.ServiceProcess.ServiceController, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Text.Encoding, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Tasks.Dataflow, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Tasks, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Threading.Tasks.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Threading.Timer, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Transactions.Local, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Web.HttpUtility, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Private.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +> * System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Xml.XDocument, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.XPath.XDocument, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * System.Xml.ReaderWriter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.XmlSerializer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * System.Xml.XmlDocument, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +> * WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * UIAutomationTypes, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * UIAutomationProvider, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.Windows.Input.Manipulations, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +> * ReachFramework, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.Printing, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * PresentationUI, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +> * System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + +> * Analyzed Types = 26436 +> * Enumerators = 24 +> * Delegates = 364 +> * Classes +> * Constructors = 6718 +> * Methods = 30551 +> * Properties = 18543 +> * Events = 1742 +> * Implemented Types = 7273 +> * Enumerators = 23 +> * Delegates = 364 +> * Enums = 1251 +> * Flags = 270 +> * Interfaces = 363 +> * Classes = 5272 +> * Exceptions = 237 +> * Constructors = 5799 +> * Methods = 21231 +> * Duplicated Methods = 813 +> * Properties = 17287 +> * Events = 1635 +> * Discarded Types = 19162 +> * Non Public = 18809 +> * Generic = 293 +> * Internals = 24 + +[//]: # "EndReport net8.0" + +![Net8Statistic](https://docs.google.com/spreadsheets/d/e/2PACX-1vTe94B4KWTddOWDnIHGRkHHPq23g_oPzZUfmVU3ls1lEUwNQmG_T4Zi7xCCNkb0RMqkT8LblRNW7aT9/pubchart?oid=1527441532&format=image) \ No newline at end of file diff --git a/src/jvm/src/net8.0/assemblies.list b/src/jvm/src/net8.0/assemblies.list new file mode 100644 index 00000000000..f13d7edae56 --- /dev/null +++ b/src/jvm/src/net8.0/assemblies.list @@ -0,0 +1,290 @@ +PresentationFramework, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e +System.Private.Uri, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xaml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Runtime.InteropServices, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.Specialized, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.NonGeneric, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ObjectModel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.TypeConverter, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Loader, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Text.RegularExpressions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Memory, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Reflection.Emit.ILGeneration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.Concurrent, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.Emit.Lightweight, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Security, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Formats.Asn1, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Text.Encoding.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Numerics, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Thread, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.Tracing, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +Microsoft.Win32.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Principal.Windows, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Claims, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Sockets, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Overlapped, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.NameResolution, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.ThreadPool, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Drawing.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Numerics.Vectors, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Formatters, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Resources.Writer, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.XDocument, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Private.Xml.Linq, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Private.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.TraceSource, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.DiagnosticSource, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.Quic, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +Microsoft.Win32.Registry, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.AccessControl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Channels, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.IO.Compression, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.IO.Compression.Brotli, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Net.NetworkInformation, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.Emit, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq.Expressions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Windows.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.ComponentModel.EventBasedAsync, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Requests, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebHeaderCollection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.ServicePoint, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Drawing.Common, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +Microsoft.Win32.SystemEvents, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Xml.ReaderWriter, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Permissions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Data.Common, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.XmlSerializer, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Transactions.Local, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +WindowsBase, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Packaging, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.IsolatedStorage, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.FileSystem.AccessControl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Security.Cryptography.Pkcs, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.XPath, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Configuration.ConfigurationManager, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.Process, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.FileVersionInfo, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebClient, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.TextWriterTraceListener, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Console, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.EventLog, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Security.Cryptography.ProtectedData, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +PresentationCore, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +DirectWriteForwarder, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Private.CoreLib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e +Microsoft.Win32.Registry, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Principal.Windows, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Memory, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Collections, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.NonGeneric, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.Concurrent, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ObjectModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Console, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.StackTrace, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.Metadata, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.MemoryMappedFiles, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.FileSystem.DriveInfo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.IsolatedStorage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.TypeExtensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Resources.Writer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.CompilerServices.VisualC, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.InteropServices, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Formatters, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.FileSystem.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Claims, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Tasks.Parallel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.CompilerServices.VisualC, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +Microsoft.CSharp, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +Microsoft.VisualBasic.Core, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.FileSystem.DriveInfo, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +Microsoft.VisualBasic.Forms, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Windows.Forms.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Diagnostics.StackTrace, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Pipes, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Private.DataContractSerialization, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Windows.Forms, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Text.Encoding.CodePages, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Ping, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.Contracts, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Compression.ZipFile, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.IO.FileSystem.Watcher, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq.Queryable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq.Parallel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.HttpListener, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.WebSockets, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebProxy, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.Mail, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.WebSockets.Client, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.DispatchProxy, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Tasks.Parallel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Web.HttpUtility, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Xml.XPath.XDocument, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.AppContext, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Buffers, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.ComponentModel.Annotations, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.Runtime, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.Annotations, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.IO.MemoryMappedFiles, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Pipes, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.EventLog, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Linq.Expressions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Pipes.AccessControl, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq.Queryable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Linq.Parallel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Data.SqlClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Data.Common, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Data.Odbc, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Data.OleDb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.Debug, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.Tools, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.CodeDom, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +Microsoft.Win32.SystemEvents, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Diagnostics.Process, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Collections.Specialized, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.EventBasedAsync, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ComponentModel.Primitives, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.TraceSource, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.TextWriterTraceListener, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Diagnostics.FileVersionInfo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Private.Uri, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Compression, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.IO.FileSystem.Watcher, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Ports, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Windows.Extensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.Requests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Primitives, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.HttpListener, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.ServicePoint, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.NameResolution, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.WebHeaderCollection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebProxy, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.Mail, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Net.NetworkInformation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Ping, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Security, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Sockets, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebSockets.Client, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.WebSockets, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Text.RegularExpressions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Windows.Forms.Design, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.CodeDom, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Dynamic.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Formats.Tar, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Globalization.Calendars, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Globalization, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Globalization.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.IO.Compression.ZipFile, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.IO, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.FileSystem, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.FileSystem.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.Pipes.AccessControl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.IO.UnmanagedMemoryStream, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Net.Http.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Text.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Text.Encodings.Web, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Runtime.Intrinsics, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Runtime.Numerics, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Numerics.Vectors, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Reflection.TypeExtensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Resources.Reader, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Resources.ResourceManager, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.CompilerServices.Unsafe, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Handles, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.InteropServices.JavaScript, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.InteropServices.RuntimeInformation, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Runtime.Serialization.Primitives, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Json, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Runtime.Serialization.Schema, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Algorithms, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Cng, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Csp, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Encoding, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.OpenSsl, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.X509Certificates, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Pkcs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.ProtectedData, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.Cryptography.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Security.Principal, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Security.SecureString, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.ServiceModel.Syndication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.ServiceProcess.ServiceController, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Text.Encoding, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Tasks.Dataflow, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Tasks, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Threading.Tasks.Extensions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Threading.Timer, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Transactions.Local, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Web.HttpUtility, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Private.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Xml.XDocument, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.XPath.XDocument, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +System.Xml.ReaderWriter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.XmlSerializer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +System.Xml.XmlDocument, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +UIAutomationTypes, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +UIAutomationProvider, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.Windows.Input.Manipulations, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +ReachFramework, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.Printing, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +PresentationUI, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 +System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/src/jvm/statistics/net8.0/Statistics.csv b/src/jvm/statistics/net8.0/Statistics.csv new file mode 100644 index 00000000000..8be9fd73f44 --- /dev/null +++ b/src/jvm/statistics/net8.0/Statistics.csv @@ -0,0 +1,2 @@ +parsedAssemblies;analyzedTypes;discardedTypes;discardedNonPublicTypes;discardedGenericTypes;discardedInternalTypes;implementedEnum ;implementedEnumsFlags;analyzedEnumerators;implementedEnumerators;analyzedDelegates;implementedDelegates;implementedInterfaces;implementedClasses;implementedExceptions;analyzedCtors;implementedCtors ;analyzedMethods;implementedMethods;analyzedProperties;implementedProperties;analyzedEvents;implementedEvents;loadedAssemblies; +116;26436;19162;18809;293;24;1251;270;24;23;364;364;363;5272;237;6718;5799;30551;21231;18543;17287;1742;1635;283; \ No newline at end of file diff --git a/src/net/CLI/JCOReflectorCLI.csproj b/src/net/CLI/JCOReflectorCLI.csproj index 45d3f4a3c68..e3eebdc14ec 100644 --- a/src/net/CLI/JCOReflectorCLI.csproj +++ b/src/net/CLI/JCOReflectorCLI.csproj @@ -9,10 +9,10 @@ Copyright © MASES s.r.l. 2022 MASES s.r.l. MASES s.r.l. - 1.13.0.0 + 1.14.0.0 MASES.JCOReflectorCLI true - net462;net6.0;net7.0 + net462;net6.0;net7.0;net8.0 ..\..\..\bin\ true diff --git a/src/net/CLI/JCOReflectorCLI.nuspec b/src/net/CLI/JCOReflectorCLI.nuspec index aa2230c624c..79f9bb2d4aa 100644 --- a/src/net/CLI/JCOReflectorCLI.nuspec +++ b/src/net/CLI/JCOReflectorCLI.nuspec @@ -2,7 +2,7 @@ MASES.JCOReflectorCLI - 1.13.0 + 1.14.0 JCOReflector CLI - CLI interface for JCOReflector Engine MASES s.r.l. MASES s.r.l. @@ -26,5 +26,6 @@ + \ No newline at end of file diff --git a/src/net/CLI/Program.cs b/src/net/CLI/Program.cs index 069c662e4af..8e028545964 100644 --- a/src/net/CLI/Program.cs +++ b/src/net/CLI/Program.cs @@ -36,6 +36,8 @@ static void showHelp(string errorString = null) var title = "JCOReflector CLI - CLI interface for JCOReflector Engine (.NET 6)"; #elif NET7_0 var title = "JCOReflector CLI - CLI interface for JCOReflector Engine (.NET 7)"; +#elif NET8_0 + var title = "JCOReflector CLI - CLI interface for JCOReflector Engine (.NET 8)"; #elif NETFRAMEWORK var title = "JCOReflector CLI - CLI interface for JCOReflector Engine (.NET Framework)"; #else diff --git a/src/net/GUI/JCOReflectorGUI.csproj b/src/net/GUI/JCOReflectorGUI.csproj index 4350e415a4b..fe21140b4ac 100644 --- a/src/net/GUI/JCOReflectorGUI.csproj +++ b/src/net/GUI/JCOReflectorGUI.csproj @@ -8,10 +8,10 @@ Copyright © MASES s.r.l. 2023 MASES s.r.l. MASES s.r.l. - 1.13.0.0 + 1.14.0.0 JCOReflectorGUI true - net462;net6.0-windows;net7.0-windows + net462;net6.0-windows;net7.0-windows;net8.0-windows true ..\..\..\bin\ true diff --git a/src/net/GUI/MainWindow.xaml.cs b/src/net/GUI/MainWindow.xaml.cs index 128e51c4490..ca4af5071ac 100644 --- a/src/net/GUI/MainWindow.xaml.cs +++ b/src/net/GUI/MainWindow.xaml.cs @@ -116,6 +116,10 @@ public MainWindow() #elif NET7_0 Title = "JCOReflector Builder - CLR to JVM reflection class generator (.NET 7)"; + tbAssemblyNames.Text += "PresentationFramework"; +#elif NET8_0 + Title = "JCOReflector Builder - CLR to JVM reflection class generator (.NET 8)"; + tbAssemblyNames.Text += "PresentationFramework"; #elif NETFRAMEWORK Title = "JCOReflector Builder - CLR to JVM reflection class generator (.NET Framework)"; diff --git a/src/net/engine/Const.cs b/src/net/engine/Const.cs index 212c64d0f1b..0ae5cfdf6c9 100644 --- a/src/net/engine/Const.cs +++ b/src/net/engine/Const.cs @@ -112,12 +112,15 @@ static SpecialNames() ExportingMethodsAvoidanceMap.Add("System.Threading.Thread", new string[] { "VolatileRead" }); ExportingMethodsAvoidanceMap.Add("System.Threading.Volatile", new string[] { "Read" }); ExportingMethodsAvoidanceMap.Add("System.Threading.Interlocked", new string[] { "Decrement", "Increment" -#if NET6_0 || NET7_0 +#if NET6_0 || NET7_0 || NET8_0 , "Read" #endif }); -#if NET7_0 +#if NET7_0 || NET8_0 ExportingMethodsAvoidanceMap.Add("System.Runtime.InteropServices.JavaScript.JSMarshalerArgument", new string[] { "ToManaged" }); +#endif +#if NET8_0 + ExportingMethodsAvoidanceMap.Add("System.Runtime.InteropServices.Marshalling.IIUnknownInterfaceType", null); #endif DirectMappablePrimitives.Add("boolean", "java.util.concurrent.atomic.AtomicBoolean"); DirectMappablePrimitives.Add("byte", "java.util.concurrent.atomic.AtomicReference"); @@ -168,7 +171,7 @@ public static string GetRelativePath(string filespec, string folder) public const string JCOBridgeEmbeddedFile = "JCOBridge.zip"; public const string JCOReflectorOptionsFile = "JCOReflectorOptions.java"; -#if NET6_0 +#if NET6_0 || NET7_0 || NET8_0 public static string[] JCOBridgeFiles = new string[] { Path.Combine("linux-arm", "J2CBridgeHostActivator.so"), @@ -204,47 +207,18 @@ public static string GetRelativePath(string filespec, string folder) "LicenseViewer.runtimeconfig.json", "MachineIdGenerator.dll", "MachineIdGenerator.runtimeconfig.json", +#if NET6_0 "Microsoft.NET6.App.runtimeconfig.json", "Microsoft.WindowsDesktop6.App.runtimeconfig.json", - }; #elif NET7_0 - public static string[] JCOBridgeFiles = new string[] - { - Path.Combine("linux-arm", "J2CBridgeHostActivator.so"), - Path.Combine("linux-arm", "libnethost.so"), - Path.Combine("linux-arm64", "J2CBridgeHostActivator.so"), - Path.Combine("linux-arm64", "libnethost.so"), - Path.Combine("linux-x64", "J2CBridgeHostActivator.so"), - Path.Combine("linux-x64", "libnethost.so"), - Path.Combine("win-arm", "J2CBridgeHostActivator.dll"), - Path.Combine("win-arm", "nethost.dll"), - Path.Combine("win-arm64", "J2CBridgeHostActivator.dll"), - Path.Combine("win-arm64", "nethost.dll"), - Path.Combine("win-x64", "J2CBridgeHostActivator.dll"), - Path.Combine("win-x64", "nethost.dll"), - Path.Combine("win-x86", "J2CBridgeHostActivator.dll"), - Path.Combine("win-x86", "nethost.dll"), - "C2JBridge.dll", - "C2JBridgeDesktop.dll", - "IpAddressIdGenerator.dll", - "IpAddressIdGenerator.runtimeconfig.json", - "J2CBridge_Arm.dll", - "J2CBridge_Arm.so", - "J2CBridge_Arm64.dll", - "J2CBridge_Arm64.so", - "J2CBridge_x64.dll", - "J2CBridge_x64.so", - "J2CBridge_x86.dll", - "JCOBridge.docs.jar", - "JCOBridge.jar", - "LicenseManagerUI.dll", - "LicenseManagerUI.runtimeconfig.json", - "LicenseViewer.dll", - "LicenseViewer.runtimeconfig.json", - "MachineIdGenerator.dll", - "MachineIdGenerator.runtimeconfig.json", "Microsoft.NET7.App.runtimeconfig.json", "Microsoft.WindowsDesktop7.App.runtimeconfig.json", +#elif NET8_0 + "Microsoft.NET8.App.runtimeconfig.json", + "Microsoft.WindowsDesktop8.App.runtimeconfig.json", +#else +#error Unable to identify .NET engine +#endif }; #elif NETFRAMEWORK public static string[] JCOBridgeFiles = new string[] @@ -300,6 +274,10 @@ public class Framework public const string Runtime = ".NET 7"; public const string RuntimeName = ".NETCoreApp"; public const string RuntimeFolder = "net7.0"; +#elif NET8_0 + public const string Runtime = ".NET 8"; + public const string RuntimeName = ".NETCoreApp"; + public const string RuntimeFolder = "net8.0"; #elif NETFRAMEWORK public const string Runtime = ".NET Framework"; public const string RuntimeName = ".NETFramework"; diff --git a/src/net/engine/JCOReflectorEngine.csproj b/src/net/engine/JCOReflectorEngine.csproj index 84e82e5cca4..52e13cda3d1 100644 --- a/src/net/engine/JCOReflectorEngine.csproj +++ b/src/net/engine/JCOReflectorEngine.csproj @@ -7,10 +7,10 @@ Copyright © MASES s.r.l. 2023 MASES s.r.l. MASES s.r.l. - 1.13.0.0 + 1.14.0.0 MASES.JCOReflectorEngine true - net462;net6.0;net7.0 + net462;net6.0;net7.0;net8.0 ..\..\..\bin\ true true @@ -105,6 +105,7 @@ + @@ -114,7 +115,7 @@ - + All None diff --git a/src/net/engine/Reflector.cs b/src/net/engine/Reflector.cs index 6e6a733967a..fcbcf3e66a9 100644 --- a/src/net/engine/Reflector.cs +++ b/src/net/engine/Reflector.cs @@ -1340,7 +1340,7 @@ static bool AvoidExportMethods(this Type type, MethodInfo method) string[] methodNamesToCheck; if (Const.SpecialNames.ExportingMethodsAvoidanceMap.TryGetValue(fullname, out methodNamesToCheck)) { - return methodNamesToCheck.Contains(methodName); + return methodNamesToCheck != null && methodNamesToCheck.Contains(methodName); } return false; @@ -2532,7 +2532,7 @@ static bool ExportingDelegate(this Type item, string destFolder, string assembly var fileName = Path.Combine(pathToSaveTo, string.Format("I{0}.java", delegateName)); writeFile(fileName, interfaceStr); - importsStr = importsStr + string.Format(Const.Imports.IMPORT, packageName, string.Format("I{0}", delegateName)); + importsStr += string.Format(Const.Imports.IMPORT, packageName, string.Format("I{0}", delegateName)); string dynamicInvokeExecParamStr = dynamicInvokeExecParams.ToString(); var dynamicInvokeStr = dynamicInvokeTemplateToUse.Replace(Const.Methods.METHOD_JAVA_NAME, Const.SpecialNames.METHOD_DYNAMICINVOKE_NAME) @@ -2771,6 +2771,7 @@ static string ExportImports(this IList imports) subItem = item.GetElementType(); } var name = subItem.Name; + if (string.IsNullOrWhiteSpace(name)) continue; // bypass empty name which leads to error in some cases if (subItem.IsInterface) { if (subItem.IsManagedType(0, 1) && subItem != typeof(IEnumerator) && subItem != typeof(IEnumerable))