Skip to content

Commit 828ee4a

Browse files
committed
Refactored file structure
* Now publishing docs from the docs folder directly to allow generation of the docs at build time without need of a distinct publish step.
1 parent fbcd2cc commit 828ee4a

File tree

310 files changed

+15249
-2849
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

310 files changed

+15249
-2849
lines changed

.editorconfig

Lines changed: 1526 additions & 0 deletions
Large diffs are not rendered by default.

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug.md

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG] - Title"
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
Please provide the following information when submitting an issue.
11+
12+
> Where appropriate replace the `[ ]` with a `[X]` to mark an item as 'checked'
13+
14+
**.NET Framework Used:**
15+
16+
- [ ] .NET 8.0
17+
- [ ] .NET 9.0
18+
- [ ] Something else
19+
20+
**OS Environment:**
21+
22+
- [ ] Windows 10
23+
- [ ] Windows 10 IoT Core
24+
- [ ] Windows Server 2012
25+
- [ ] Windows Server 2012 R2
26+
- [ ] Windows Server 2016
27+
28+
OS Version: `####.####...`
29+
30+
**I have already...**
31+
32+
- [ ] Reproduced the problem using the latest stable release.
33+
- [ ] Reviewed the [documentation](https://ubiquitydotnet.github.io/CommandLineParsing/).
34+
- [ ] Reviewed the [current issues](https://github.com/UbiquityDotNET/CommandLineParsing/issues) to check that the issue isn't already known.
35+
36+
**Description:**
37+
38+
Provide a clear and concise description of what the bug is.
39+
40+
**Steps to reproduce the problem:**
41+
42+
- [ ] Reviewed the [documentation](https://ubiquitydotnet.github.io/Llvm.NET/).
43+
- [ ] Included Sample code or link to repository/gist to reproduce the bug (This is the fastest way to a resolution as it reduces the time to reproduce the problem. The smaller the sample is the better.)
44+
45+
**Expected Behavior**
46+
47+
Please provide a clear and concise description of what you expected to happen.
48+
49+
**Actual Behavior**
50+
51+
Please provide a clear and concise description of what actually happens.
52+
53+
**Additional context**
54+
Add any other context about the problem here.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: "[Feature] - Title"
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
> NOTE:
12+
> Feature requests are intended to request a new feature or a change in the intended/designed
13+
> functionality (a.k.a. DCR). They should not be used to report bugs, which are incorrect
14+
> implementations of the designed functionality.
15+
16+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
17+
18+
**Describe the solution you'd like**
19+
A clear and concise description of what you want to happen.
20+
21+
**Describe alternatives you've considered**
22+
A clear and concise description of any alternative solutions or features you've considered.
23+
24+
**Additional context**
25+
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/newfeature.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/ci-build.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ jobs:
88

99
steps:
1010
- name: Check Out
11-
uses: actions/checkout@v1
12-
11+
uses: actions/checkout@v4
1312
- name: Setup .NET Core
14-
uses: actions/setup-dotnet@v1
13+
uses: actions/setup-dotnet@v4
1514
with:
16-
dotnet-version: 2.2.108
17-
18-
- name: Build with dotnet
19-
run: dotnet build --configuration Release
15+
global-json-file: global.json
16+
- name: Build with PowerShell
17+
shell: pwsh
18+
run: .\Build-All.ps1 -Configuration Release -ForceClean

.gitignore

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,6 @@ TestResult.xml
4040
[Rr]eleasePS/
4141
dlldata.c
4242

43-
# DNX
44-
project.lock.json
45-
project.fragment.lock.json
46-
artifacts/
47-
4843
*_i.c
4944
*_p.c
5045
*_i.h
@@ -70,87 +65,24 @@ artifacts/
7065
*.svclog
7166
*.scc
7267

73-
# Chutzpah Test files
74-
_Chutzpah*
75-
7668
# Visual C++ cache files
7769
ipch/
7870
*.aps
7971
*.ncb
80-
*.opendb
8172
*.opensdf
8273
*.sdf
8374
*.cachefile
84-
*.VC.db
85-
*.VC.VC.opendb
8675

8776
# Visual Studio profiler
8877
*.psess
8978
*.vsp
9079
*.vspx
91-
*.sap
92-
93-
# TFS 2012 Local Workspace
94-
$tf/
95-
96-
# Guidance Automation Toolkit
97-
*.gpState
9880

9981
# ReSharper is a .NET coding add-in
10082
_ReSharper*/
10183
*.[Rr]e[Ss]harper
10284
*.DotSettings.user
10385

104-
# JustCode is a .NET coding add-in
105-
.JustCode
106-
107-
# TeamCity is a build add-in
108-
_TeamCity*
109-
110-
# DotCover is a Code Coverage Tool
111-
*.dotCover
112-
113-
# NCrunch
114-
_NCrunch_*
115-
.*crunch*.local.xml
116-
nCrunchTemp_*
117-
118-
# MightyMoose
119-
*.mm.*
120-
AutoTest.Net/
121-
122-
# Web workbench (sass)
123-
.sass-cache/
124-
125-
# Installshield output folder
126-
[Ee]xpress/
127-
128-
# DocProject is a documentation generator add-in
129-
DocProject/buildhelp/
130-
DocProject/Help/*.HxT
131-
DocProject/Help/*.HxC
132-
DocProject/Help/*.hhc
133-
DocProject/Help/*.hhk
134-
DocProject/Help/*.hhp
135-
DocProject/Help/Html2
136-
DocProject/Help/html
137-
138-
# Click-Once directory
139-
publish/
140-
141-
# Publish Web Output
142-
*.[Pp]ublish.xml
143-
*.azurePubxml
144-
# TODO: Comment the next line if you want to checkin your web deploy settings
145-
# but database connection strings (with potential passwords) will be unencrypted
146-
#*.pubxml
147-
*.publishproj
148-
149-
# Microsoft Azure Web App publish settings. Comment the next line if you want to
150-
# checkin your Azure Web App publish settings, but sensitive information contained
151-
# in these scripts will be unencrypted
152-
PublishScripts/
153-
15486
# NuGet Packages
15587
*.nupkg
15688
# The packages folder can be ignored because of Package Restore

Build-All.ps1

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
<#
2+
.SYNOPSIS
3+
Script to build all of the LLvm.NET code base
4+
5+
.PARAMETER Configuration
6+
This sets the build configuration to use, default is "Release" though for inner loop development this may be set to "Debug"
7+
8+
.PARAMETER AllowVsPreReleases
9+
Switch to enable use of Visual Studio Pre-Release versions. This is NEVER enabled for official production builds, however it is
10+
useful when adding support for new versions during the pre-release stages.
11+
12+
.PARAMETER ForceClean
13+
Forces a complete clean (Recursive delete of the build output)
14+
15+
.PARAMETER BuildMode
16+
Specifies the build mode, which may be one of the following:
17+
18+
|Name | Description |
19+
|--------|---------------------------------------------------------------------------|
20+
| Source | Builds only the source code. This is useful for local development. |
21+
| Docs | Builds only the docs. Saves on build time when only updating docs topics. |
22+
| All | [Default] Builds everything |
23+
24+
.DESCRIPTION
25+
This script is used by the automated build to perform the actual build. The Ubiquity.NET
26+
family of projects all employ a PowerShell driven build that is generally divorced from
27+
the automated build infrastructure used. This is done for several reasons, but the most
28+
important ones are the ability to reproduce the build locally for inner development and
29+
for flexibility in selecting the actual back end. The back ends have changed a few times
30+
over the years and re-writing the entire build in terms of those back ends each time is
31+
a lot of wasted effort. Thus, the projects settled on PowerShell as the core automated
32+
build tooling.
33+
#>
34+
[cmdletbinding()]
35+
Param(
36+
[string]$Configuration="Release",
37+
[switch]$AllowVsPreReleases,
38+
[switch]$ForceClean,
39+
[ValidateSet('All','Source','Docs')]
40+
[System.String]$BuildMode = 'All'
41+
)
42+
43+
Push-Location $PSScriptRoot
44+
$oldPath = $env:Path
45+
try
46+
{
47+
# Pull in the repo specific support and force a full initialization of all the environment
48+
# as this is a top level build command.
49+
. .\repo-buildutils.ps1
50+
$buildInfo = Initialize-BuildEnvironment -FullInit -AllowVsPreReleases:$AllowVsPreReleases
51+
$BuildSource = $false
52+
$BuildDocs = $false;
53+
54+
switch($BuildMode)
55+
{
56+
'All' { $BuildSource = $true; $BuildDocs = $true; }
57+
'Source' { $BuildSource = $true }
58+
'Docs' { $BuildDocs = $true }
59+
}
60+
61+
if((Test-Path -PathType Container $buildInfo['BuildOutputPath']) -and $ForceClean )
62+
{
63+
Write-Information "Cleaning output folder from previous builds"
64+
remove-Item -Recurse -Force -Path $buildInfo['BuildOutputPath']
65+
}
66+
67+
New-Item -ItemType Directory $buildInfo['NuGetOutputPath'] -ErrorAction SilentlyContinue | Out-Null
68+
69+
if($BuildSource)
70+
{
71+
.\Build-Source.ps1 -AllowVsPreReleases:$AllowVsPreReleases
72+
}
73+
74+
if($BuildDocs)
75+
{
76+
.\Build-Docs.ps1 -AllowVsPreReleases:$AllowVsPreReleases
77+
}
78+
}
79+
catch
80+
{
81+
# everything from the official docs to the various articles in the blog-sphere says this isn't needed
82+
# and in fact it is redundant - They're all WRONG! By re-throwing the exception the original location
83+
# information is retained and the error reported will include the correct source file and line number
84+
# data for the error. Without this, only the error message is retained and the location information is
85+
# Line 1, Column 1, of the outer most script file, which is, of course, completely useless.
86+
throw
87+
}
88+
finally
89+
{
90+
Pop-Location
91+
$env:Path = $oldPath
92+
}
93+
94+
Write-Information "Done build"

0 commit comments

Comments
 (0)