Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: Add DefineConstants supports for source file based build #9707

Merged

Conversation

filzrev
Copy link
Contributor

@filzrev filzrev commented Feb 20, 2024

This PR intended to fix #8028.

When building API metadata from C#/VB source files.
The DefineConstants properties defined in docfx.json are not currently used.

This PR add logics to read DefineConstants MSBuild properties and set values to CSharpParseOptions/ VisualBasicParseOptions.

Copy link

codecov bot commented Feb 20, 2024

Codecov Report

Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (fe673ec) 74.31% compared to head (34bcf53) 74.29%.
Report is 30 commits behind head on main.

Files Patch % Lines
src/Docfx.Dotnet/CompilationHelper.cs 89.28% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9707      +/-   ##
==========================================
- Coverage   74.31%   74.29%   -0.03%     
==========================================
  Files         536      536              
  Lines       23189    23224      +35     
  Branches     4056     4067      +11     
==========================================
+ Hits        17234    17255      +21     
- Misses       4853     4866      +13     
- Partials     1102     1103       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@filzrev filzrev force-pushed the feat-enable-defineconstants-on-sourcebuild branch from 342e66c to 34bcf53 Compare February 20, 2024 02:20
@yufeih yufeih added the new-feature Makes the pull request to appear in "New Features" section of the next release note label Feb 20, 2024
Copy link
Contributor

@yufeih yufeih left a comment

Choose a reason for hiding this comment

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

Looks great thank you @filzrev !

