From ed7a34de0462252a88339136653d671fa9690192 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Wed, 27 Jun 2018 09:56:41 +0300 Subject: [PATCH] #310 Revised pack.ps1. --- nupkg/pack.ps1 | 202 +++++++++++++++++++++++++++++-------------------- 1 file changed, 122 insertions(+), 80 deletions(-) diff --git a/nupkg/pack.ps1 b/nupkg/pack.ps1 index d4d73d42d1..a69f6dcab5 100644 --- a/nupkg/pack.ps1 +++ b/nupkg/pack.ps1 @@ -1,92 +1,133 @@ # Paths $packFolder = (Get-Item -Path "./" -Verbose).FullName -$slnPath = Join-Path $packFolder "../" -$srcPath = Join-Path $slnPath "src" +$rootFolder = Join-Path $packFolder "../" + +# List of solutions +$solutions = ( + "framework", + "modules/users", + "modules/setting-management", + "modules/permission-management", + "modules/tenant-management", + "modules/identity", + "modules/account" +) # List of projects $projects = ( - "Volo.Abp", - "Volo.Abp.Account.Application", - "Volo.Abp.Account.Application.Contracts", - "Volo.Abp.Account.Web", - "Volo.Abp.ApiVersioning.Abstractions", - "Volo.Abp.AspNetCore", - "Volo.Abp.AspNetCore.EmbeddedFiles", - "Volo.Abp.AspNetCore.MultiTenancy", - "Volo.Abp.AspNetCore.Mvc", - "Volo.Abp.AspNetCore.Mvc.UI", - "Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", - "Volo.Abp.AspNetCore.TestBase", - "Volo.Abp.Authorization", - "Volo.Abp.AutoFac", - "Volo.Abp.AutoMapper", - "Volo.Abp.Caching", - "Volo.Abp.Castle.Core", - "Volo.Abp.Core", - "Volo.Abp.Data", - "Volo.Abp.Ddd", - "Volo.Abp.EntityFrameworkCore", - "Volo.Abp.EventBus", - "Volo.Abp.Guids", - "Volo.Abp.Http", - "Volo.Abp.Http.Abstractions", - "Volo.Abp.Http.Client", - "Volo.Abp.Identity.Application", - "Volo.Abp.Identity.Application.Contracts", - "Volo.Abp.Identity.Domain", - "Volo.Abp.Identity.Domain.Shared", - "Volo.Abp.Identity.EntityFrameworkCore", - "Volo.Abp.Identity.HttpApi", - "Volo.Abp.Identity.HttpApi.Client", - "Volo.Abp.Identity.Web", - "Volo.Abp.IdentityServer.Application", - "Volo.Abp.IdentityServer.Application.Contracts", - "Volo.Abp.IdentityServer.Domain", - "Volo.Abp.IdentityServer.Domain.Shared", - "Volo.Abp.IdentityServer.EntityFrameworkCore", - "Volo.Abp.Json", - "Volo.Abp.Localization", - "Volo.Abp.MemoryDb", - "Volo.Abp.MongoDB", - "Volo.Abp.MultiTenancy.Abstractions", - "Volo.Abp.MultiTenancy.Application", - "Volo.Abp.MultiTenancy.Application.Contracts", - "Volo.Abp.MultiTenancy.Domain", - "Volo.Abp.MultiTenancy.Domain.Shared", - "Volo.Abp.MultiTenancy.EntityFrameworkCore", - "Volo.Abp.MultiTenancy.HttpApi", - "Volo.Abp.MultiTenancy.Web", - "Volo.Abp.ObjectMapping", - "Volo.Abp.Permissions.Application", - "Volo.Abp.Permissions.Application.Contracts", - "Volo.Abp.Permissions.Domain", - "Volo.Abp.Permissions.Domain.Shared", - "Volo.Abp.Permissions.EntityFrameworkCore", - "Volo.Abp.Permissions.Web", - "Volo.Abp.Security", - "Volo.Abp.Serialization", - "Volo.Abp.Session", - "Volo.Abp.Settings", - "Volo.Abp.Settings.Domain", - "Volo.Abp.Settings.Domain.Shared", - "Volo.Abp.Settings.EntityFrameworkCore", - "Volo.Abp.TestBase", - "Volo.Abp.Threading", - "Volo.Abp.Timing", - "Volo.Abp.UI", - "Volo.Abp.UI.Navigation", - "Volo.Abp.Validation", - "Volo.Abp.VirtualFileSystem" + + # framework + "framework/src/Volo.Abp.ApiVersioning.Abstractions", + "framework/src/Volo.Abp.AspNetCore", + "framework/src/Volo.Abp.AspNetCore.Authentication.OAuth", + "framework/src/Volo.Abp.AspNetCore.MultiTenancy", + "framework/src/Volo.Abp.AspNetCore.Mvc", + "framework/src/Volo.Abp.AspNetCore.Mvc.UI", + "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", + "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling", + "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages", + "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", + "framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared", + "framework/src/Volo.Abp.AspNetCore.TestBase", + "framework/src/Volo.Abp.Auditing", + "framework/src/Volo.Abp.Authorization", + "framework/src/Volo.Abp.AutoFac", + "framework/src/Volo.Abp.AutoMapper", + "framework/src/Volo.Abp.Caching", + "framework/src/Volo.Abp.Castle.Core", + "framework/src/Volo.Abp.Core", + "framework/src/Volo.Abp.Data", + "framework/src/Volo.Abp.Ddd.Application", + "framework/src/Volo.Abp.Ddd.Domain", + "framework/src/Volo.Abp.Emailing", + "framework/src/Volo.Abp.EntityFrameworkCore", + "framework/src/Volo.Abp.EntityFrameworkCore.SqlServer", + "framework/src/Volo.Abp.EventBus", + "framework/src/Volo.Abp.EventBus.Distributed", + "framework/src/Volo.Abp.EventBus.Distributed.RabbitMQ", + "framework/src/Volo.Abp.Guids", + "framework/src/Volo.Abp.Http", + "framework/src/Volo.Abp.Http.Abstractions", + "framework/src/Volo.Abp.Http.Client", + "framework/src/Volo.Abp.Json", + "framework/src/Volo.Abp.Localization", + "framework/src/Volo.Abp.MemoryDb", + "framework/src/Volo.Abp.MongoDB", + "framework/src/Volo.Abp.MultiTenancy.Abstractions", + "framework/src/Volo.Abp.ObjectMapping", + "framework/src/Volo.Abp.Security", + "framework/src/Volo.Abp.Serialization", + "framework/src/Volo.Abp.Settings", + "framework/src/Volo.Abp.Sms", + "framework/src/Volo.Abp.TestBase", + "framework/src/Volo.Abp.Threading", + "framework/src/Volo.Abp.Timing", + "framework/src/Volo.Abp.UI", + "framework/src/Volo.Abp.UI.Navigation", + "framework/src/Volo.Abp.Uow", + "framework/src/Volo.Abp.Validation", + "framework/src/Volo.Abp.VirtualFileSystem", + + # modules/users + "modules/users/src/Volo.Abp.Users.Abstractions", + "modules/users/src/Volo.Abp.Users.Domain", + "modules/users/src/Volo.Abp.Users.Domain.Shared", + "modules/users/src/Volo.Abp.Users.EntityFrameworkCore", + "modules/users/src/Volo.Abp.Users.MongoDB", + + # modules/setting-management + "modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared", + "modules/setting-management/src/Volo.Abp.SettingManagement.Domain", + "modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore", + "modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB", + + # modules/permission-management + "modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared", + "modules/permission-management/src/Volo.Abp.PermissionManagement.Domain", + "modules/permission-management/src/Volo.Abp.PermissionManagement.Application.Contracts", + "modules/permission-management/src/Volo.Abp.PermissionManagement.Application", + "modules/permission-management/src/Volo.Abp.PermissionManagement.EntityFrameworkCore", + "modules/permission-management/src/Volo.Abp.PermissionManagement.MongoDB", + "modules/permission-management/src/Volo.Abp.PermissionManagement.Web", + + # modules/tenant-management + "modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared", + "modules/tenant-management/src/Volo.Abp.TenantManagement.Domain", + "modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts", + "modules/tenant-management/src/Volo.Abp.TenantManagement.Application", + "modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore", + "modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB", + "modules/tenant-management/src/Volo.Abp.TenantManagement.HttpApi", + "modules/tenant-management/src/Volo.Abp.TenantManagement.HttpApi.Client", + "modules/tenant-management/src/Volo.Abp.TenantManagement.Web", + + # modules/identity + "modules/identity/src/Volo.Abp.Identity.Application", + "modules/identity/src/Volo.Abp.Identity.Application.Contracts", + "modules/identity/src/Volo.Abp.Identity.Domain", + "modules/identity/src/Volo.Abp.Identity.Domain.Shared", + "modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore", + "modules/identity/src/Volo.Abp.Identity.MongoDB", + "modules/identity/src/Volo.Abp.Identity.HttpApi", + "modules/identity/src/Volo.Abp.Identity.HttpApi.Client", + "modules/identity/src/Volo.Abp.Identity.Web", + + # modules/account + "modules/account/src/Volo.Abp.Account.Web" + ) -# Rebuild solution -Set-Location $slnPath -& dotnet restore +# Rebuild all solutions +foreach($solution in $solutions) { + $solutionFolder = Join-Path $rootFolder $solution + Set-Location $solutionFolder + & dotnet restore +} -# Copy all nuget packages to the pack folder +# Create all packages foreach($project in $projects) { - $projectFolder = Join-Path $srcPath $project + $projectFolder = Join-Path $rootFolder $project # Create nuget pack Set-Location $projectFolder @@ -94,7 +135,8 @@ foreach($project in $projects) { & dotnet msbuild /t:pack /p:Configuration=Release /p:SourceLinkCreate=true # Copy nuget package - $projectPackPath = Join-Path $projectFolder ("/bin/Release/" + $project + ".*.nupkg") + $projectName = $project.Substring($project.LastIndexOf("/") + 1) + $projectPackPath = Join-Path $projectFolder ("/bin/Release/" + $projectName + ".*.nupkg") Move-Item $projectPackPath $packFolder }