Skip to content

Include analyzers in main NuGet package#1

Merged
mpartipilo merged 1 commit into
mainfrom
include-analyzers-in-main-package
Mar 16, 2026
Merged

Include analyzers in main NuGet package#1
mpartipilo merged 1 commit into
mainfrom
include-analyzers-in-main-package

Conversation

@mpartipilo
Copy link
Copy Markdown
Collaborator

This PR bundles the Roslyn analyzers into the main Weaviate.Client.Managed package instead of publishing them separately.

Changes

  • Added to in the main project
  • Configured packaging to include analyzer DLL at path
  • Removed separate packaging from workflow
  • Updated workflow to only pack the main package

Benefits

  • Users get compile-time validation automatically when they install
  • No need to install a separate analyzer package
  • Follows .NET best practices for Roslyn analyzer distribution
  • Simplifies package management

Testing

Verified that the analyzer DLL (37KB) is correctly included in the package:

analyzers/dotnet/cs/Weaviate.Client.Managed.Analyzers.dll

Once merged, we should publish v1.0.1 with this improvement.

- Add ProjectReference to Weaviate.Client.Managed.Analyzers
- Package analyzer DLL in analyzers/dotnet/cs path
- Remove separate analyzer packaging from workflow
- Users now get compile-time validation automatically when installing Weaviate.Client.Managed
Copy link
Copy Markdown

@orca-security-eu orca-security-eu Bot left a comment

Choose a reason for hiding this comment

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

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Infrastructure as Code high 0   medium 0   low 0   info 0 View in Orca
Passed Passed SAST high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Vulnerabilities high 0   medium 0   low 0   info 0 View in Orca

@github-actions
Copy link
Copy Markdown

Summary - Weaviate C# Client Coverage

Summary
Generated on: 03/16/2026 - 16:38:33
Coverage date: 03/16/2026 - 16:36:59 - 03/16/2026 - 16:37:45
Parser: MultiReport (23x Cobertura)
Assemblies: 1
Classes: 109
Files: 79
Line coverage: 49.7% (3128 of 6285)
Covered lines: 3128
Uncovered lines: 3157
Coverable lines: 6285
Total lines: 15240
Branch coverage: 42.2% (1025 of 2428)
Covered branches: 1025
Total branches: 2428
Method coverage: Feature is only available for sponsors

Coverage