@yufeih yufeih merged commit 3a46668 into dotnet:main Feb 20, 2024
8 checks passed
renovate bot referenced this pull request in buehler/dotnet-operator-sdk Apr 7, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [docfx](https://togithub.com/dotnet/docfx) | `2.75.3` -> `2.76.0` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dotnet/docfx (docfx)</summary>

### [`v2.76.0`](https://togithub.com/dotnet/docfx/releases/tag/v2.76.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### 🎉 New Features

- feat: Add DefineConstants supports for source file based build by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9707](https://togithub.com/dotnet/docfx/pull/9707)
- feat: Add additional layout options to modern template by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9737](https://togithub.com/dotnet/docfx/pull/9737)
- feat: Add pdfPrintBackground setting by
[@&#8203;cjlotz](https://togithub.com/cjlotz) in
[https://github.com/dotnet/docfx/pull/9742](https://togithub.com/dotnet/docfx/pull/9742)
- feat: Update roslyn packages by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9753](https://togithub.com/dotnet/docfx/pull/9753)
- feat: Publish nightly pre-release packages by
[@&#8203;yufeih](https://togithub.com/yufeih) in
[https://github.com/dotnet/docfx/pull/9788](https://togithub.com/dotnet/docfx/pull/9788)
- feat: Add DLL references support for file-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9825](https://togithub.com/dotnet/docfx/pull/9825)
- feat: Support DOCFX_SOURCE_REPOSITORY_URL by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9759](https://togithub.com/dotnet/docfx/pull/9759)
- feat: Add feature to configure markdig extension by docfx.json
configs. by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9820](https://togithub.com/dotnet/docfx/pull/9820)
- feat: Support for all emphasis supported by MarkDig by
[@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) in
[https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)

##### 🐞 Bug Fixes

- fix: `docfx download` command behaviors by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9721](https://togithub.com/dotnet/docfx/pull/9721)
- fix: Resolved .NET SDK version problem on source-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9713](https://togithub.com/dotnet/docfx/pull/9713)
- fix: Don't overwrite `_disabledToc` when metadata is explicitly
defined by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9741](https://togithub.com/dotnet/docfx/pull/9741)
- fix: Outputted PDF displays garbled characters when name contains
non-ASCII chars by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9769](https://togithub.com/dotnet/docfx/pull/9769)
- fix: Move script tags into head in modern template by
[@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) in
[https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- fix: Broken examples problems when using inheritdoc tag by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9754](https://togithub.com/dotnet/docfx/pull/9754)
- fix: NullReferenceException occurred when both include and exclude are
null by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9786](https://togithub.com/dotnet/docfx/pull/9786)
- fix: Change JsonSchema EvaluationOptions instance to shared object by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9807](https://togithub.com/dotnet/docfx/pull/9807)
- fix: Bug fix Invalid documentation on type parameter
[#&#8203;9755](https://togithub.com/dotnet/docfx/issues/9755) by
[@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) in
[https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)

##### 🚀 Performance Improvements

- perf: Optimize xrefmap.json file deserialization performance by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9824](https://togithub.com/dotnet/docfx/pull/9824)

##### 🔧 Engineering

- chore: percy snapshot by [@&#8203;yufeih](https://togithub.com/yufeih)
in
[https://github.com/dotnet/docfx/pull/9747](https://togithub.com/dotnet/docfx/pull/9747)
- chore: Add detailed error message for specific exceptions by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9746](https://togithub.com/dotnet/docfx/pull/9746)
- chore: update pdfpig nuget package version by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9803](https://togithub.com/dotnet/docfx/pull/9803)

##### 📄 Documentation

- docs: Split docfx CLI reference docs based on commands by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9708](https://togithub.com/dotnet/docfx/pull/9708)
- docs: Update markdown documentation regarding MarkDig extension by
[@&#8203;tbolon](https://togithub.com/tbolon) in
[https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- docs: Update `docfx.json` config reference document by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9813](https://togithub.com/dotnet/docfx/pull/9813)
- docs: Correct `docfx template` page title by
[@&#8203;peitschie](https://togithub.com/peitschie) in
[https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- docs: Add a warning about relative path resolution. by
[@&#8203;voroninp](https://togithub.com/voroninp) in
[https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

#### New Contributors

- [@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) made their
first contribution in
[https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)
- [@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) made their
first contribution in
[https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- [@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) made
their first contribution in
[https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)
- [@&#8203;tbolon](https://togithub.com/tbolon) made their first
contribution in
[https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- [@&#8203;peitschie](https://togithub.com/peitschie) made their first
contribution in
[https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- [@&#8203;voroninp](https://togithub.com/voroninp) made their first
contribution in
[https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

**Full Changelog**:
dotnet/docfx@v2.75.3...v2.76.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm,before 6am" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/buehler/dotnet-operator-sdk).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ian-buse referenced this pull request in dh2i-devs/dotnet-operator-sdk May 3, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [docfx](https://togithub.com/dotnet/docfx) | `2.75.3` -> `2.76.0` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dotnet/docfx (docfx)</summary>

### [`v2.76.0`](https://togithub.com/dotnet/docfx/releases/tag/v2.76.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### 🎉 New Features

- feat: Add DefineConstants supports for source file based build by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9707](https://togithub.com/dotnet/docfx/pull/9707)
- feat: Add additional layout options to modern template by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9737](https://togithub.com/dotnet/docfx/pull/9737)
- feat: Add pdfPrintBackground setting by
[@&#8203;cjlotz](https://togithub.com/cjlotz) in
[https://github.com/dotnet/docfx/pull/9742](https://togithub.com/dotnet/docfx/pull/9742)
- feat: Update roslyn packages by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9753](https://togithub.com/dotnet/docfx/pull/9753)
- feat: Publish nightly pre-release packages by
[@&#8203;yufeih](https://togithub.com/yufeih) in
[https://github.com/dotnet/docfx/pull/9788](https://togithub.com/dotnet/docfx/pull/9788)
- feat: Add DLL references support for file-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9825](https://togithub.com/dotnet/docfx/pull/9825)
- feat: Support DOCFX_SOURCE_REPOSITORY_URL by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9759](https://togithub.com/dotnet/docfx/pull/9759)
- feat: Add feature to configure markdig extension by docfx.json
configs. by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9820](https://togithub.com/dotnet/docfx/pull/9820)
- feat: Support for all emphasis supported by MarkDig by
[@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) in
[https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)

##### 🐞 Bug Fixes

- fix: `docfx download` command behaviors by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9721](https://togithub.com/dotnet/docfx/pull/9721)
- fix: Resolved .NET SDK version problem on source-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9713](https://togithub.com/dotnet/docfx/pull/9713)
- fix: Don't overwrite `_disabledToc` when metadata is explicitly
defined by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9741](https://togithub.com/dotnet/docfx/pull/9741)
- fix: Outputted PDF displays garbled characters when name contains
non-ASCII chars by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9769](https://togithub.com/dotnet/docfx/pull/9769)
- fix: Move script tags into head in modern template by
[@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) in
[https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- fix: Broken examples problems when using inheritdoc tag by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9754](https://togithub.com/dotnet/docfx/pull/9754)
- fix: NullReferenceException occurred when both include and exclude are
null by [@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9786](https://togithub.com/dotnet/docfx/pull/9786)
- fix: Change JsonSchema EvaluationOptions instance to shared object by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9807](https://togithub.com/dotnet/docfx/pull/9807)
- fix: Bug fix Invalid documentation on type parameter
[#&#8203;9755](https://togithub.com/dotnet/docfx/issues/9755) by
[@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) in
[https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)

##### 🚀 Performance Improvements

- perf: Optimize xrefmap.json file deserialization performance by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9824](https://togithub.com/dotnet/docfx/pull/9824)

##### 🔧 Engineering

- chore: percy snapshot by [@&#8203;yufeih](https://togithub.com/yufeih)
in
[https://github.com/dotnet/docfx/pull/9747](https://togithub.com/dotnet/docfx/pull/9747)
- chore: Add detailed error message for specific exceptions by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9746](https://togithub.com/dotnet/docfx/pull/9746)
- chore: update pdfpig nuget package version by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9803](https://togithub.com/dotnet/docfx/pull/9803)

##### 📄 Documentation

- docs: Split docfx CLI reference docs based on commands by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9708](https://togithub.com/dotnet/docfx/pull/9708)
- docs: Update markdown documentation regarding MarkDig extension by
[@&#8203;tbolon](https://togithub.com/tbolon) in
[https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- docs: Update `docfx.json` config reference document by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[https://github.com/dotnet/docfx/pull/9813](https://togithub.com/dotnet/docfx/pull/9813)
- docs: Correct `docfx template` page title by
[@&#8203;peitschie](https://togithub.com/peitschie) in
[https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- docs: Add a warning about relative path resolution. by
[@&#8203;voroninp](https://togithub.com/voroninp) in
[https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

#### New Contributors

- [@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) made their
first contribution in
[https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)
- [@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) made their
first contribution in
[https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- [@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) made
their first contribution in
[https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)
- [@&#8203;tbolon](https://togithub.com/tbolon) made their first
contribution in
[https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- [@&#8203;peitschie](https://togithub.com/peitschie) made their first
contribution in
[https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- [@&#8203;voroninp](https://togithub.com/voroninp) made their first
contribution in
[https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

**Full Changelog**:
dotnet/docfx@v2.75.3...v2.76.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm,before 6am" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/buehler/dotnet-operator-sdk).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
p-kostov pushed a commit to ErpNetDocs/docfx that referenced this pull request Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature Makes the pull request to appear in "New Features" section of the next release note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

DefineConstants / MSBuild Properties not working with non-csproj configurations.
2 participants