From 3f32d49ab346f14719209a6d496adb6178d3cd2b Mon Sep 17 00:00:00 2001 From: MiroKaku <50670906+MiroKaku@users.noreply.github.com> Date: Mon, 23 May 2022 16:39:23 +0800 Subject: [PATCH 1/5] feat: nuget --- .github/workflows/build.yaml | 88 ++++++++++++++++++++++++++++++++++ .github/workflows/main.yaml | 42 ---------------- .github/workflows/release.yaml | 41 ---------------- nuget/ucxxrt.nuspec | 28 +++++++++++ nuget/ucxxrt.props | 6 +++ 5 files changed, 122 insertions(+), 83 deletions(-) create mode 100644 .github/workflows/build.yaml delete mode 100644 .github/workflows/main.yaml delete mode 100644 .github/workflows/release.yaml create mode 100644 nuget/ucxxrt.nuspec create mode 100644 nuget/ucxxrt.props diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..d51c3d1 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,88 @@ +# This is a basic workflow to help you get started with Actions + +name: Build & Publish + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: [push, pull_request] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: windows-2019 + + # Any commit that contains [build] will now trigger these jobs, everything else will be skipped. + # if: "contains(github.event.head_commit.message, '[build]')" + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + + - name: build nuspec + if: contains(github.ref, 'tags/') + working-directory: ${{github.workspace}} + shell: pwsh + run: | + if($env:GITHUB_REF.StartsWith("refs/tags/v", "CurrentCultureIgnoreCase")) + { + $BuildVersion = $env:GITHUB_REF.Remove(0, 11); + echo "BuildVersion=$BuildVersion" >> $env:GITHUB_ENV + + # github的内置版本有Bug,此行必须添加,否则无法获得内容 + git fetch --depth=1 origin +refs/tags/*:refs/tags/* + + $releaseNotes = & git tag -l --format='%(contents)' $env:GITHUB_REF.Remove(0, 10) + $content = [System.IO.File]::ReadAllText("nuget\ucxxrt.nuspec") + + $releaseNotesToken = '$releaseNotes$' + $releaseNotesIndex = $content.IndexOf($releaseNotesToken) + + if($releaseNotesIndex -ne -1) + { + echo $content.Substring(0, $releaseNotesIndex) | out-file "nuget\ucxxrt-new.nuspec" -NoNewline + echo $releaseNotes | out-file "nuget\ucxxrt-new.nuspec" -Append + echo $content.Remove(0, $releaseNotesIndex + $releaseNotesToken.Length) | out-file "nuget\ucxxrt-new.nuspec" -NoNewline -Append + } + } + + - name: compile + working-directory: ${{github.workspace}} + shell: cmd + run: call .\.github\workflows\build.bat + + - name: upload an artifact + uses: actions/upload-artifact@v3 + with: + name: ucxxrt + path: ucxxrt\ + if-no-files-found: error + + - name: pack zip + if: contains(github.ref, 'tags/') + working-directory: ${{github.workspace}} + shell: cmd + run: 7z a -tzip ucxxrt.zip ucxxrt\ + + - name: pack nuget + if: contains(github.ref, 'tags/') + working-directory: ${{github.workspace}} + shell: cmd + run: | + if "${{env.BuildVersion}}" NEQ "" ( + nuget pack nuget\ucxxrt-new.nuspec -Properties version=${{env.BuildVersion}};commit=%GITHUB_SHA% + ) + + if %ERRORLEVEL% NEQ 0 exit /B %ERRORLEVEL% + + - name: publish a version + if: contains(github.ref, 'tags/') + uses: "marvinpinto/action-automatic-releases@v1.2.1" + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + prerelease: false + files: | + ucxxrt.zip + nuget\*.nupkg \ No newline at end of file diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml deleted file mode 100644 index f6d5e5e..0000000 --- a/.github/workflows/main.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: CI - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: windows-2019 - - # Any commit that contains [build] will now trigger these jobs, everything else will be skipped. - # if: "contains(github.event.head_commit.message, '[build]')" - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout - uses: actions/checkout@v2 - - - name: Build Library - shell: cmd - run: call .\.github\workflows\build.bat - - #- name: Build Artifact - # shell: cmd - # run: 7z a -tzip ucxxrt.zip ucxxrt\ - - - name: Upload a Build Artifact - uses: actions/upload-artifact@v3 - with: - name: ucxxrt - path: ucxxrt\ - if-no-files-found: error diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index ee8b789..0000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: CI-Release - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - tags: - - "v*" - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: windows-2019 - - # Any commit that contains [build] will now trigger these jobs, everything else will be skipped. - # if: "contains(github.event.head_commit.message, '[build]')" - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout - uses: actions/checkout@v2 - - - name: Build Library - shell: cmd - run: call .\.github\workflows\build.bat - - - name: Build Artifact - shell: cmd - run: 7z a -tzip ucxxrt.zip ucxxrt\ - - - name: Release a Build Artifact - uses: "marvinpinto/action-automatic-releases@v1.2.1" - with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" - prerelease: false - files: ucxxrt.zip diff --git a/nuget/ucxxrt.nuspec b/nuget/ucxxrt.nuspec new file mode 100644 index 0000000..7f26ea7 --- /dev/null +++ b/nuget/ucxxrt.nuspec @@ -0,0 +1,28 @@ + + + + ucxxrt + $version$ + Universal C++ RunTime (UCXXRT) + MiroKaku (MeeSong) + MiroKaku (MeeSong) + true + true + lib\native\LICENSE + lib\native\README.md + https://github.com/MiroKaku/ucxxrt + The Universal C++ RunTime library, supporting kernel-mode C++ exception-handler and STL. + $releaseNotes$ + Copyright© MiroKaku + en-US + ucxxrt wdk driver kernel + + + + + + + + + + \ No newline at end of file diff --git a/nuget/ucxxrt.props b/nuget/ucxxrt.props new file mode 100644 index 0000000..9ef1ec6 --- /dev/null +++ b/nuget/ucxxrt.props @@ -0,0 +1,6 @@ + + + + $(NuGetImportAfterCppProps);$(MSBuildThisFileDirectory)..\lib\native\ucxxrt.props + + \ No newline at end of file From fd9bd14b876cf812f54934b3ba9b59edd16af8ec Mon Sep 17 00:00:00 2001 From: MiroKaku <50670906+MiroKaku@users.noreply.github.com> Date: Mon, 23 May 2022 17:12:16 +0800 Subject: [PATCH 2/5] fix: build.yml --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d51c3d1..406e743 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -85,4 +85,4 @@ jobs: prerelease: false files: | ucxxrt.zip - nuget\*.nupkg \ No newline at end of file + *.nupkg \ No newline at end of file From 35d2b1a85f950291d7244849151e70c1bb945bce Mon Sep 17 00:00:00 2001 From: MiroKaku <50670906+MiroKaku@users.noreply.github.com> Date: Mon, 23 May 2022 18:33:12 +0800 Subject: [PATCH 3/5] doc: update readme. --- README.md | 14 +++++++++++--- ReadMe.zh-cn.md | 13 ++++++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f1cac96..aab6a2d 100644 --- a/README.md +++ b/README.md @@ -94,10 +94,18 @@ IDE:Visual Studio 2019 or higher ## 3. How to use -1. Copy `ucxxrt/ucxxrt` forder to you project directory. -2. Add the property sheet `ucxxrt.props` to yor project. +**First, rename `DriverEntry` to `DriverMain`。** -> !! note:Rename `DriverEntry` to `DriverMain` +### 3.1 Option 1(NuGet) +> Publishing to nuget.org requires a signing certificate, no money. + +~~Right click on the project and select "Manage NuGet Packages", then search for `ucxxrt` and choose the version that suits you, and finally click "Install".~~ + +### 3.2 Option 2 + +1. Download the latest package from [release](https://github.com/MiroKaku/ucxxrt/releases) and unzip it. + +2. Add the property sheet `ucxxrt.props` to yor project. ![usage](./readme/use.gif) diff --git a/ReadMe.zh-cn.md b/ReadMe.zh-cn.md index 72c283e..f9f796b 100644 --- a/ReadMe.zh-cn.md +++ b/ReadMe.zh-cn.md @@ -92,10 +92,17 @@ IDE:Visual Studio 2019 或更高版本 ## 3. 怎样使用 -1. 将编译生成的 `unittest` 文件夹复制到自己项目中 -2. 在 Visual Studio 中,你可以打开属性管理器(视图 - 属性管理器),然后右键添加现有属性表,然后选择 `ucxxrt.props` 即可。 +**首先 `DriverEntry` 需要改为 `DriverMain`。** -> !! 注意:`DriverEntry` 需要改为 `DriverMain` +### 3.1 方法一(NuGet) +> 发布到 nuget.org 需要签名证书,没钱。 + +~~右键单击该项目并选择“管理 NuGet 包”,然后搜索`ucxxrt`并选择适合你的版本,最后单击“安装”。~~ + +### 3.2 方法二 + + 1. 从 [release](https://github.com/MiroKaku/ucxxrt/releases) 下载最新包并解压。 + 2. 在 Visual Studio 中,你可以打开属性管理器(视图 - 属性管理器),然后右键添加现有属性表,然后选择 `ucxxrt.props` 即可。 ![使用方法](./readme/use.zh-cn.gif) From a43ee13756f402ede1f2ba7d28579708e5fd7bf0 Mon Sep 17 00:00:00 2001 From: MiroKaku <50670906+MiroKaku@users.noreply.github.com> Date: Tue, 24 May 2022 11:02:57 +0800 Subject: [PATCH 4/5] feat: publish nuget --- .github/workflows/build.yaml | 13 +++++++++++-- README.md | 25 +++++++++++++------------ ReadMe.zh-cn.md | 25 +++++++++++++------------ readme/nuget.png | Bin 0 -> 35924 bytes 4 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 readme/nuget.png diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 406e743..8fac614 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions -name: Build & Publish +name: build & publish # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch @@ -79,10 +79,19 @@ jobs: - name: publish a version if: contains(github.ref, 'tags/') + working-directory: ${{github.workspace}} uses: "marvinpinto/action-automatic-releases@v1.2.1" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" prerelease: false files: | ucxxrt.zip - *.nupkg \ No newline at end of file + *.nupkg + + - name: publish nuget + if: contains(github.ref, 'tags/') + working-directory: ${{github.workspace}} + shell: cmd + run: | + nuget push ucxxrt.${{env.BuildVersion}}.nupkg -ApiKey ${{ secrets.NUGET_TOKEN }} -Source https://api.nuget.org/v3/index.json + if %ERRORLEVEL% NEQ 0 exit /B %ERRORLEVEL% diff --git a/README.md b/README.md index aab6a2d..cee7fab 100644 --- a/README.md +++ b/README.md @@ -85,23 +85,17 @@ void Test$HashMap() } ``` -## 2. Compile - -IDE:Visual Studio 2019 or higher - -* `git clone https://github.com/MiroKaku/ucxxrt.git` -* Open `ucxxrt.sln` and compile - -## 3. How to use +## 2. How to use **First, rename `DriverEntry` to `DriverMain`。** -### 3.1 Option 1(NuGet) -> Publishing to nuget.org requires a signing certificate, no money. +### 2.1 Option 1 (recommend) + +Right click on the project and select "Manage NuGet Packages", then search for `ucxxrt` and choose the version that suits you, and finally click "Install". -~~Right click on the project and select "Manage NuGet Packages", then search for `ucxxrt` and choose the version that suits you, and finally click "Install".~~ +![nuget](./readme/nuget.png) -### 3.2 Option 2 +### 2.2 Option 2 1. Download the latest package from [release](https://github.com/MiroKaku/ucxxrt/releases) and unzip it. @@ -109,6 +103,13 @@ IDE:Visual Studio 2019 or higher ![usage](./readme/use.gif) +## 3. How to compile + +IDE:Visual Studio 2019 or higher + +* `git clone https://github.com/MiroKaku/ucxxrt.git` +* Open `ucxxrt.sln` and compile. + ## 4. Reference and Acknowledgement * [Microsoft's C++ Standard Library](https://github.com/microsoft/stl) diff --git a/ReadMe.zh-cn.md b/ReadMe.zh-cn.md index f9f796b..b5a009b 100644 --- a/ReadMe.zh-cn.md +++ b/ReadMe.zh-cn.md @@ -83,29 +83,30 @@ void Test$HashMap() } ``` -## 2. 编译 - -IDE:Visual Studio 2019 或更高版本 - -* `git clone https://github.com/MiroKaku/ucxxrt.git` -* 打开 `ucxxrt.sln` 进行编译 - -## 3. 怎样使用 +## 2. 怎样使用 **首先 `DriverEntry` 需要改为 `DriverMain`。** -### 3.1 方法一(NuGet) -> 发布到 nuget.org 需要签名证书,没钱。 +### 2.1 方法一(推荐) + +右键单击该项目并选择“管理 NuGet 包”,然后搜索`ucxxrt`并选择适合你的版本,最后单击“安装”。 -~~右键单击该项目并选择“管理 NuGet 包”,然后搜索`ucxxrt`并选择适合你的版本,最后单击“安装”。~~ +![nuget](./readme/nuget.png) -### 3.2 方法二 +### 2.2 方法二 1. 从 [release](https://github.com/MiroKaku/ucxxrt/releases) 下载最新包并解压。 2. 在 Visual Studio 中,你可以打开属性管理器(视图 - 属性管理器),然后右键添加现有属性表,然后选择 `ucxxrt.props` 即可。 ![使用方法](./readme/use.zh-cn.gif) +## 3. 怎样编译 + +IDE:Visual Studio 2019 或更高版本 + +* `git clone https://github.com/MiroKaku/ucxxrt.git` +* 打开 `ucxxrt.sln` 进行编译。 + ## 4. 引用参考和感谢 * [Microsoft's C++ Standard Library](https://github.com/microsoft/stl) diff --git a/readme/nuget.png b/readme/nuget.png new file mode 100644 index 0000000000000000000000000000000000000000..96ecfcca2cf92f2bdc3e77371a787819d91bce5d GIT binary patch literal 35924 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 literal 0 HcmV?d00001 From 88a536fb4d8b3ce7c6f396385e8b71d4c19e2d33 Mon Sep 17 00:00:00 2001 From: MiroKaku <50670906+MiroKaku@users.noreply.github.com> Date: Tue, 24 May 2022 11:05:13 +0800 Subject: [PATCH 5/5] fix: build.yaml --- .github/workflows/build.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8fac614..57f117e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -79,7 +79,6 @@ jobs: - name: publish a version if: contains(github.ref, 'tags/') - working-directory: ${{github.workspace}} uses: "marvinpinto/action-automatic-releases@v1.2.1" with: repo_token: "${{ secrets.GITHUB_TOKEN }}"