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

Consider to enable nullable annotations for all projects #16610

Closed
realLiangshiwei opened this issue May 19, 2023 · 2 comments · Fixed by #17561
Closed

Consider to enable nullable annotations for all projects #16610

realLiangshiwei opened this issue May 19, 2023 · 2 comments · Fixed by #17561

Comments

@realLiangshiwei
Copy link
Member

We enabled nullable for the templates
But the ABP framework is not enabled, and developers will mistakenly think that the return value is not null when using some APIs
For example, the cache may return null.

public interface IDistributedCache<TCacheItem, TCacheKey>
where TCacheItem : class
{
/// <summary>
/// Gets a cache item with the given key. If no cache item is found for the given key then returns null.
/// </summary>
/// <param name="key">The key of cached item to be retrieved from the cache.</param>
/// <param name="hideErrors">Indicates to throw or hide the exceptions for the distributed cache.</param>
/// <param name="considerUow">This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache.</param>
/// <returns>The cache item, or null.</returns>
TCacheItem Get(
TCacheKey key,
bool? hideErrors = null,
bool considerUow = false
);

Microsoft enabled nullable for their packages, we might consider doing the same:

@realLiangshiwei realLiangshiwei self-assigned this May 19, 2023
@realLiangshiwei realLiangshiwei added this to the 7.3-preview milestone May 19, 2023
@realLiangshiwei
Copy link
Member Author

realLiangshiwei commented May 25, 2023

ABP Framework

Group1

  • Volo.Abp.Core Enable nullable annotations for Volo.Abp.Core #16693
  • Volo.Abp.Data
  • Volo.Abp.Json
  • Volo.Abp.Json.Abstractions
  • Volo.Abp.Json.Newtonsoft
  • Volo.Abp.Json.SystemTextJson
  • Volo.Abp.Threading
  • Volo.Abp.Timing
  • Volo.Abp.Guids
  • Volo.Abp.UI
  • Volo.Abp.UI.Navigation
  • Volo.Abp.Validation
  • Volo.Abp.Validation.Abstractions
  • Volo.Abp.Castle.Core
  • Volo.Abp.Autofac
  • Volo.Abp.Autofac.WebAssembly
  • Volo.Abp.Localization
  • Volo.Abp.Localization.Abstractions
  • Volo.Abp.Security
  • Volo.Abp.Uow
  • Volo.Abp.ApiVersioning.Abstractions
  • Volo.Abp.VirtualFileSystem
  • Volo.Abp.Settings
  • Volo.Abp.Serialization
  • Volo.Abp.Specifications
  • Volo.Abp.TestBase
  • Volo.Abp.ExceptionHandling
  • Volo.Abp.Ldap
  • Volo.Abp.Ldap.Abstractions
  • Volo.Abp.Minify
  • Volo.Abp.RemoteServices
  • Volo.Abp.MultiLingualObjects
  • Volo.Abp.Sms
  • Volo.Abp.Sms.Aliyun
  • Volo.Abp.ObjectExtending

Group2 #17047

  • Volo.Abp.AspNetCore.Authentication.JwtBearer
  • Volo.Abp.AspNetCore.Authentication.OAuth
  • Volo.Abp.AspNetCore.Authentication.OpenIdConnect

Group3 #17062

  • Volo.Abp.AspNetCore
  • Volo.Abp.AspNetCore.Components
  • Volo.Abp.AspNetCore.Components.MauiBlazor
  • Volo.Abp.AspNetCore.Components.MauiBlazor.Theming
  • Volo.Abp.AspNetCore.Components.Server
  • Volo.Abp.AspNetCore.Components.Server.Theming
  • Volo.Abp.AspNetCore.Components.Web
  • Volo.Abp.AspNetCore.Components.Web.Theming
  • Volo.Abp.AspNetCore.Components.WebAssembly
  • Volo.Abp.AspNetCore.Components.WebAssembly.Theming

Group4 #17074

  • Volo.Abp.MultiTenancy.Abstractions
  • Volo.Abp.MultiTenancy
  • Volo.Abp.AspNetCore.MultiTenancy

Group5 #17094

  • Volo.Abp.AspNetCore.Mvc
  • Volo.Abp.AspNetCore.Mvc.Client
  • Volo.Abp.AspNetCore.Mvc.Client.Common
  • Volo.Abp.AspNetCore.Mvc.Contracts
  • Volo.Abp.AspNetCore.Mvc.NewtonsoftJson
  • Volo.Abp.AspNetCore.Mvc.UI
  • Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy
  • Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
  • Volo.Abp.AspNetCore.Mvc.UI.Bundling
  • Volo.Abp.AspNetCore.Mvc.UI.Bundling.Abstractions
  • Volo.Abp.AspNetCore.Mvc.UI.Packages
  • Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared
  • Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo
  • Volo.Abp.AspNetCore.Mvc.UI.Widgets

Group6 #17096

  • Volo.Abp.AspNetCore.Serilog
  • Volo.Abp.AspNetCore.SignalR
  • Volo.Abp.AspNetCore.TestBase

Group7 #17108

  • Volo.Abp.Auditing
  • Volo.Abp.Auditing.Contracts
  • Volo.Abp.Authorization
  • Volo.Abp.Authorization.Abstractions
  • Volo.Abp.AutoMapper
  • Volo.Abp.ObjectMapping
  • Volo.Abp.Features
  • Volo.Abp.FluentValidation
  • Volo.Abp.Gdpr.Abstractions
  • Volo.Abp.GlobalFeatures
  • Volo.Abp.Emailing
  • Volo.Abp.MailKit
  • Volo.Abp.Swashbuckle
  • Volo.Abp.Cli

Group8 #17109

  • Volo.Abp.BackgroundJobs
  • Volo.Abp.BackgroundJobs.Abstractions
  • Volo.Abp.BackgroundJobs.HangFire
  • Volo.Abp.BackgroundJobs.Quartz
  • Volo.Abp.BackgroundJobs.RabbitMQ
  • Volo.Abp.BackgroundWorkers
  • Volo.Abp.BackgroundWorkers.Hangfire
  • Volo.Abp.BackgroundWorkers.Quartz
  • Volo.Abp.HangFire
  • Volo.Abp.Quartz
  • Volo.Abp.RabbitMQ
  • Volo.Abp.AzureServiceBus

Group9 #17120

  • Volo.Abp.BlazoriseUI
  • Volo.Abp.BlobStoring
  • Volo.Abp.BlobStoring.Aliyun
  • Volo.Abp.BlobStoring.Aws
  • Volo.Abp.BlobStoring.Azure
  • Volo.Abp.BlobStoring.FileSystem
  • Volo.Abp.BlobStoring.Minio

Group10

Group11

  • Volo.Abp.Dapper
  • Volo.Abp.Dapr
  • Volo.Abp.Ddd.Application
  • Volo.Abp.Ddd.Application.Contracts
  • Volo.Abp.Ddd.Domain
  • Volo.Abp.Ddd.Domain.Shared
  • Volo.Abp.DistributedLocking
  • Volo.Abp.DistributedLocking.Abstractions
  • Volo.Abp.DistributedLocking.Dapr

Group12 #17549

  • Volo.Abp.MemoryDb
  • Volo.Abp.MongoDB
  • Volo.Abp.EntityFrameworkCore
  • Volo.Abp.EntityFrameworkCore.MySQL
  • Volo.Abp.EntityFrameworkCore.Oracle
  • Volo.Abp.EntityFrameworkCore.Oracle.Devart
  • Volo.Abp.EntityFrameworkCore.PostgreSql
  • Volo.Abp.EntityFrameworkCore.Sqlite
  • Volo.Abp.EntityFrameworkCore.SqlServer

Group13 #17557

  • Volo.Abp.Kafka
  • Volo.Abp.EventBus
  • Volo.Abp.EventBus.Abstractions
  • Volo.Abp.EventBus.Azure
  • Volo.Abp.EventBus.Dapr
  • Volo.Abp.EventBus.Kafka
  • Volo.Abp.EventBus.RabbitMQ
  • Volo.Abp.EventBus.Rebus
  • Volo.Abp.AspNetCore.Mvc.Dapr
  • Volo.Abp.AspNetCore.Mvc.Dapr.EventBus

Group14 #17560

  • Volo.Abp.Http
  • Volo.Abp.Http.Abstractions
  • Volo.Abp.Http.Client
  • Volo.Abp.Http.Client.Dapr
  • Volo.Abp.Http.Client.IdentityModel
  • Volo.Abp.Http.Client.IdentityModel.MauiBlazor
  • Volo.Abp.Http.Client.IdentityModel.Web
  • Volo.Abp.Http.Client.IdentityModel.WebAssembly
  • Volo.Abp.Http.Client.Web
  • Volo.Abp.IdentityModel

Group15 #17561

  • Volo.Abp.TextTemplating
  • Volo.Abp.TextTemplating.Core
  • Volo.Abp.TextTemplating.Razor
  • Volo.Abp.TextTemplating.Scriban
  • Volo.Abp.Imaging.Abstractions
  • Volo.Abp.Imaging.AspNetCore
  • Volo.Abp.Imaging.ImageSharp
  • Volo.Abp.Imaging.MagickNet
  • Volo.Abp.AspNetCore.Mvc.Dapr
  • Volo.Abp.AspNetCore.Mvc.Dapr.EventBus
  • Volo.Abp.Json

@hikalkan
Copy link
Member

hikalkan commented Aug 9, 2023

Thanks for your effort until now. I moved this issue to 8.0 to track it there. It will be good if we can finish all in 8.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants