Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Linker into runtime diff2 - #78049

Merged
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2
Nov 9, 2022
Merged

Linker into runtime diff2#78049
tlakollo merged 6 commits into
dotnet:LinkerIntoRuntime2from
tlakollo:LinkerIntoRuntimeDiff2

Conversation

@tlakollo

Copy link
Copy Markdown
Contributor

Updating the consolidation branch into a new branch called LinkerIntoRuntime2 inside the runtime repo
The difference with #77569 is that this PR contains the latest linker changes and leaves outside changes that are not functional and are difficult to review (formatting the repo, moving docs, formatting the headers). Also, this PR takes into account the latest feedback about renaming linker to illink.
For more information about these changes please refer to #75278.

Tlakaelel Ceja Valadez added 5 commits November 8, 2022 08:27
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Add a pipeline file to run illink unitests when there are illink changes
@tlakollotlakollo added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Tools-ILLink .NET linker development as well as trimming analyzers labels Nov 8, 2022
@tlakollotlakollo added this to the 8.0.0 milestone Nov 8, 2022
@tlakollotlakollo mentioned this pull request Nov 8, 2022
@@ -1,6 +1,3 @@
# top-most EditorConfig file
root = true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we want to consolidate the code styling in src/tools/illink with the rest of the repo? If yes, can you please open a tracking issue to remove this .editorconfig later?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Once the linker repo is archived and no cherry picking is being made the editorconfig will be customized to only contain a small subset of overrides from runtime global config #78050

@sbomersbomer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM with some minor comments. Thanks!

Comment threadeng/pipelines/runtime-tools-tests.yml Outdated
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<!-- Recommended by arcade for tools projects. generates an assembly version that includes patch number derived from date and build revision -->
<AutoGenerateAssemblyVersion>true</AutoGenerateAssemblyVersion>
<AutoGenerateAssemblyVersion>false</AutoGenerateAssemblyVersion>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this changing here and in the analyzer? If we change it the comment should at least be updated.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Added a comment pointing to the issue that tracks setting the feature to true again #78076

Comment threadsrc/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj Outdated
<Description>MSBuild tasks for running the IL Linker</Description>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.NET.ILLink.Tasks</PackageId>
<!-- Removing the package id to be able to build the linker inside runtime

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this change

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

There is a Microsoft.NET.ILLink.Tasks package included in the Versions.props and Version.Details.xml since this PackageId generates another package with the same name then the build system will believe that there is a cycle. Once we have live bits being feed into runtime we can delete the package in Versions.props and Version.Details.xml and uncomment the PackageId in this project. Opened #78073 to track this

@tlakollotlakollo removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 9, 2022
@tlakollo
tlakollo merged commit 9590382 into dotnet:LinkerIntoRuntime2Nov 9, 2022
@filipnavara

filipnavara commented Nov 9, 2022

Copy link
Copy Markdown
Member

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

@tlakollo

Copy link
Copy Markdown
ContributorAuthor

Thanks! 🎉 (uff, only noticed now that it's still in separate branch and not main 🥺)

Here is the PR targeting main, hopefully will be merged today #78077

tlakollo added a commit that referenced this pull request Nov 15, 2022
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
- .gitattributes
- .gitignore
- .github
- .gitmodules
- after.illink.sln.targets
- code_of_conduct.md
- global.json
- LICENSE.txt
- NuGet.config
- THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
- Build.props
- Publishing.props
- Signing.props
- SourceBuild.props
- SourceBuildPrebuiltBaseline.xml
- Tools.props
- Version.Details.xml
- Versions.props
* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package
* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces
* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes
* Fix Markdown lint
* Remove checked-in binaries
* Use nunit for linker tests and fix cecil version test
@ghostghost locked as resolved and limited conversation to collaborators Dec 10, 2022
@tlakollo
tlakollo deleted the LinkerIntoRuntimeDiff2 branch January 16, 2023 05:40
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@tlakollo@filipnavara@agocke@sbomer@am11@ViktorHofer