Weaviate.Client.Managed - 49.7%
Name Line Branch
Weaviate.Client.Managed 49.7% 42.2%
Weaviate.Client.Managed.Aggregates.AggregateStarter`1 35.2% 50%
Weaviate.Client.Managed.Aggregates.ContextAggregateBuilder`1 0% 0%
Weaviate.Client.Managed.Aggregates.GroupedAggregateStarter`1 0%
Weaviate.Client.Managed.Aggregates.GroupedContextAggregateBuilder`1 0%
Weaviate.Client.Managed.Aggregates.MetricsBuilder`1 0% 0%
Weaviate.Client.Managed.Attributes.EncodingAttribute 0%
Weaviate.Client.Managed.Attributes.GenerativeAttribute`1 100%
Weaviate.Client.Managed.Attributes.IndexAttribute 0%
Weaviate.Client.Managed.Attributes.InvertedIndexAttribute 0%
Weaviate.Client.Managed.Attributes.MapFromAttribute 100%
Weaviate.Client.Managed.Attributes.MetadataPropertyAttribute 100%
Weaviate.Client.Managed.Attributes.MetricsAttribute 100% 50%
Weaviate.Client.Managed.Attributes.NestedTypeAttribute 0%
Weaviate.Client.Managed.Attributes.OnCollectionConfig 100%
Weaviate.Client.Managed.Attributes.PropertyAttribute 100%
Weaviate.Client.Managed.Attributes.QuantizerAttribute 0%
Weaviate.Client.Managed.Attributes.QuantizerBQ 0%
Weaviate.Client.Managed.Attributes.QuantizerPQ 0%
Weaviate.Client.Managed.Attributes.QuantizerRQ 0%
Weaviate.Client.Managed.Attributes.QuantizerSQ 0%
Weaviate.Client.Managed.Attributes.QueryAggregateAttribute`1 0%
Weaviate.Client.Managed.Attributes.QueryProjectionAttribute`1 50%
Weaviate.Client.Managed.Attributes.ReferenceAttribute 20%
Weaviate.Client.Managed.Attributes.RerankerAttribute`1 85.7%
Weaviate.Client.Managed.Attributes.TokenizationAttribute 0%
Weaviate.Client.Managed.Attributes.VectorAttribute 100%
Weaviate.Client.Managed.Attributes.VectorAttribute`1 63.6%
Weaviate.Client.Managed.Attributes.VectorAttributeBase 100%
Weaviate.Client.Managed.Attributes.VectorIndexAttribute`1 0%
Weaviate.Client.Managed.Attributes.VectorIndexAttributeBase 0%
Weaviate.Client.Managed.Attributes.WeaviateCollectionAttribute 100%
Weaviate.Client.Managed.Context.BatchOperation 100%
Weaviate.Client.Managed.Context.CollectionSet`1 33.6% 47.2%
Weaviate.Client.Managed.Context.CollectionSetDiscovery 100% 100%
Weaviate.Client.Managed.Context.CollectionSetInfo 100%
Weaviate.Client.Managed.Context.DeleteOperation`1 100%
Weaviate.Client.Managed.Context.IdPropertyHelper 84.2% 80%
Weaviate.Client.Managed.Context.InsertOperation`1 100%
Weaviate.Client.Managed.Context.PendingBatch 34.8% 26.1%
Weaviate.Client.Managed.Context.PendingDelete`1 47% 0%
Weaviate.Client.Managed.Context.PendingInsert`1 100% 100%
Weaviate.Client.Managed.Context.PendingReference`1 0%
Weaviate.Client.Managed.Context.PendingUpdate`1 0% 0%
Weaviate.Client.Managed.Context.UpdateOperation`1 100%
Weaviate.Client.Managed.Context.WeaviateAdmin 45.4%
Weaviate.Client.Managed.Context.WeaviateContext 44.6% 18.1%
Weaviate.Client.Managed.Context.WeaviateContextOptions 100%
Weaviate.Client.Managed.Context.WeaviateContextOptionsBuilder 100%
Weaviate.Client.Managed.DependencyInjection.WeaviateContextInitializationSe
rvice`1
0%
Weaviate.Client.Managed.DependencyInjection.WeaviateManagedServiceCollectio
nExtensions
81.8% 80%
Weaviate.Client.Managed.Examples.Article 0%
Weaviate.Client.Managed.Examples.Author 0%
Weaviate.Client.Managed.Examples.BlogPost 0%
Weaviate.Client.Managed.Examples.Category 0%
Weaviate.Client.Managed.Examples.Comment 0%
Weaviate.Client.Managed.Examples.Product 0%
Weaviate.Client.Managed.Examples.ResearchPaper 0%
Weaviate.Client.Managed.Examples.UsageExamples 0%
Weaviate.Client.Managed.Examples.User 0%
Weaviate.Client.Managed.Extensions.CollectionClientExtensions 100%
Weaviate.Client.Managed.Extensions.CollectionMigrationExtensions 0% 0%
Weaviate.Client.Managed.Extensions.DataClientExtensions 32.8% 16%
Weaviate.Client.Managed.Extensions.GeoCoordinateExtensions 0%
Weaviate.Client.Managed.Extensions.ManagedCollectionExtensions 79.1% 100%
Weaviate.Client.Managed.Extensions.QueryResultExtensions 25% 16.6%
Weaviate.Client.Managed.Extensions.WeaviateClientExtensions 100% 50%
Weaviate.Client.Managed.GroupedAggregateBuilder`2 88%
Weaviate.Client.Managed.Internal.PropertyHelper 43.4% 17.8%
Weaviate.Client.Managed.ManagedCollection`1 21.6% 0%
Weaviate.Client.Managed.ManagedCollectionAggregateBuilder`1 0% 0%
Weaviate.Client.Managed.Mapping.ManagedObjectMapper 50% 44.4%
Weaviate.Client.Managed.Mapping.MetadataMapper 62.2% 39.2%
Weaviate.Client.Managed.Mapping.ProjectionMapper 53.4% 45.6%
Weaviate.Client.Managed.Mapping.PropertyMapper 61.5% 55.8%
Weaviate.Client.Managed.Mapping.ReferenceMapper 3.2% 2.2%
Weaviate.Client.Managed.Mapping.VectorMapper 21.9% 16.6%
Weaviate.Client.Managed.MetricsExtractor 50.7% 36.1%
Weaviate.Client.Managed.Migrations.MigrationPlan 0% 0%
Weaviate.Client.Managed.Migrations.SchemaChange 100%
Weaviate.Client.Managed.Migrations.SchemaDiffer 72.9% 75.4%
Weaviate.Client.Managed.Models.BatchInsertError`1 0%
Weaviate.Client.Managed.Models.BatchInsertException`1 0% 0%
Weaviate.Client.Managed.Models.GenerativeQueryResponse`1 60%
Weaviate.Client.Managed.Models.GenerativeQueryResult`1 50%
Weaviate.Client.Managed.Models.GroupByGroup`1 0%
Weaviate.Client.Managed.Models.GroupByQueryResponse`1 66.6%
Weaviate.Client.Managed.Models.GroupByQueryResult`1 0%
Weaviate.Client.Managed.Models.QueryResult`1 75%
Weaviate.Client.Managed.Query.CollectionMapperQueryClient`1 73.5% 52.7%
Weaviate.Client.Managed.Query.ExpressionToFilterConverter 53.9% 37.7%
Weaviate.Client.Managed.Query.GenerativeQueryExecutor`1 65.1%
Weaviate.Client.Managed.Query.GroupByQueryExecutor`1 44.1% 75%
Weaviate.Client.Managed.Query.HybridConfig 0%
Weaviate.Client.Managed.Query.NearMediaConfig 0%
Weaviate.Client.Managed.Query.NearObjectConfig 0%
Weaviate.Client.Managed.Query.NearTextConfig 0%
Weaviate.Client.Managed.Query.NearVectorConfig 0%
Weaviate.Client.Managed.Query.PendingOp 100%
Weaviate.Client.Managed.Query.ProjectedQueryClient`2 52.9% 62.5%
Weaviate.Client.Managed.Query.QueryConfig`1 44.4%
Weaviate.Client.Managed.Query.TargetVectorBuilder`1 48.9% 38.4%
Weaviate.Client.Managed.Query.WeaviateQueryable`1 41.3% 37.9%
Weaviate.Client.Managed.Query.WeaviateQueryableExtensions 21% 21.4%
Weaviate.Client.Managed.Query.WeaviateQueryConfig 40.9%
Weaviate.Client.Managed.Query.WeaviateQueryProvider`1 63.1% 42.7%
Weaviate.Client.Managed.Schema.CollectionSchemaBuilder 65.4% 60%
Weaviate.Client.Managed.Schema.VectorConfigBuilder 47.8% 50.8%
Weaviate.Client.Managed.TypedAggregateBuilder`2 78.9% 0%
Weaviate.Client.Managed.WeaviateManagedClient 0% 0%

@mpartipilo mpartipilo merged commit 2fc18e5 into main Mar 16, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant