Граф коммитов

29 Коммитов

Автор SHA1 Сообщение Дата
Scott Beddall 99c86b9389
Discover Affected Recordings (#8391)
* adjustments to Assets.Maintenance.Tool to allow a bit more flexibility as to which commits are pulled down
* add a script which can retrieve multiple assets tags at a time, then scan them for contents


Co-authored-by: Ben Broderick Phillips <ben@benbp.net>
2024-06-10 14:03:51 -07:00
Scott Beddall 1a4819df7f
auto-merge conflicted assets.json (#7537)
* Add ConflictedFile to git-helpers.ps1, add git-helpers.tests.ps1 to exercise basic functionality.
* Add `resolve-asset-conflict.ps1` a script that can autoresolve an assets.json file.

---------

Co-authored-by: Scott Beddall (from Dev Box) <scbedd@microsoft.com>
Co-authored-by: Scott Beddall <45376673+scbedd@users.noreply.github.com>
Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
2024-01-17 14:14:23 -08:00
Patrick Hallisey 23ef234bec
Add package-lock.json for tsp-client (#7287)
- update the pipeline yaml to use
- stop ignoring *-lock.json files in .gitignore
- pin the floating @typespec/compiler peer dependency in devDependencies
- add tsp-client's package-lock.json to the repository
2023-11-14 23:24:41 +00:00
Scott Beddall c6a88f7097
Add generated files to gitignore so we don't accidentally commit them… (#6446)
* add generated files to gitignore so we don't accidentally commit them or need to clean them up
2023-07-06 16:51:20 -07:00
Travis Prescott a73080d969
Release `typespec-apiview` (#5615)
* Rename Cadl to TypeSpec.

* Updates.

* Preserve quoting string literal members.
2023-03-07 10:44:21 -08:00
Travis Prescott 1a75b70fa0
[CADL APIView] Add cadl-apiview emitter (#4160)
* Add cadl-apiview emitter.

* Code review feedback.

* Top-level organization updates.

* Code review feedback.

* Refactoring per Timothee's suggestion.

* Emitter updates.

* Adding tests.

* Support union types. Fix anonymous model formatting.

* Improve inline model display.

* Progress on expanded inline models.

* Add more tests.

* Refactor tests.

* Fix singleton NamespaceStack.

* Add yaml to create pipeline to build, test and release cadl APIView emitter

* Enable cadl emmitter  test

* Fix wonky definition IDs.

* Support rendering template parameters.

* More tests. Verify no duplicate definitionIds.

* Give return types on expanded operation signatures a definition ID.

* Add changelog and fix issue with definition IDs.

Co-authored-by: praveenkuttappan <praveen.kuttappan@gmail.com>
2022-10-05 11:43:10 -07:00
Chidozie Ononiwu (His Righteousness) b3595756e0
Fixup .gitignore files, disable sticky header on revies page (#4047) 2022-09-19 18:55:09 -07:00
Chidozie Ononiwu (His Righteousness) eed684c697
Implementing Filtering and Paging for the Reviews Page (#3288)
* Testing Partial PageViews for APIView Index

* Add endpoint for retrieving reviews properties

* Add filters markup

* Implement partial refresh of review filters

* Load Review Properties as part of the initial load

* Complete work on reviews page, filtering and paging

* Complete work on reviews page, filtering and paging

* Add backend search

* Fix broken js

* Fix reset button

* Remove Tags feature

* Add search button

* Remove frontend search

* Remove Generated JS Output

* Sort by lastupdated Desc

* Update Multiple Select Icons

* Add more language logos, fix issue with search and filter

* Improvements to Reviews Search
2022-06-13 11:31:50 -07:00
Scott Beddall 7563bbb816
[Asset Sync] Script Prototype and Investigation Docs(#3170)
* Initial Assets-Sync Proposal Document.
* Prototype of Assets-Sync Script 'tools/asset-sync/assets.ps1` and accompanying Pester integration test suite. To properly enable integration testing in CI, additional effort is still required.
  * Test Helper can create local language and assets repo scenarios. This means that we can fully integration test individual conflict scenarios as they are discovered by users.
* Powershell Test YML enabling CI checks for a powershell project. 'archetype-sdk-tool-pwsh'. This is usable outside of the this specific commit's new code.

Co-authored-by: James Suplizio <jasupliz@microsoft.com>
Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
2022-05-10 14:00:37 -07:00
Travis Prescott 6506ee7f51
[Python APIView] Rename apistubgen-tests to apistubgentest (#2763)
* Rename apistubgen-tests to apistubgentest. Rename main.py back to apistubgen.py

* Fix up gitignore and remove _build folder.
2022-02-15 12:32:15 -08:00
Travis Prescott 25aec3c71a
[Python APIView] parse default values from docstrings (#2732)
* Closes #2480.

* Add sphinx documentation generation.

* Restructure package to more closely resemble Azure SDK.

* Closes #2742.

* Progress.

* Code review feedback. Support sphinx annotation types.

* Code review feedback.
2022-02-15 09:48:25 -08:00
Travis Prescott bc16b793ac
Fix #2648 (#2653) 2022-02-01 15:24:11 -08:00
Travis Prescott 1476577010
Force add SwiftAPIView.xcworkspace and tweak gitignore (#2563)
* Update gitignore.

* Gitignore tweak

* Add SwiftAPIView.xcworkspace
2022-01-18 12:49:36 -08:00
Scott Beddall 42f5d5421e
[OAV] Converter Prototype (#2207)
* add new tool oav-traffic-converter, a typescript cli tool that will convert azsdk test-proxy recordings to the payload format required by the liveValidation within `oav`
2021-11-04 14:01:00 -07:00
Chenjie Shi 6b34ad6842
feat: setup mono repo for sdk test tools (#2144)
* feat: setup mono repo for sdk test tools

* ci: eng sys convention refine

* build: release @autorest/testmodeler 1.0.0

Co-authored-by: Changlong Liu <changlong.liu@microsoft.com>
2021-10-29 14:09:04 +08:00
Scott Beddall f907a04f60
build the proxy at docker build time. ensure we can handle backslashed paths appropriately on cross-plat instances (#1942) 2021-08-26 14:46:00 -07:00
Scott Beddall c0d142ae04
[Test-Proxy] eng/common templates (#1909)
Changes in this PR:
- Add test proxy tool and docker invocations to the eng/common yaml.
- Update eng/common with the SSL-related items so they can be trusted by language-specific tooling
- Update documentation and build to reflect new certificate files location.

Ok. @weshaggard I have added a `prepare.ps1` to the `test-proxy/docker` folder. Updated the documentation that refers to the certificate by name/location. Updated the docker build to be able to run the `prepare.ps1` script. 

[Successful Test invocation using these location changes in sdk-for-python](https://dev.azure.com/azure-sdk/playground/_build/results?buildId=1050334&view=results)
[Successful Test container publish](https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1050428&view=logs&j=c370c9e0-ef2e-5a74-495e-4719e52f70ec&t=21eced4c-c8be-5dcb-8a86-9b163bc55754)
2021-08-17 00:18:39 +00:00
Travis Prescott 75cf2ffd3c
Swift API View (#1783)
* Initial skeleton commit.

* In-Progress Commit

* In progress commit

* Update models for proper serialization. Basic iterative token generation. (#1790)

* Work in progress

* In progress commit

* Removed unused pod stuff

* Remove unused podfile and json edits

* In progress commit

* In progress commit:
	Tokens
	Navigation

* Swift: Refactoring and streamlining (#1791)

* Tweak helper names.

* Refactoring and indentation.

* Add missing properties to TokenFile.swift

* Fix up rebase issues.

* Work in progress

* SwiftAPIView: Load all swift files in a folder, not just a single source file (#1794)

* Load entire folder, not single source file

* Work with either a single file or folder.

* Remove unused file

* Fix bad merge.

* Add line IDs for structs and enums. (#1795)

* More progress

* In progress commit: added function support

* Swift APIView: Added support for variables and functions (#1797)

* Swiftformat and let/var annotations

* Rough support for functions

Co-authored-by: Jair <67484440+jairmyree@users.noreply.github.com>

* Stable APIView for demonstration

* Added navigation functionality

* Swift APIView: Clean up style issues. (#1801)

* Clean up style issues.

* Eliminate double : in type annotations

* Fix default log level.

* Sort navigation. (#1802)

* Swift APIView: Clickable type enhancements (#1805)

* Refactor type info.

* Refactoring

* Clickable inheritance clauses.

* Clickable result types.

* Partially clickable types in function signatures.

* Add Package.swift

* Revert Package.swift changes.

* Fixed the dest URL problem (#1812)

Co-authored-by: Jair Myree <t-jairmyree@microsoft.com>

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Add rudimentary dictionary support.

* Support generation from SwiftInterface files. (#1816)

* Swift APIView: Extract package name from --source (#1817)

* Extract package name from --source.

* Fix temp file deletion bug.

* Clean up unused code.

* Fail if unsupported declaration is needed instead of silent fail.

* Update README.md

Co-authored-by: Jair Myree <t-jairmyree@microsoft.com>
Co-authored-by: Jair <67484440+jairmyree@users.noreply.github.com>
2021-07-19 13:53:29 -07:00
Scott Beddall 6c86090f21
Merging test-proxy to `main` (#1785)
This commit adds a C# tool package called `test-proxy`. The proxy is intended to enable out-of-process recordings for any language.

Included
 * Test-proxy and accompanying test project 
   * Extended readme to assist with installation and running via docker or .NET.
   * Built with .NET 5.0, installable via `dotnet tool install`.
   * Supports both in-memory and persisted storage playback.
   * Supports adding sanitizers, matchers, and transforms to either an entire session or an individual recording. 
   * Allows extensive manipulation of any part of a recording via regex sanitization.
   * Available sanitizers, matchers, and transforms are documented by runtime access of the comment XML. Available at <proxy-host-url>/Info/Available.
   * Copies` x-ms-client-id` and `x-ms-client-request-id` from the request to the response during playback.
   * Proxy handles gzip compressed responses. Gzipped responses are written to disk uncompressed to enable proper storage, sanitization, and transformation. Re-zipped prior to sending to requester.
 * Multiple sample projects in .NET and Python to give examples of interaction with the proxy.
 * Docker Container (along with yml publishing of said container) that abstracts installation and running of the proxy.
 * Example startup scripts in python, powershell, and js. These abstract the docker invocation and are easily applicable to language-specific test frameworks.

Co-authored-by: Mike Harder <mharder@microsoft.com>
Co-authored-by: Krista Pratico <krpratic@microsoft.com>
2021-07-09 10:58:36 -07:00
Scott Beddall 6417a861e5
Maven CodeSnippet Plugin (#544)
* adding a plugin that can replace embedme and codesnippet usage in the azure-sdk CI builds
2020-05-12 10:31:15 -07:00
praveenkuttappan b73fb33db5
Python package parser for API review tool (#450)
* Python package parser for API review tool
2020-04-09 10:34:58 -07:00
Pavel Krymets 90f8df3bbd
Add support for resolving comments (#221) 2019-09-30 11:50:25 -07:00
Jonathan Giles 7fa6b96531 Apiview java processor (#214) 2019-09-26 14:28:44 -07:00
Mitch Denny 090ec0a4bf
Check enforcer mvp (#189)
* First pass of Check Enforcer
2019-09-19 10:25:10 +10:00
Arpan Laha 21ef707776
Add eslint-plugin-azure-sdk (#53)
* Initial commit

* remove link to sdk repo from README

* add gitignore

* yeoman setup

* update package.json with json library, keywords, and repository info

* reconfigure package.json

* attempt at including json processor

* styling

* move json processor import to lib/index.js

* add .eslintrc

* remove json plugin from .eslintrc

* update json processor with variable assignment

* add first rule (empty) to lib and tests

* create docs folder with first rule

* starter docs for ts-config-strict

* Fix sample JSON syntax

* forgot a comma

* setup ts-config-strict (empty create method)

* attempt at esquery syntax

* forgot a colon

* change typescript version to one currently compatible with eslint

* esquery works, need to get processor running and handle invalid case properly

* use require instead of import in index

* temporary fix to json processing

* hacky workaround to what seems to be deficiencies in ruletester, will implement reports to verify

* report on ts-config-strict failure

* identify compilerOptions.strict value in ts-config-strict error message

* ensure proper nesting in json for ts-config-strict

* create helper to feed processor information to RuleTester

* add header to processTests.js

* change Object.Assign to Object.Create to avoid modifying in-place

* better handle how current filename detection works

* more comprehensive tests (still need to implement robust structural tests)

* check that compilerOptions is in the outermost level

* modify checking for compilerOptions to look for existence at outermost level of the object

* forgot to save on top of previous commit

* check that strict is a member of compilerOptions

* make strict-checking esquery case more specific

* change rule url to official docs

* remove rules folder from docs (urls will point to official guideline documentation)

* make nested value checking modular

* rename nestedValue to structure (will be more general)

* feed info into helper in object instead of individual params

* rename to more general case and more intuitive names

* attempt at typescript conversion

* implement ts-config-esmoduleinterop

* implement ts-config-allowsyntheticdefaultimports

* Create LICENSE

* proper casing for rule type

* add ts-config-isolatedmodules rule

* add ts-config-isolatedmodules test

* add recommended config to index.js

* add typescript parser to recommended config

* update fileoverview headers with respective rule info

* fix comments to match proper object requirements

* add ts-config-forceconsistentcasinginfilenames rule

* add ts-config-forceconsistentcasinginfilenames to tests and index.js

* update comments in tests to reflect respective rule (was left as 'strict' from copy-paste)

* add ts-config-module rule

* add ts-config-module tests

* add ts-config-declaration rule

* add ts-config-declaration tests

* remove unnecessary parser options from tests

* add ts-config-no-experimentaldecorators rule

* add ts-config-no-experimentaldecorators test

* add ts-config-importhelpers rule

* add ts-config-importherlpers rule & tests

* update rule comments with the expected value

* add outer comparison functionality to structure helpers

* add ts-package-json-repo rule

* add ts-package-json-repo tests

* cleanup leftovers from tsconfig testing

* add ts-package-json-bugs

* add ts-package-json-bugs tests

* something works

* update structure and add configs file

* convert ts-config-allowsyntheticdefaultimports to ts

* compiles through commonjs

* clean up/update package.json and tsconfig.json

* more tsconfig.json changes

* move items out of tests/lib to tests

* convert ts-config-declaration to ts

* convert ts-config-esmoduleinterop and ts-config-forceconsistentcasinginfilenames to ts

* remove default imports

* convert ts-config-importhelpers to ts

* convert ts-config-isolatedmodules to ts

* convert ts-config-module to ts

* convert ts-config-noexperimentaldecorators to ts

* convert ts-package-json-bugs to ts

* make inner and fileName inputs to structure methods optional

* clean up package.json

* convert ts-config-strict to ts

* initial setup for processor testing

* finish testing of current processor functionality

* move dependences to and from devDependencies

* formatting

* fix postprocess to take in proper types and ignore no-unused-vars rule

* change export syntax for rules

* strip unnecessary info from path to verify filename

* change 'export =' to 'export default'

* revert previous export changes

* standardize imports

* use same export syntax on structure.js

* use consistent export syntax on processJSON.ts (previously processTests.ts)

* add processJSON.ts (forgot to add in previous commit)

* remove unused listener from ts-package-json-repo and other leftover clutter from copy-paste

* format does not affect .js files (only found in /dist)

* add ts-package-json-author rule

* add ts-package-json-author tests

* add ts-package-json-sideeffects rule

* add ts-package-json-sideeffects tests

* add ts-package-json-license rule

* add helper to extract filename from path

* add fields required/recommended for npm publication

* add rules to recommended config

* change warning to warn

* more pre-publish cleanup

* move processors and configs to respective folders

* fix casing

* add configuration instructions and list of currently supported rules

* clean up unused packages and inconsistencies

* add file overview

* add prepublish script

* add outerContainsExpected helper

* rename expectedValue to expected to denote type ambiguity

* add ts-package-json-keywords rule

* update comment grammar and consistency

* add ts-package-json-keywords tests (failing)

* add filename checking to outerContainsExpected

* move eslint to devDependencies and peerDependencies

* change config env from array to object

* properly export ts-config-no-experimentaldecorators

* remove filename from reports (already mentioned by default

* fix ts-config-no-experimentaldecorators file name

* add ts-package-json-license test

* rename prepublish (deprecated) to prepare

* add typescript-specific unused vars rule to json excluded messages

* add ts-config-exclude rule

* fix typo

* add ts-config-exclude tests

* fix comments

* add ts-config-sourcemap rule

* add ts-config-exclude and ts-config-sourcemap to README.md

* fix README.md lint issues

* add ts-config-sourcemap tests

* fix comments

* add ts-config-lib rule

* add ts-config-lib tests

* add ts-package-json-required-scripts rule

* add ts-package-json-required-scripts-tests

* clean up syntax

* add ts-package-json-name rule

* change checkers variable name to verifiers

* add ts-package-json-license back into rules/index.ts (was removed somehow)

* check for existence of service in eslint settings

* remove reliance on settings and implement regex

* add kebab-case checking

* add ts-package-json-name tests

* remove prefix testing from structure.js

* fix regex

* add ts-package-json-homepage rule

* add ts-package-json-homepage tests

* add ts-package-json-homepage tests (file not added on previous commit)

* rename structure to verifiers

* change let and var to const where appropriate

* change syntax (still incorrect)

* it works?

* remove processor

* change test timeout

* add instructions about adding parserOptions.project to .eslintrc

* add processor back in to exempt json files from no-unused-expression rule

* fix improper param naming in file headers

* change owner to Microsoft Corporation

* add contributors

* change package name

* change version

* forgot to add '-sdk' to one instance of plugin name

* add typescript-specific linting rules (for this repo)

* change snake_case to camelCase

* remove unnecessary identifiers

* remove explicit anys unless necessary

* add lint to prepare script

* fix ts-config-lib to want empty array instead of being not used at all

* change version and make typescript a dev/peer dependency

* move imported .gitignore to repo base .gitignore

* add package lock

* update descriptions

* add tests verifying plugin structure

* cleanup

* test using compiled JS instead of TS

* use same directory for tests and final dist

* restructure scripts

* update package-lock.json

* change filename checking to occur at highest level possible for least repetitions

* remove filename param from package.json rules

* restructure scripts

* remove npm hooks

* clean up loop syntax

* clean up lint warnings

* remove redundant files from package.json files array

* make esquery syntax more strict when querying for property nodes

* add type checking to verifiers and jsdocs

* add jsdocs to tests

* move from src/ts to tools/

* move types to devDependencies

* make ts-config-module case-insensitive

* remove types from tsconfig.build.json

* update package location in README

* remove unnecessary replaces

* move npm commands under single script

* add tabs

* add some conditions and displayNames

* remove npm global installs

* add one back

* change npm run pack to npm pack

* rename artifact
2019-07-08 15:33:37 -07:00
Daniel Jurek fc2d875e5e move .gitignore to a more global scope 2019-07-02 14:24:38 -07:00
Abhijeet Shah 0c0b03f237 This PR contains tooling support for Azure management plane SDKs for following repositories
1. azure-sdk-for-net
2. Fluent .NET SDK
3. Multi-Api-Sdk

Pre-req:
Install dotnet SDK 2.2.300 prior using toolset
https://dotnet.microsoft.com/download/dotnet-core/2.2

This PR contains following functionality:
1. All build tools wrapped as nuget package (no longer have to download prior to build)
2. Toolset is .NET Core based. Same set of build targets will work cross platform. Tested on mac.
3. Ability to detect PR validation CI runs and find appropriate SDKs to build based on the PR
4. Based on the SDK, it detects appropriate test projects within the same scope
5. Supports parity build scenarios that worked earlier.
6. This PR currently supports all parity searching projects scenarios based on following criteria
 6.1 Search projects when no scope is provided
 6.2 Search projects when scope is provided (partial scope)
 6.3 Search projects when fully qualified scope dir path is provided
 6.4 Search projects when ProjectType is specified
 6.5 Search projects when ProjectCategory is specified (not extensively tested/checked for data plane project types, as data plane decided not to participate in this workflow)
 6.6 Search projects when Include/Exclude tokens are specified at command line
 6.7 Search project honoring exclusion/inclusion settings specified in project files (swagger to SDK scenarios)

7. Ability to get KeyVault secrets.
8. KV auth based on SPN (SPN has to be configured based on new KV)
9. Added tests
2019-06-03 03:16:26 -07:00
scbedd 2262e0b0c4 updating gitignore. adding pixel server. removing extraneous dependencies. 2019-03-04 11:13:06 -08:00
Microsoft GitHub User ef1246a76a
Initial commit 2019-02-13 14:55:47 -08:00