76 lines
2.7 KiB
Batchfile
76 lines
2.7 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
set VERSION=1.0.0
|
|
set CONFIGURATION=Release
|
|
set OUTPUT_DIR=%~dp0\nupkgs
|
|
set API_KEY=your-nuget-api-key
|
|
set SOURCE=https://api.nuget.org/v3/index.json
|
|
|
|
REM 创建输出目录
|
|
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
|
|
|
|
REM 清理
|
|
echo 清理解决方案...
|
|
dotnet clean JiShe.CollectBus.sln -c %CONFIGURATION%
|
|
|
|
REM 删除之前的包
|
|
echo 删除之前的包...
|
|
if exist "%OUTPUT_DIR%\*.nupkg" del /q "%OUTPUT_DIR%\*.nupkg"
|
|
|
|
REM 打包项目
|
|
echo 开始打包项目...
|
|
|
|
REM 打包 Protocol 项目
|
|
echo 打包 Protocol 项目...
|
|
call :
|
|
protocols\JiShe.CollectBus.Protocol\JiShe.CollectBus.Protocol.csproj
|
|
call :PackProject protocols\JiShe.CollectBus.Protocol.Contracts\JiShe.CollectBus.Protocol.Contracts.csproj
|
|
call :PackProject protocols\JiShe.CollectBus.Protocol.T37612012\JiShe.CollectBus.Protocol.T37612012.csproj
|
|
|
|
REM 打包 Modules 项目
|
|
echo 打包 Modules 项目...
|
|
call :PackProject modules\JiShe.CollectBus.FreeRedis\JiShe.CollectBus.FreeRedis.csproj
|
|
call :PackProject modules\JiShe.CollectBus.Kafka\JiShe.CollectBus.Kafka.csproj
|
|
call :PackProject modules\JiShe.CollectBus.IoTDB\JiShe.CollectBus.IoTDB.csproj
|
|
call :PackProject modules\JiShe.CollectBus.MongoDB\JiShe.CollectBus.MongoDB.csproj
|
|
call :PackProject modules\JiShe.CollectBus.FreeSql\JiShe.CollectBus.FreeSql.csproj
|
|
call :PackProject modules\JiShe.CollectBus.Cassandra\JiShe.CollectBus.Cassandra.csproj
|
|
|
|
REM 打包 Shared 项目
|
|
echo 打包 Shared 项目...
|
|
call :PackProject shared\JiShe.CollectBus.Common\JiShe.CollectBus.Common.csproj
|
|
call :PackProject shared\JiShe.CollectBus.Domain.Shared\JiShe.CollectBus.Domain.Shared.csproj
|
|
|
|
REM 打包 Services 项目
|
|
@REM echo 打包 Services 项目...
|
|
@REM call :PackProject services\JiShe.CollectBus.Domain\JiShe.CollectBus.Domain.csproj
|
|
@REM call :PackProject services\JiShe.CollectBus.Application.Contracts\JiShe.CollectBus.Application.Contracts.csproj
|
|
@REM call :PackProject services\JiShe.CollectBus.Application\JiShe.CollectBus.Application.csproj
|
|
@REM call :PackProject services\JiShe.CollectBus.EntityFrameworkCore\JiShe.CollectBus.EntityFrameworkCore.csproj
|
|
|
|
echo.
|
|
echo 是否要发布包到 NuGet? (Y/N)
|
|
set /p PUBLISH_CHOICE=
|
|
|
|
if /i "%PUBLISH_CHOICE%"=="Y" (
|
|
echo 开始发布包...
|
|
for %%f in ("%OUTPUT_DIR%\*.nupkg") do (
|
|
echo 发布: %%f
|
|
dotnet nuget push "%%f" --api-key %API_KEY% --source %SOURCE% --skip-duplicate
|
|
)
|
|
echo 所有包已发布完成!
|
|
) else (
|
|
echo 跳过发布操作。所有包都在 %OUTPUT_DIR% 目录中。
|
|
)
|
|
|
|
goto :eof
|
|
|
|
:PackProject
|
|
if exist "%~1" (
|
|
echo 打包: %~1
|
|
dotnet pack "%~1" -c %CONFIGURATION% --include-symbols -p:SymbolPackageFormat=snupkg -p:PackageVersion=%VERSION% -o "%OUTPUT_DIR%"
|
|
) else (
|
|
echo 警告: 项目不存在 - %~1
|
|
)
|
|
goto :eof |