fix: generating Jacdac.TinyCLR nuget packages (#10)

* fix location of tinyclr.core.props

* more attempts

* add tinyclr

* use full name

* more experiements

* use bash

* use msbuild to build

* more attempts

* restore and build before pack

* don't double build

* more attempts at restoring tinyclr

* escaping sh

* renmoved snippet etractor for jacdac.sln

* try adding packages to nuspec

* increase logging

* list files

* move to reference instead of packagerefefrence

* move Jacdac.TinyCLR up

* try build before pack

* more cleanup

* try local folder

* inrease verbosity

* case matters

* other name update

* one more thing

* build more tinyclr assemblies

* import directory build

* clean once

* import order

* don't double import build props

* othe attempt

* restore using nuget

* fix ref

* tweaks

* missing project

* missing assembly

* lost project

* ignore nuget

* handleissinnypes

* another messed up dep

* fixing some referernces

* list nuget packages

* don't pack solution

* add azure package

* fix ls

* fix file names

* one more attampt
This commit is contained in:
Peli de Halleux 2022-01-18 15:58:51 -08:00 коммит произвёл GitHub
Родитель 5864366d2b
Коммит 2909abef22
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
16 изменённых файлов: 299 добавлений и 184 удалений

2
.github/workflows/build.yml поставляемый
Просмотреть файл

@ -1,7 +1,6 @@
name: "Build"
on:
push:
pull_request:
workflow_dispatch:
jobs:
build:
@ -10,6 +9,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@v1
- uses: microsoft/setup-msbuild@v1.1
- run: sh pack.sh
- name: dotnet restore Jacdac.sln
run: dotnet restore Jacdac.sln
- name: msbuild restore Jacdac.sln

1
.gitignore поставляемый
Просмотреть файл

@ -363,3 +363,4 @@ MigrationBackup/
FodyWeavers.xsd
packages
nuget.exe

Просмотреть файл

@ -1,4 +1,7 @@
<Project>
<PropertyGroup>
<DirectoryBuildProps>True</DirectoryBuildProps>
</PropertyGroup>
<PropertyGroup>
<Version>1.0.7</Version>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
@ -14,6 +17,10 @@
<RequireLicenseAcceptance>True</RequireLicenseAcceptance>
<PackageOutputPath>../bin/$(CONFIGURATION)/packages</PackageOutputPath>
</PropertyGroup>
<PropertyGroup>
<TinyCLRPackages>..\packages</TinyCLRPackages>
<TinyCLRCoreProps>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Core.2.1.0\build\net452\GHIElectronics.TinyCLR.Core.props</TinyCLRCoreProps>
</PropertyGroup>
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>

Просмотреть файл

@ -9,7 +9,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
ProjectSection(SolutionItems) = preProject
.github\workflows\build.yml = .github\workflows\build.yml
Directory.Build.props = Directory.Build.props
nuget.sh = nuget.sh
pack.sh = pack.sh
publish.sh = publish.sh
README.md = README.md
release.config.js = release.config.js
snippet.bat = snippet.bat
@ -47,10 +48,6 @@ Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Jacdac.Nano.Clients", "Jacd
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.DevTools", "Jacdac.DevTools\Jacdac.DevTools.csproj", "{56A741DC-6481-4A75-B91E-17E0DF4A1BF7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Servers.SoundPlayer", "Jacdac.NET.Servers.SoundPlayer\Jacdac.NET.Servers.SoundPlayer.csproj", "{877063AA-609C-4BDA-9577-6D0BABBBC04E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Logging", "Jacdac.NET.Logging\Jacdac.NET.Logging.csproj", "{3B634CE2-BA60-4183-8ADC-AE111222D759}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -133,18 +130,13 @@ Global
{56A741DC-6481-4A75-B91E-17E0DF4A1BF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{56A741DC-6481-4A75-B91E-17E0DF4A1BF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{56A741DC-6481-4A75-B91E-17E0DF4A1BF7}.Release|Any CPU.Build.0 = Release|Any CPU
{877063AA-609C-4BDA-9577-6D0BABBBC04E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{877063AA-609C-4BDA-9577-6D0BABBBC04E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{877063AA-609C-4BDA-9577-6D0BABBBC04E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{877063AA-609C-4BDA-9577-6D0BABBBC04E}.Release|Any CPU.Build.0 = Release|Any CPU
{3B634CE2-BA60-4183-8ADC-AE111222D759}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B634CE2-BA60-4183-8ADC-AE111222D759}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B634CE2-BA60-4183-8ADC-AE111222D759}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B634CE2-BA60-4183-8ADC-AE111222D759}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{9A459C50-F18B-48D0-8E34-0D540F86B886} = {0DAD67B9-5C1D-480C-A87D-2E26AFA713A2}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2E68C87D-E13A-4864-B418-221FE2CD9DC9}
EndGlobalSection

Просмотреть файл

@ -1,64 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B450BA62-EF67-4ABE-8239-5343A0A72922}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Jacdac.TinyCLR.Clients</RootNamespace>
<AssemblyName>Jacdac.TinyCLR.Clients</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{A1948822-69DD-4150-919B-F3F42EFB71CC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<LangVersion>9</LangVersion>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Copyright>Microsoft Corporation</Copyright>
<PackageProjectUrl>https://aka.ms/jacdac</PackageProjectUrl>
<PackageIcon>jacdac.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/microsoft/jacdac-dotnet</RepositoryUrl>
<PackageTags>jacdac;embedded;sensors;iot</PackageTags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Jacdac\Clients\*.cs">
<Link>Clients\%(RecursiveDir)%(FileName)%(Extension)</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Jacdac.TinyCLR\Jacdac.TinyCLR.csproj">
<Project>{FEAE5AA6-08FC-449E-8CE1-6F3697211323}</Project>
<Name>Jacdac.TinyCLR</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="GHIElectronics.TinyCLR.Core">
<Version>2.1.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="../Directory.Build.props" Condition=" '$(PackageProjectUrl)' == '' "/>
<Import Project="$(TinyCLRCoreProps)" Condition="Exists('$(TinyCLRCoreProps)')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B450BA62-EF67-4ABE-8239-5343A0A72922}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Jacdac.TinyCLR.Clients</RootNamespace>
<AssemblyName>Jacdac.TinyCLR.Clients</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{A1948822-69DD-4150-919B-F3F42EFB71CC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<LangVersion>9</LangVersion>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Copyright>Microsoft Corporation</Copyright>
<PackageProjectUrl>https://aka.ms/jacdac</PackageProjectUrl>
<PackageIcon>jacdac.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/microsoft/jacdac-dotnet</RepositoryUrl>
<PackageTags>jacdac;embedded;sensors;iot</PackageTags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Jacdac\Clients\*.cs">
<Link>Clients\%(RecursiveDir)%(FileName)%(Extension)</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Jacdac.TinyCLR\Jacdac.TinyCLR.csproj">
<Project>{FEAE5AA6-08FC-449E-8CE1-6F3697211323}</Project>
<Name>Jacdac.TinyCLR</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(TinyCLRCoreProps)')" Text="$([System.String]::Format('$(ErrorText)', '$(TinyCLRCoreProps)'))" />
</Target>
</Project>

Просмотреть файл

@ -63,7 +63,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="GHIElectronics.TinyCLR.Data.Json">
<Version>2.1.0</Version>
<Version>2.1.2</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Display">
<Version>2.1.0</Version>
@ -71,9 +71,15 @@
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Gpio">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Jacdac.Transport">
<Version>2.1.0.1</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Network">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Storage">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Uart">
<Version>2.1.0</Version>
</PackageReference>

Просмотреть файл

@ -6,9 +6,7 @@ using System.Text;
using System.Threading;
using GHIElectronics.TinyCLR.Devices.Gpio;
using GHIElectronics.TinyCLR.Devices.Network;
using GHIElectronics.TinyCLR.Devices.Storage;
using GHIElectronics.TinyCLR.Drivers.Microchip.Winc15x0;
using GHIElectronics.TinyCLR.IO;
using GHIElectronics.TinyCLR.Pins;
namespace Jacdac.Servers

Просмотреть файл

@ -1,64 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C81F0D29-5AF9-44B3-B50B-CB8126236510}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Jacdac.TinyCLR.Storage</RootNamespace>
<AssemblyName>Jacdac.TinyCLR.Storage</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{A1948822-69DD-4150-919B-F3F42EFB71CC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<LangVersion>9</LangVersion>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="StorageManager.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Jacdac.TinyCLR\Jacdac.TinyCLR.csproj">
<Project>{FEAE5AA6-08FC-449E-8CE1-6F3697211323}</Project>
<Name>Jacdac.TinyCLR</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="GHIElectronics.TinyCLR.Core">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Data.Json">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Storage">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.IO">
<Version>2.1.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="../Directory.Build.props" Condition=" '$(PackageProjectUrl)' == '' " />
<Import Project="$(TinyCLRCoreProps)" Condition="Exists('$(TinyCLRCoreProps)')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C81F0D29-5AF9-44B3-B50B-CB8126236510}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Jacdac.TinyCLR.Storage</RootNamespace>
<AssemblyName>Jacdac.TinyCLR.Storage</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{A1948822-69DD-4150-919B-F3F42EFB71CC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<LangVersion>9</LangVersion>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="StorageManager.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Jacdac.TinyCLR\Jacdac.TinyCLR.csproj">
<Project>{FEAE5AA6-08FC-449E-8CE1-6F3697211323}</Project>
<Name>Jacdac.TinyCLR</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Reference Include="GHIElectronics.TinyCLR.Data.Json, Version=2.1.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Data.Json.2.1.2\lib\net452\GHIElectronics.TinyCLR.Data.Json.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Devices.Storage, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Devices.Storage.2.1.0\lib\net452\GHIElectronics.TinyCLR.Devices.Storage.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.IO, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.IO.2.1.0\lib\net452\GHIElectronics.TinyCLR.IO.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(TinyCLRCoreProps)')" Text="$([System.String]::Format('$(ErrorText)', '$(TinyCLRCoreProps)'))" />
</Target>
</Project>

Просмотреть файл

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\GHIElectronics.TinyCLR.Core.2.1.0\build\net452\GHIElectronics.TinyCLR.Core.props" Condition="Exists('..\..\packages\GHIElectronics.TinyCLR.Core.2.1.0\build\net452\GHIElectronics.TinyCLR.Core.props')" />
<Import Project="../Directory.Build.props" Condition="'$(DirectoryBuildProps)' == ''" />
<Import Project="$(TinyCLRCoreProps)" Condition="Exists('$(TinyCLRCoreProps)')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -15,6 +16,7 @@
<ProjectTypeGuids>{A1948822-69DD-4150-919B-F3F42EFB71CC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<Description>Jacdac Runtime for TinyCLR</Description>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -63,18 +65,36 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="GHIElectronics.TinyCLR.Data.Json">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Gpio">
<Version>2.1.0</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Devices.Jacdac.Transport">
<Version>2.1.0.1</Version>
</PackageReference>
<PackageReference Include="GHIElectronics.TinyCLR.Networking.Http">
<Version>2.1.0</Version>
</PackageReference>
<Reference Include="GHIElectronics.TinyCLR.Data.Json, Version=2.1.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Data.Json.2.1.2\lib\net452\GHIElectronics.TinyCLR.Data.Json.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Devices.Gpio, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Devices.Gpio.2.1.0\lib\net452\GHIElectronics.TinyCLR.Devices.Gpio.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Devices.Jacdac.Transport, Version=2.1.0.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Devices.Jacdac.Transport.2.1.0.1\lib\net452\GHIElectronics.TinyCLR.Devices.Jacdac.Transport.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Devices.Uart, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Devices.Uart.2.1.0\lib\net452\GHIElectronics.TinyCLR.Devices.Uart.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.IO, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.IO.2.1.0\lib\net452\GHIElectronics.TinyCLR.IO.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Native, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Native.2.1.0\lib\net452\GHIElectronics.TinyCLR.Native.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Networking, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Networking.2.1.0\lib\net452\GHIElectronics.TinyCLR.Networking.dll</HintPath>
</Reference>
<Reference Include="GHIElectronics.TinyCLR.Networking.Http, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>$(TinyCLRPackages)\GHIElectronics.TinyCLR.Networking.Http.2.1.0\lib\net452\GHIElectronics.TinyCLR.Networking.Http.dll</HintPath>
</Reference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(TinyCLRCoreProps)')" Text="$([System.String]::Format('$(ErrorText)', '$(TinyCLRCoreProps)'))" />
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$authors$</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<!--<icon>jacdac.png</icon>-->
<projectUrl>$packageprojecturl$</projectUrl>
<description>$description$</description>
<copyright>$copyright$</copyright>
<tags>$packagetags$</tags>
<dependencies>
<dependency id="GHIElectronics.TinyCLR.Core" version="2.1.0" />
<dependency id="GHIElectronics.TinyCLR.Data.Json" version="2.1.2" />
<dependency id="GHIElectronics.TinyCLR.Devices.Gpio" version="2.1.0" />
<dependency id="GHIElectronics.TinyCLR.Devices.Jacdac.Transport" version="2.1.0.1" />
<dependency id="GHIElectronics.TinyCLR.Devices.Uart" version="2.1.0" />
<dependency id="GHIElectronics.TinyCLR.IO" version="2.1.0" />
<dependency id="GHIElectronics.TinyCLR.Native" version="2.1.0" />
<dependency id="GHIElectronics.TinyCLR.Networking" version="2.1.0" />
<dependency id="GHIElectronics.TinyCLR.Networking.Http" version="2.1.0" />
</dependencies>
</metadata>
</package>

Просмотреть файл

@ -10,7 +10,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.github\workflows\build.yml = .github\workflows\build.yml
CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
Directory.Build.props = Directory.Build.props
nuget.sh = nuget.sh
Jacdac.NET.Servers.AzureIotHubHealth\Jacdac.NET.Servers.AzureIotHubHealth.csproj = Jacdac.NET.Servers.AzureIotHubHealth\Jacdac.NET.Servers.AzureIotHubHealth.csproj
pack.sh = pack.sh
publish.sh = publish.sh
README.md = README.md
release.config.js = release.config.js
SECURITY.md = SECURITY.md
@ -34,15 +36,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Playground", "Ja
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.DevTools", "Jacdac.DevTools\Jacdac.DevTools.csproj", "{DAEB5ACD-399D-42E6-B0D8-B75A6BF2BB96}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{1F3B5CE4-9660-4CC6-A58B-03DACE0AAF68}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jacdac.TinyCLR", "Jacdac.TinyCLR\Jacdac.TinyCLR.csproj", "{FEAE5AA6-08FC-449E-8CE1-6F3697211323}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SnippetExtractor", "SnippetExtractor\SnippetExtractor.csproj", "{0FA43189-10C8-457B-AB5F-78644AE0A07F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jacdac.TinyCLR.Clients", "Jacdac.TinyCLR.Clients\Jacdac.TinyCLR.Clients.csproj", "{B450BA62-EF67-4ABE-8239-5343A0A72922}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Servers.SoundPlayer", "Jacdac.NET.Servers.SoundPlayer\Jacdac.NET.Servers.SoundPlayer.csproj", "{0E8311A7-323F-49C2-A1A3-E040441D9E1D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jacdac.TinyCLR.Storage", "Jacdac.TinyCLR.Storage\Jacdac.TinyCLR.Storage.csproj", "{C81F0D29-5AF9-44B3-B50B-CB8126236510}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Logging", "Jacdac.NET.Logging\Jacdac.NET.Logging.csproj", "{03C88E83-1C3D-4B4C-8627-81A24EB86AA2}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Logging", "Jacdac.NET.Logging\Jacdac.NET.Logging.csproj", "{6B6BE3F4-3EB8-422D-9E36-BA42184060E7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Servers.AzureIotHubHealth", "Jacdac.NET.Servers.AzureIotHubHealth\Jacdac.NET.Servers.AzureIotHubHealth.csproj", "{F1579953-BAE5-4F51-AF98-254F9875B95F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Servers.SoundPlayer", "Jacdac.NET.Servers.SoundPlayer\Jacdac.NET.Servers.SoundPlayer.csproj", "{38EE9E5D-84F1-4BF8-A536-33ECD7E85125}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jacdac.TinyCLR.Playground", "Jacdac.TinyCLR.Playground\Jacdac.TinyCLR.Playground.csproj", "{0233B41E-369B-483A-975C-9DAA6C00DEC7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jacdac.NET.Servers.AzureIotHubHealth", "Jacdac.NET.Servers.AzureIotHubHealth\Jacdac.NET.Servers.AzureIotHubHealth.csproj", "{F6A7A5DE-5704-445D-A41F-9B4E37BFA497}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -86,29 +92,40 @@ Global
{DAEB5ACD-399D-42E6-B0D8-B75A6BF2BB96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DAEB5ACD-399D-42E6-B0D8-B75A6BF2BB96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DAEB5ACD-399D-42E6-B0D8-B75A6BF2BB96}.Release|Any CPU.Build.0 = Release|Any CPU
{0FA43189-10C8-457B-AB5F-78644AE0A07F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0FA43189-10C8-457B-AB5F-78644AE0A07F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0FA43189-10C8-457B-AB5F-78644AE0A07F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0FA43189-10C8-457B-AB5F-78644AE0A07F}.Release|Any CPU.Build.0 = Release|Any CPU
{0E8311A7-323F-49C2-A1A3-E040441D9E1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E8311A7-323F-49C2-A1A3-E040441D9E1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E8311A7-323F-49C2-A1A3-E040441D9E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E8311A7-323F-49C2-A1A3-E040441D9E1D}.Release|Any CPU.Build.0 = Release|Any CPU
{03C88E83-1C3D-4B4C-8627-81A24EB86AA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{03C88E83-1C3D-4B4C-8627-81A24EB86AA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{03C88E83-1C3D-4B4C-8627-81A24EB86AA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{03C88E83-1C3D-4B4C-8627-81A24EB86AA2}.Release|Any CPU.Build.0 = Release|Any CPU
{F1579953-BAE5-4F51-AF98-254F9875B95F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F1579953-BAE5-4F51-AF98-254F9875B95F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F1579953-BAE5-4F51-AF98-254F9875B95F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1579953-BAE5-4F51-AF98-254F9875B95F}.Release|Any CPU.Build.0 = Release|Any CPU
{FEAE5AA6-08FC-449E-8CE1-6F3697211323}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEAE5AA6-08FC-449E-8CE1-6F3697211323}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEAE5AA6-08FC-449E-8CE1-6F3697211323}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEAE5AA6-08FC-449E-8CE1-6F3697211323}.Release|Any CPU.Build.0 = Release|Any CPU
{B450BA62-EF67-4ABE-8239-5343A0A72922}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B450BA62-EF67-4ABE-8239-5343A0A72922}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B450BA62-EF67-4ABE-8239-5343A0A72922}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B450BA62-EF67-4ABE-8239-5343A0A72922}.Release|Any CPU.Build.0 = Release|Any CPU
{C81F0D29-5AF9-44B3-B50B-CB8126236510}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C81F0D29-5AF9-44B3-B50B-CB8126236510}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C81F0D29-5AF9-44B3-B50B-CB8126236510}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C81F0D29-5AF9-44B3-B50B-CB8126236510}.Release|Any CPU.Build.0 = Release|Any CPU
{6B6BE3F4-3EB8-422D-9E36-BA42184060E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B6BE3F4-3EB8-422D-9E36-BA42184060E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B6BE3F4-3EB8-422D-9E36-BA42184060E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B6BE3F4-3EB8-422D-9E36-BA42184060E7}.Release|Any CPU.Build.0 = Release|Any CPU
{38EE9E5D-84F1-4BF8-A536-33ECD7E85125}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{38EE9E5D-84F1-4BF8-A536-33ECD7E85125}.Debug|Any CPU.Build.0 = Debug|Any CPU
{38EE9E5D-84F1-4BF8-A536-33ECD7E85125}.Release|Any CPU.ActiveCfg = Release|Any CPU
{38EE9E5D-84F1-4BF8-A536-33ECD7E85125}.Release|Any CPU.Build.0 = Release|Any CPU
{0233B41E-369B-483A-975C-9DAA6C00DEC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0233B41E-369B-483A-975C-9DAA6C00DEC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0233B41E-369B-483A-975C-9DAA6C00DEC7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{0233B41E-369B-483A-975C-9DAA6C00DEC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0233B41E-369B-483A-975C-9DAA6C00DEC7}.Release|Any CPU.Build.0 = Release|Any CPU
{0233B41E-369B-483A-975C-9DAA6C00DEC7}.Release|Any CPU.Deploy.0 = Release|Any CPU
{F6A7A5DE-5704-445D-A41F-9B4E37BFA497}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6A7A5DE-5704-445D-A41F-9B4E37BFA497}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6A7A5DE-5704-445D-A41F-9B4E37BFA497}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6A7A5DE-5704-445D-A41F-9B4E37BFA497}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{0FA43189-10C8-457B-AB5F-78644AE0A07F} = {1F3B5CE4-9660-4CC6-A58B-03DACE0AAF68}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2E68C87D-E13A-4864-B418-221FE2CD9DC9}
EndGlobalSection

Просмотреть файл

@ -4,6 +4,8 @@ using System.IO;
namespace Jacdac
{
public delegate void EventHandler(object sender, EventArgs args);
public delegate TimeSpan Clock();
public delegate Clock ClockFactory();
public delegate ushort Crc16Calculator(byte[] p, int start, int size);

Просмотреть файл

@ -1,6 +0,0 @@
dotnet clean Jacdac.sln
dotnet build Jacdac.sln -c Release
dotnet pack Jacdac.sln -c Release -o newpackages
#rm ./newpackages/Jacdac.*.Playground.exe
#dotnet nuget push ./newpackages/Jacdac.NET.*.nupkg -k $NUGET_TOKEN -s https://api.nuget.org/v3/index.json
#dotnet nuget push ./newpackages/Jacdac.DevTools*.nupkg -k $NUGET_TOKEN -s https://api.nuget.org/v3/index.json

36
pack.sh Normal file
Просмотреть файл

@ -0,0 +1,36 @@
# clean
msbuild.exe -t:clean Jacdac.sln
# restore
nuget restore Jacdac.sln -PackagesDirectory ./packages
# Jacdac.TinyCLR
cd Jacdac.TinyCLR
msbuild.exe -t:build -p:Configuration=Release Jacdac.TinyCLR.csproj -v:d
nuget.exe pack Jacdac.TinyCLR.csproj -Prop Configuration=Release -OutputDirectory ../newpackages -Verbosity detailed -PackagesDirectory ../packages
cd ..
# Jacdac.TinyCLR.Clients
cd Jacdac.TinyCLR.Clients
msbuild.exe -t:build -p:Configuration=Release Jacdac.TinyCLR.Clients.csproj -v:d
nuget.exe pack Jacdac.TinyCLR.Clients.csproj -Prop Configuration=Release -OutputDirectory ../newpackages -Verbosity detailed -PackagesDirectory ../packages
cd ..
# Jacdac.TinyCLR.Storage
cd Jacdac.TinyCLR.Storage
msbuild.exe -t:build -p:Configuration=Release Jacdac.TinyCLR.Storage.csproj -v:d
nuget.exe pack Jacdac.TinyCLR.Storage.csproj -Prop Configuration=Release -OutputDirectory ../newpackages -Verbosity detailed -PackagesDirectory ../packages
cd ..
# .NET assemblies
msbuild.exe -t:build -p:Configuration=Release Jacdac.sln
dotnet pack Jacdac.DevTools/Jacdac.DevTools.csproj -c Release -o newpackages
dotnet pack Jacdac.NET/Jacdac.NET.csproj -c Release -o newpackages
dotnet pack Jacdac.NET.Clients/Jacdac.NET.Clients.csproj -c Release -o newpackages
dotnet pack Jacdac.NET.Transports.Hf2/Jacdac.NET.Transports.Hf2.csproj -c Release -o newpackages
dotnet pack Jacdac.NET.Transports.Spi/Jacdac.NET.Transports.Spi.csproj -c Release -o newpackages
dotnet pack Jacdac.NET.Transports.WebSockets/Jacdac.NET.Transports.WebSockets.csproj -c Release -o newpackages
dotnet pack Jacdac.NET.Servers.SoundPlayer/Jacdac.NET.Servers.SoundPlayer.csproj -c Release -o newpackages
# let's see who got built
ls newpackages

3
publish.sh Normal file
Просмотреть файл

@ -0,0 +1,3 @@
dotnet nuget push ./newpackages/Jacdac.NET.*.nupkg -k $NUGET_TOKEN -s https://api.nuget.org/v3/index.json
dotnet nuget push ./newpackages/Jacdac.DevTools.*.nupkg -k $NUGET_TOKEN -s https://api.nuget.org/v3/index.json
dotnet nuget push ./newpackages/Jacdac.TinyCLR.*.nupkg -k $NUGET_TOKEN -s https://api.nuget.org/v3/index.json

Просмотреть файл

@ -48,7 +48,8 @@ module.exports = {
[
"@semantic-release/exec",
{
publishCmd: "sh ./nuget.sh",
prepareCmd: "pack.bat",
publishCmd: "publish.bat",
},
],
],