Skip to content

Commit

Permalink
.NET add document on packaging && disable uploading artifacts folder …
Browse files Browse the repository at this point in the history
…to pipeline by default (#4299)

* add package readme

* Update PACKAGING.md
  • Loading branch information
LittleLittleCloud authored Nov 21, 2024
1 parent 6e4609a commit 415d049
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 7 deletions.
12 changes: 8 additions & 4 deletions .azure/pipelines/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ trigger:
include:
- main
paths:
exclude:
- samples
include:
- dotnet

schedules:
- cron: "0 0 * * *"
displayName: 'Daily midnight build (including CodeQL)'
branches:
include:
- main
- 3.x
always: true

parameters:
Expand Down Expand Up @@ -46,6 +45,10 @@ parameters:
- name: publish_nightly
displayName: Publish to autogen-nightly
type: boolean
default: true
- name: publish_artifacts
displayName: Publish artifacts
type: boolean
default: false
- name: runCodeQL3000
default: false
Expand Down Expand Up @@ -87,4 +90,5 @@ extends:
skip_test: ${{ parameters.skip_test }}
publish_nightly: ${{ parameters.publish_nightly }}
publish_nuget: ${{ parameters.publish_nuget }}
runCodeQL3000: ${{ parameters.runCodeQL3000 }}
runCodeQL3000: ${{ parameters.runCodeQL3000 }}
publish_artifacts: ${{ parameters.publish_artifacts }}
12 changes: 9 additions & 3 deletions .azure/pipelines/templates/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ parameters:
displayName: Publish to nuget.org
type: boolean
default: false
- name: publish_artifacts
displayName: Publish artifacts
type: boolean
default: false
- name: runCodeQL3000
default: false
displayName: Run CodeQL3000 tasks
Expand All @@ -49,9 +53,11 @@ jobs:
${{ if ne(variables['System.TeamProject'], 'GitHub - PR Builds') }}:
templateContext:
outputs:
- output: pipelineArtifact
targetPath: '$(build.sourcesdirectory)/dotnet/artifacts'
artifactName: artifacts folder
# Publish artifacts if enabled
- ${{ if eq(parameters.publish_artifacts, true) }}: # TODO add eq(parameters.codesign, true)
- output: pipelineArtifact
targetPath: '$(build.sourcesdirectory)/dotnet/artifacts'
artifactName: artifacts folder
# Publish packages to nightly
- ${{ if eq(parameters.publish_nightly, true) }}: # TODO add eq(parameters.codesign, true)
- output: nuget
Expand Down
41 changes: 41 additions & 0 deletions dotnet/PACKAGING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Packaging AutoGen.NET

This document describes the steps to pack the `AutoGen.NET` project.

## Prerequisites

- .NET SDK

## Create Package

1. **Restore and Build the Project**
```bash
dotnet restore
dotnet build --configuration Release --no-restore
```


2. **Create the NuGet Package**
```bash
dotnet pack --configuration Release --no-build
```

This will generate both the `.nupkg` file and the `.snupkg` file in the `./artifacts/package/release` directory.

For more details, refer to the [official .NET documentation](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-pack).

## Add new project to package list.
By default, when you add a new project to `AutoGen.sln`, it will not be included in the package list. To include the new project in the package, you need to add the following line to the new project's `.csproj` file

e.g.

```xml
<Import Project="$(RepoRoot)/nuget/nuget-package.props" />
```

The `nuget-packages.props` enables `IsPackable` to `true` for the project, it also sets nenecessary metadata for the package.

For more details, refer to the [NuGet folder](./nuget/README.md).

## Package versioning
The version of the package is defined by `VersionPrefix` and `VersionPrefixForAutoGen0_2` in [MetaInfo.props](./eng/MetaInfo.props). If the name of your project starts with `AutoGen.`, the version will be set to `VersionPrefixForAutoGen0_2`, otherwise it will be set to `VersionPrefix`.
13 changes: 13 additions & 0 deletions dotnet/nuget/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# NuGet Directory

This directory contains resources and metadata for packaging the AutoGen.NET SDK as a NuGet package.

## Files

- **icon.png**: The icon used for the NuGet package.
- **NUGET.md**: The readme file displayed on the NuGet package page.
- **NUGET-PACKAGE.PROPS**: The MSBuild properties file that defines the packaging settings for the NuGet package.

## Purpose

The files in this directory are used to configure and build the NuGet package for the AutoGen.NET SDK, ensuring that it includes necessary metadata, documentation, and resources.

0 comments on commit 415d049

Please sign in to comment.