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

165 Коммитов

Автор SHA1 Сообщение Дата
Jayson Maxson 5921d29139
Enable custom processor environments in the Engine. (#383)
* Add ProcessorEnvironmentFactory

* ProcessEnvironmentFactory => ProcessorEnvironmentFactory

* Small cleanup.
2024-11-19 09:17:17 -08:00
Luke Bordonaro 0500788bae
Use base column description for base mode's ColumnVariantDescriptor.Description (#382)
* Use base column description for base mode's ColumnVariantDescriptor.Description

* Update gitignore for Jetbrains IDEs

* Create new ColumnVariantProperties to house name and description information

* Update docstring

* Update test name

* Make name required

* Fix build
2024-11-14 11:33:36 -08:00
Luke Bordonaro b2f9bc3bbd
Un-consolidate ColumnConfiguration constructors (#381)
* Un-consolidate ColumnConfiguration constructors

* Add comments
2024-11-05 15:20:37 -08:00
Luke Bordonaro 78158c2120
Add documentation for column variants (#380)
* Checkpoint

* Checkpoint

* Checkpoint

* Typo

* Fix awkward sentence

* Rename Time (UTC)

* Whitespace

* Grammar

* Wording

* CHeckpoint

* Add engine docs

* Edits

* Add global varaints example code

* Fix glossary TOC

* Fix glossary TOC again

* Wording

* Add ASCII diagrams

* Address comments

* Typos

* Remove runtime section
2024-10-30 16:40:16 -07:00
Luke Bordonaro e4e94fa075
Add support for specifying column variants in a ColumnConfiguration (#379)
* Add support for specifying column variants in a ColumnConfiguration

* Consolidate ctors

* Fix typo

* Refactor upgrade logic

* Rename namespace to Latest

* Add typecast to while loop

* Remove cycle check

* Add check to PreviousPrebuiltConfigurationBase
2024-10-24 13:48:30 -07:00
Luke Bordonaro d46753d865
Add support for specifying variants of added columns during table building (#370)
* Add APIs for column builders

* Add APIs for fetching column variants

* Update table builder extensions API

* Add test exercising API for column builders

* WIP

* WIP

* Make builders

* Refactor

* Do not use Equals

* Add more unit tests

* Add hierarchical support

* Add support to Engine

* Undo aux changes

* Whitespace

* Document ArgumentNullException

* Add docstrings

* Update docstring

* Rename tests

* Undo moving IDataColumn

* Add docstrings

* Update docstring

* Remove redundant TryGetVariant

* Address comments

* Ensure variant GUIDs are unique

* Rename build to commit

* Use abstract classes instead of interfaces

* Update column variant identifier

* Remove redundant docstring sentence

* Use private protected ctors

* Allow re-using GUIDs across columns

* Make Commit internal and invoke it from within runtime instead of by plugins. Plugins return the final column configuration

* Address comments

* Make callback invokers structs

* Address comments

* Fix build

* Fix tests
2024-10-21 10:43:08 -07:00
Luke Bordonaro 3a59e33908
Rev version to 1.3-preview (#377) 2024-10-17 16:03:45 -07:00
Luke Bordonaro c4a986f430
Bump NBGV version (#376) 2024-10-17 13:56:48 -07:00
Luke Bordonaro 951ebe4f60
Doc Suggestions (#372)
* small fixes and suggestions to make docs more clear

* Add note instead of code sample

---------

Co-authored-by: Karthik Sesham <t-ksesham@microsoft.com>
Co-authored-by: Karthik Sesham <98133619+karthik-sesham@users.noreply.github.com>
2024-10-17 12:55:11 -07:00
Luke Bordonaro ced9f2f5c1
Update CODEOWNERS (#361)
* Update CODEOWNERS

* Add xj-ms

---------

Co-authored-by: Tristan Gibeau <41077386+trgibeau@users.noreply.github.com>
2024-10-17 12:54:21 -07:00
Luke Bordonaro ea450d1a19
Add docs for data source grouping (#367)
* Add docs for data source grouping

* Update index

* Fix emoji

* Grammar

* Fix typo
2024-10-17 11:53:49 -07:00
Luke Bordonaro 93e6e48b3a
Fix ConstantProjection's SourceType and ReturnType (#371) 2024-10-16 15:42:37 -07:00
Luke Bordonaro 774b642add
Plugin tool: ensure URIs are absolute URIs (#340)
* Plugin tool: ensure URIs are absolute URIs

* Check if GetAboutInfo is overridden
2024-10-16 15:38:32 -07:00
lcjh 98bea7d6de
fix url of markdown (#362)
Co-authored-by: Luke Bordonaro <lukebo@microsoft.com>
2024-10-16 15:31:55 -07:00
Luke Bordonaro 1155e89730
Validate package entries are extracted to the plugin directory (#341)
* Validate package entries are extracted to the plugin directory

* Fix unit tests
2024-10-16 14:33:01 -07:00
Jayson Maxson 4b6124207a
Allow per processor table synchronization. (#368)
* Add IProcessorEnvironment2.

* IProcessorEnvironment2 uses ITableDataSynchronization2.

* ITableDataSynchronization2 to ITableDataSynchronizationV2 for consistency.
RuntimeProcessorEnvironment supports IProcessorEnvironmentV2.

* Move IProcessorEnvironmentV2 into separate file.

* Remove ITableDataSynchronizationV2.

* Engine doesn't use IProcessEnvironmentV2.
IProcessEnvironmentV2 includes factory rather than table syncrhonization directly.

* Add IProcessorTableDataSynchronizationFactory.

* Revert change.

* Fix possible back compat issue.

* Fix doc comment syntax.

* Remove RuntimeTableSynchronizer.
2024-10-15 12:00:35 -07:00
dependabot[bot] 47342728a3
Bump System.Text.Json (#369)
Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 12:21:59 -07:00
Luke Bordonaro 2e1a1bf926
Move TryGetAuthProvider to new IApplicationEnvironmentV2 interface (#365)
* Move TryGetAuthProvider to new IApplicationEnvironmentV2 interface

* Document param

* Add docstring

* Fix tests
2024-07-22 13:35:51 -07:00
dependabot[bot] 765f36a9a9
Bump System.Text.Json (#364)
Bumps System.Text.Json from 7.0.0 to 8.0.4.

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 08:41:26 -07:00
Luke Bordonaro 4f3c59d935
Add ability to register and retrieve auth providers to/from IApplicationEnvironment (#360)
* Add ability to register and retrieve auth providers to/from IApplicationEnvironment

* Fix docstring

* Keep AppEnv as non-abstract
2024-06-14 08:50:22 -07:00
Luke Bordonaro 7da00b7bd9
Update docs for choosing SDK version guidance (#358)
* Update docs for choosing SDK version guidance

* Spelling

* Update Choosing-SDK-Version.md
2024-05-01 14:03:56 -07:00
Luke Bordonaro cebf26f501
Update docstring for CompareToSafe (#354) 2024-04-12 14:10:51 -07:00
Cristian Levcovici (MSFT) af7b884ccf
Add support for static generic methods as bodies for struct functions (#353)
* Add support for static generic methods as callbacks for struct functions.

* Add comment clarifying intent and effectiveness of using MethodHandle.Value in the name of the generated dynamic type.

---------

Co-authored-by: Cristian Levcovici <crisl@microsoft.com>
2024-04-11 10:44:12 -07:00
Luke Bordonaro 4c8247bad6
Add more helper methods for serializing table configs (#351)
* Add more helper methods for serializing table configs

* Add one more method without logger

* Refactor

* Use IEnumerable
2024-04-09 09:33:53 -07:00
Luke Bordonaro 56ceedba70
Remove legacy path for determining plugin name (#350)
* Remove legacy path for determining plugin name

* Remove test
2024-04-02 10:05:03 -07:00
Luke Bordonaro 1a8afeb667
Fix FileSystemObsoletePluginsRemover for in-use plugins (#349)
* Fix FileSystemObsoletePluginsRemover for in-use plugins

* Delete files immediately if possible

* Add dispose call

* Catch all exceptions

* Log error

* Return true if temp dir delete fails

* Whitespace

* Attempt to delete first then just move
2024-03-22 09:54:35 -07:00
Luke Bordonaro 30223e973a
Add support for .NET 8 (#347)
* Add support for .NET 8

* Update message

* Update PlugInConfigurationEditor.csproj
2024-03-21 10:36:43 -07:00
Luke Bordonaro be47fad0ed
Prevent installing plugin over previous installation folder (#348)
* Prevent installing plugin over previous installation folder

* Address comments

* Move to temp folder

* Do not restore old directory
2024-03-21 09:28:13 -07:00
Jayson Maxson 027da5ec5f
Engine.Create(IDataSource) disposes of DataSourceSet. (#346)
* Engine.Create(IDataSource) disposes of DataSourceSet.

* Fix EngineTests that aren't properly disposing of DataSourceSets.
Also make it easier to diagnose this issue.

---------

Co-authored-by: Jayson Maxson <jmaxson@ntdev.microsoft.com>
2024-03-04 08:57:48 -08:00
Luke Bordonaro 043da309aa
Denote SDK Byte types as numeric (#344) 2024-02-27 14:31:43 -08:00
Jayson Maxson 806958520e
Delay allocation until first event. (#342)
Co-authored-by: Jayson Maxson <jmaxson@ntdev.microsoft.com>
2024-02-21 13:06:36 -08:00
helenkzhang 761660095e
Use explicit type (#339) 2023-11-01 16:12:02 -07:00
helenkzhang 9d7f9c6632
Fix license file paths (#338) 2023-11-01 13:49:35 -07:00
helenkzhang a7531aff46
Add required metadata to the Cli project file (#337) 2023-11-01 11:52:37 -07:00
helenkzhang 196d81d8fa
Bump version to 1.2-preview (#334) 2023-10-31 09:52:58 -07:00
helenkzhang 13fab5a40f
Add projects properties in csproj files (#335) 2023-10-31 09:38:06 -07:00
helenkzhang 71d6ae3eff
Do not modify stream position in ZipPluginPackageReader (#327)
* Do not modify stream position in ZipPluginPackageReader

* Check stream canread and canseek

* Remove catching ArgumentException when creating zip archive
2023-09-22 14:15:08 -07:00
helenkzhang 336bca857f
Add template plugin manifest (#323)
* Add documentation for manifest file and add default manifest template

* Remove comment

* Update id naming pattern
2023-09-14 11:31:25 -07:00
helenkzhang ab49926ec5
Add Plugin CLI Tool (#317)
* Add CLI

* Add push

* Update assembly name

* Add json schema doc

* Add components doc

* Add CLI doc

* Fix doc

* Fix doc 2

* wip

* Fix metadata generator

* Update package extension to .ptix

* Remove old projeact

* Delete and untrack launchsettings.json

* Print errors

* Update extension name to ptix

* Require Id and Version

* Put cli and publisher into a folder and don't interfere with plugins system versioning

* Add manifest schema

* Exclude schema folder

* Update plugin project template

* Update metadata gen

* Clean up metadata generation

* Fix schema comma

* Add manifest schema validation

* Validate using data annotations

* Update pack

* Pack as dotnet tool

* Change publisher location

* Resolve conflicts

* Fix contents metadata

* Remove version from schema

* Add manifestVersion to required

* Move package stuff to its own project

* Fix issues in cli

* Update plugin template

* Undo change in .gitignore

* Untrack launchSettings.json

* Update to use json validation

* Update schema location

* Add "bundled manifest" option

* Fix shouldinclude

* Update template

* Update plugin template

* Rename template

* Fix path issues

* Revert changes in templates and samples

* Remove publisher project

* Remove added files in samples

* Remove schema folder

* Remove schema md doc

* Add comments in validator

* Update source directory validation to check SDK

* Refactor options classes

* Handles destination overwrites

* Undo package change

* Remove package folder

* Undo change in ZipPluginPackage

* Add schama loader

* Clean up program.cs

* Add common options

* Add args validation and exception types

* Clean ups

* Add eof new lines and copy rights

* Remove .md files

* Remove unwanted files

* Remove generated xml

* Clean up constants.cs

* Use classes for each options instead of service locator

* Fix property name

* Separate options validation

* Decoupled commands and console

* Updated error handling

* Clean up

* Add manifest locators

* Address comments for utils method

* Move options validation to separate classes

* Address more comments

* Added base command

* Update protected to private

* Decorate with NotNullWhen

* Add docstrings

* Remove empty lines and fix warning

* Update package name and tool name

* Update helptext and add basic documentation

* Continue processing if BadImageFormatException is encountered during the scan

* Adrress more comments

* Use VersionChecker to access sdk versions

* Track all versions that have been checked and log version check errors

* Update logging based on pr comments
2023-09-06 14:01:32 -07:00
Luke Bordonaro 6330c1c14f
Update NuGet.Versioning to 5.11.5 (#320)
* Update NuGet.Versioning to 5.11.5

* Use spaces
2023-09-01 15:06:06 -07:00
Luke Bordonaro d68f433aca
Fix typo in ClipTimeToVisibleDomain (#319) 2023-08-31 08:52:31 -07:00
Luke Bordonaro c7ceb7c590
Fix typo in TypeExtensions docstring (#318) 2023-08-30 14:54:27 -07:00
Luke Bordonaro 5e1a666d15
Plugins: Prevent deadlocking in RefreshDiscoverersIfNeededAsync (#316)
* Plugins: Prevent deadlocking in RefreshDiscoverersIfNeededAsync

* Remove extra set of requiresDiscoverersRefresh
2023-08-21 14:04:31 -07:00
helenkzhang 0ff86a4fca
Expose package reader in plugin systems and fix issue in zip reader (#314) 2023-08-03 11:41:27 -07:00
Luke Bordonaro daceb67da4
Plugins: allow resetting registry if it becomes corrupted (#313)
* Plugins: throw RepositoryCorruptedException if registry is missing data

* Throw RepositoryDataAccessException
2023-07-27 09:55:46 -07:00
helenkzhang 78e83b4837
Add metadata versioning (#312)
* Add version to plugin metadata and plugin contents metadata

* Use double type for version

* Add version  and publishedOn to AvailablePluginInfo

* Update gethashcode and equals

* Add projectUrl to metadata

* Add null checks and add todos

* Remove checking version in constructors

* Remove schema version from json constructors
2023-07-07 11:02:53 -07:00
Luke Bordonaro 72fffc863a
PluginsSystem: Add ability to validate plugins before they are used (#311)
* PluginsSystem: Add ability to validate plugins before they are used

* Add newlines at EOF

* Add newlines at EOF

* Remove extra period

* Address comments

* Address more comments

* Address more comments
2023-07-07 10:43:02 -07:00
Luke Bordonaro c493b64809
PluginsSystem: consolidate plugin information into PluginInfo class (#310)
* PluginsSystem: consolidate plugin information into PluginInfo class

AvailablePluginInfo, InstalledPluginInfo, and PluginMetadata was
declaring identical properties, leading to duplicated code and sources
of truth. This PR consolidates these properties into a PluginInfo class
that is exposed on AvailablePluginInfo and InstalledPluginInfo.

Instead of also exposing this class on PluginMetadata, this PR also adds
a new file to plugin packages that contains a serialization of a
plugin's PluginInfo.

* Move FakeInfo to new file

* Update 'metadata' references to 'contents'

* Address comments

* Rename parameter

* Address comments

* Rename PluginContents to PluginContentsInfo

* More renaming

* Rename Info to Metadata

* Update metadata file names

* Update tests

---------

Co-authored-by: Helen Zhang <helzhang@microsoft.com>
2023-06-30 10:47:17 -07:00
helenkzhang c05735cdb8
Plugin version should bump if sdk changes (#308) 2023-06-21 11:20:34 -07:00
Jayson Maxson 5c78f29674
Use specified logger when available. (#307)
Co-authored-by: Jayson Maxson <jmaxson@ntdev.microsoft.com>
2023-06-09 13:02:12 -07:00