You've already forked setup-dotnet
							
							
				mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 07:16:21 +07:00 
			
		
		
		
	Merge pull request #431 from akv-platform/allow-json-comments
Allow json comments
This commit is contained in:
		
							
								
								
									
										25
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -229,6 +229,31 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2" | ||||
|  | ||||
|   test-global-json-with-comments: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Write global.json | ||||
|         shell: bash | ||||
|         run: | | ||||
|           mkdir subdirectory | ||||
|           echo '/* should support comments */ {"sdk":{"version": "2.2.207","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json | ||||
|       - name: Setup dotnet | ||||
|         uses: ./ | ||||
|         with: | ||||
|           global-json-file: ./subdirectory/global.json | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2" | ||||
|  | ||||
|   test-setup-with-dotnet-quality: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|  | ||||
							
								
								
									
										36
									
								
								.licenses/npm/json5.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.licenses/npm/json5.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| --- | ||||
| name: json5 | ||||
| version: 2.2.3 | ||||
| type: npm | ||||
| summary: JSON for Humans | ||||
| homepage: http://json5.org/ | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
|   text: | | ||||
|     MIT License | ||||
|  | ||||
|     Copyright (c) 2012-2018 Aseem Kishore, and [others]. | ||||
|  | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
|  | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
|  | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
|  | ||||
|     [others]: https://github.com/json5/json5/contributors | ||||
| - sources: README.md | ||||
|   text: MIT. See [LICENSE.md](./LICENSE.md) for details. | ||||
| notices: [] | ||||
							
								
								
									
										1469
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1469
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										5
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										5
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -17,6 +17,7 @@ | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "@actions/io": "^1.0.2", | ||||
|         "fast-xml-parser": "^4.0.10", | ||||
|         "json5": "^2.2.3", | ||||
|         "semver": "^6.3.0" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
| @ -4902,7 +4903,6 @@ | ||||
|       "version": "2.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", | ||||
|       "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", | ||||
|       "dev": true, | ||||
|       "bin": { | ||||
|         "json5": "lib/cli.js" | ||||
|       }, | ||||
| @ -10204,8 +10204,7 @@ | ||||
|     "json5": { | ||||
|       "version": "2.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", | ||||
|       "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", | ||||
|       "dev": true | ||||
|       "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" | ||||
|     }, | ||||
|     "kleur": { | ||||
|       "version": "3.0.3", | ||||
|  | ||||
| @ -34,6 +34,7 @@ | ||||
|     "@actions/http-client": "^2.0.1", | ||||
|     "@actions/io": "^1.0.2", | ||||
|     "fast-xml-parser": "^4.0.10", | ||||
|     "json5": "^2.2.3", | ||||
|     "semver": "^6.3.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|  | ||||
| @ -7,6 +7,7 @@ import * as auth from './authutil'; | ||||
| import {isCacheFeatureAvailable} from './cache-utils'; | ||||
| import {restoreCache} from './cache-restore'; | ||||
| import {Outputs} from './constants'; | ||||
| import JSON5 from 'json5'; | ||||
|  | ||||
| const qualityOptions = [ | ||||
|   'daily', | ||||
| @ -97,9 +98,14 @@ export async function run() { | ||||
|  | ||||
| function getVersionFromGlobalJson(globalJsonPath: string): string { | ||||
|   let version = ''; | ||||
|   const globalJson = JSON.parse( | ||||
|   const globalJson = JSON5.parse( | ||||
|     // .trim() is necessary to strip BOM https://github.com/nodejs/node/issues/20649 | ||||
|     fs.readFileSync(globalJsonPath, {encoding: 'utf8'}).trim() | ||||
|     fs.readFileSync(globalJsonPath, {encoding: 'utf8'}).trim(), | ||||
|     // is necessary as JSON5 supports wider variety of options for numbers: https://www.npmjs.com/package/json5#numbers | ||||
|     (key, value) => { | ||||
|       if (key === 'version' || key === 'rollForward') return String(value); | ||||
|       return value; | ||||
|     } | ||||
|   ); | ||||
|   if (globalJson.sdk && globalJson.sdk.version) { | ||||
|     version = globalJson.sdk.version; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Nikolai Laevskii
					Nikolai Laevskii