Skip to content

Commit

Permalink
Create "symbol packages" so NuGet clients can hopefully step through …
Browse files Browse the repository at this point in the history
…source code.

Nuspecs: target="readme.txt" doesn't work, it creates a folder.
Tweak Core readme.
  • Loading branch information
qwertie committed Jan 10, 2017
1 parent bf555c7 commit 4469cda
Show file tree
Hide file tree
Showing 10 changed files with 57 additions and 27 deletions.
6 changes: 4 additions & 2 deletions Core/Loyc.Collections.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@
</dependencies>
</metadata>
<files>
<file src="readme.md" target="readme.txt" />

<file src="readme.md" />
<file src="Bin\Release.NET3\Loyc.Collections.*" target="lib\net35-client\" />
<file src="Bin\Release.NET4\Loyc.Collections.*" target="lib\net40-client\" />
<file src="Bin\Release.NET45\Loyc.Collections.*" target="lib\net45\" />
<file src="Loyc.Collections\**\*.cs" target="src" />
<file src="Loyc.Collections\**\*.ecs" target="src" />
</files>
</package>
4 changes: 3 additions & 1 deletion Core/Loyc.Essentials.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,14 @@
</dependencies>
</metadata>
<files>
<file src="readme.md" target="readme.txt" />
<file src="readme.md" />

<file src="Lib\DotNet35\Theraot.Core.dll" target="lib\net35-client\" />

<file src="Bin\Release.NET3\Loyc.Essentials.*" target="lib\net35-client\" />
<file src="Bin\Release.NET4\Loyc.Essentials.*" target="lib\net40-client\" />
<file src="Bin\Release.NET45\Loyc.Essentials.*" target="lib\net45\" />
<file src="Loyc.Essentials\**\*.cs" target="src" />
<file src="Loyc.Essentials\**\*.ecs" target="src" />
</files>
</package>
5 changes: 4 additions & 1 deletion Core/Loyc.Math.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,13 @@
</dependencies>
</metadata>
<files>
<file src="readme.md" target="readme.txt" />
<file src="readme.md" />

<file src="Bin\Release.NET3\Loyc.Math.*" target="lib\net35-client\" />
<file src="Bin\Release.NET4\Loyc.Math.*" target="lib\net40-client\" />
<file src="Bin\Release.NET45\Loyc.Math.*" target="lib\net45\" />
<file src="Loyc.Math\**\*.cs" target="src" />
<file src="Loyc.Math\**\*.ecs" target="src" />
<file src="Loyc.Math\**\*.tt" target="src" />
</files>
</package>
5 changes: 4 additions & 1 deletion Core/Loyc.Syntax.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,13 @@
</dependencies>
</metadata>
<files>
<file src="readme.md" target="readme.txt" />
<file src="readme.md" />

<file src="Bin\Release.NET3\Loyc.Syntax.*" target="lib\net35-client\" />
<file src="Bin\Release.NET4\Loyc.Syntax.*" target="lib\net40-client\" />
<file src="Bin\Release.NET45\Loyc.Syntax.*" target="lib\net45\" />
<file src="Loyc.Syntax\**\*.cs" target="src" />
<file src="Loyc.Syntax\**\*.les" target="src" />
<file src="Loyc.Syntax\**\*.ecs" target="src" />
</files>
</package>
4 changes: 3 additions & 1 deletion Core/Loyc.Utilities.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@
</dependencies>
</metadata>
<files>
<file src="readme.md" target="readme.txt" />
<file src="readme.md" />

<file src="Bin\Release.NET3\Loyc.Utilities.*" target="lib\net35-client\" />
<file src="Bin\Release.NET4\Loyc.Utilities.*" target="lib\net40-client\" />
<file src="Bin\Release.NET45\Loyc.Utilities.*" target="lib\net45\" />
<file src="Loyc.Utilities\**\*.cs" target="src" />
<file src="Loyc.Utilities\**\*.ecs" target="src" />
</files>
</package>
21 changes: 13 additions & 8 deletions Core/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,31 @@ README

The Loyc Core project is a set of general-purpose .NET libraries. LoycCore is especially focused on collections - classes, interfaces, adapters, and extension methods - but also has code in other areas, most notably parsing and syntax trees.

**IMPORTANT**: Development occurs primarily in the [Enhanced C# repository](https://github.com/loycnet/ecsharp), which contains this repo as a "git subtree". However, `git subtree push` mysteriously stopped working which means that synchronization with this repo has become a manual process. As a result I would ask you **not to use this repo anymore**. We'll just do everything in ecsharp.

Contributors are welcome: more unit tests, code reviews, and new features are desired, anything relatively small (under about 3000 lines of code) that fits the theme "things that should have been built into the .NET framework, but aren't".

Please visit http://core.loyc.net for documentation.

**NOTE**: Development occurs primarily in the [Enhanced C# repository](https://github.com/loycnet/ecsharp), which contains the LoycCore repo as a "git subtree". However, `git subtree push` mysteriously stopped working which means that synchronization with this repo has become a manual process. As a result I would ask you **not to use that repo anymore**. We'll just do everything in ecsharp.

Dependency tree
---------------

Low-level libraries on top:

Loyc.Essentials
|
Loyc.Collections
^ ^
| |
^ ^
| |
| +----------------+
| |
| |
Loyc.Utilities Loyc.Syntax
Loyc.Collections Loyc.Math
^ ^
| |
Loyc.Syntax |
^ |
| |
+---------+----------+
|
Loyc.Utilities

These projects use couple of tricks to support .NET 3.5, .NET 4 and .NET 4.5 in a single solution file. The tricks are documented here: http://stackoverflow.com/questions/5006397/targetting-multiple-net-framework-versions-by-using-different-project-configura/23705790#23705790

Expand Down
2 changes: 2 additions & 0 deletions Main/LLLPG.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,7 @@
<file src="..\Bin\Release.NET3\LLLPG.*" target="lib\net35-client\" />
<file src="..\Bin\Release.NET4\LLLPG.*" target="lib\net40-client\" />
<file src="..\Bin\Release.NET45\LLLPG.*" target="lib\net45\" />
<file src="LLLPG\**\*.cs" target="src" />
<file src="LLLPG\**\*.ecs" target="src" />
</files>
</package>
10 changes: 9 additions & 1 deletion Main/LeMP.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,17 @@
</dependencies>
</metadata>
<files>
<file src="..\readme.md" target="readme.txt" />
<file src="..\readme.md" />

<file src="..\Lib\ICSharpCode.TextEditor.dll" target="lib\net40-client\" />
<file src="..\Lib\ICSharpCode.TextEditor.dll" target="lib\net45\" />

<file src="..\Bin\Release.NET3\LeMP.*" target="lib\net35-client\" />
<file src="..\Bin\Release.NET4\LeMP.*" target="lib\net40-client\" />
<file src="..\Bin\Release.NET45\LeMP.*" target="lib\net45\" />
<file src="LeMP\**\*.cs" target="src\LeMP" />
<file src="LeMP\**\*.ecs" target="src\LeMP" />
<file src="LeMP.StdMacros\**\*.cs" target="src\LeMP.StdMacros" />
<file src="LeMP.StdMacros\**\*.ecs" target="src\LeMP.StdMacros" />
</files>
</package>
5 changes: 4 additions & 1 deletion Main/Loyc.Ecs.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,12 @@
</dependencies>
</metadata>
<files>
<file src="..\readme.md" target="readme.txt" />
<file src="..\readme.md" />
<file src="..\Bin\Release.NET3\Loyc.Ecs.*" target="lib\net35-client\" />
<file src="..\Bin\Release.NET4\Loyc.Ecs.*" target="lib\net40-client\" />
<file src="..\Bin\Release.NET45\Loyc.Ecs.*" target="lib\net45\" />
<file src="Ecs\**\*.cs" target="src" />
<file src="Ecs\**\*.ecs" target="src" />
<file src="Ecs\**\*.les" target="src" />
</files>
</package>
22 changes: 11 additions & 11 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ after_build:
# - Loyc.Syntax.dll (Loyc.Syntax.$PKG_VERSION.nupkg)
# - Loyc.Utilities.dll (Loyc.Utilities.$PKG_VERSION.nupkg)
# - All 5 together (LoycCore.$PKG_VERSION.nupkg)
- nuget pack -Version %PKG_VERSION% Core\Loyc.Essentials.nuspec
- nuget pack -Version %PKG_VERSION% Core\Loyc.Collections.nuspec
- nuget pack -Version %PKG_VERSION% Core\Loyc.Math.nuspec
- nuget pack -Version %PKG_VERSION% Core\Loyc.Syntax.nuspec
- nuget pack -Version %PKG_VERSION% Core\Loyc.Utilities.nuspec
- nuget pack -Version %PKG_VERSION% Core\LoycCore.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Core\Loyc.Essentials.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Core\Loyc.Collections.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Core\Loyc.Math.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Core\Loyc.Syntax.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Core\Loyc.Utilities.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Core\LoycCore.nuspec

# Package the Main libraries:
# - Loyc.Ecs.dll (Loyc.Ecs.$PKG_VERSION.nupkg)
# - LeMP.exe (LeMP.$PKG_VERSION.nupkg)
# - LLLPG.exe (LLLPG.$PKG_VERSION.nupkg)
- nuget pack -Version %PKG_VERSION% Main\Loyc.Ecs.nuspec
- nuget pack -Version %PKG_VERSION% Main\LeMP.nuspec
- nuget pack -Version %PKG_VERSION% Main\LLLPG.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Main\Loyc.Ecs.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Main\LeMP.nuspec
- nuget pack -Version %PKG_VERSION% -symbols Main\LLLPG.nuspec

test_script:
# Unfortunately, test set 8 (LLLPG) sometimes fails due to nondeterminism.
Expand All @@ -63,8 +63,8 @@ deploy:
server:
api_key:
secure: DHTp3wMjKqyca2PWftol2wq7DxE9KdL8AizHVIS14T4DSSMXgc0bIiCGvvA8SkTH
skip_symbols: true
skip_symbols: false # Whether to not publish symbol pkgs (src/pdb)
artifact: /.*\.nupkg/
on:
branch: master # Release from master branch only.
branch: master # Release from master branch only.
appveyor_repo_tag: true # Deploy on tag push only.

0 comments on commit 4469cda

Please sign in to comment.