mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-12 03:05:01 +00:00
Compare commits
1 Commits
feature-2.
...
2.0.0-alph
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d6f7a12eb9 |
66
.github/workflows/docker.yml
vendored
66
.github/workflows/docker.yml
vendored
@@ -22,7 +22,7 @@ env:
|
||||
jobs:
|
||||
Build_Project_4-Series:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set Version Number
|
||||
id: setVersion
|
||||
@@ -57,66 +57,20 @@ jobs:
|
||||
$phase = 'beta'
|
||||
$newVersionString = "{0}-{1}-{2}" -f $newVersion, $phase, $Env:GITHUB_RUN_NUMBER
|
||||
}
|
||||
}
|
||||
echo "version=$newVersionString" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
|
||||
}
|
||||
|
||||
echo "version=$newVersionString" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
|
||||
- name: Setup MS Build
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
- name: restore Nuget Packages
|
||||
run: nuget restore .\$($Env:SOLUTION_FILE).sln
|
||||
# Build the solutions in the docker image
|
||||
- name: Build Solution
|
||||
- name: Build Solution
|
||||
run: msbuild .\$($Env:SOLUTION_FILE).sln /p:Platform="Any CPU" /p:Configuration="Debug" /p:Version="${{ steps.setVersion.outputs.version }}" -m
|
||||
- name: Debug CPZ Files
|
||||
shell: powershell
|
||||
run: |
|
||||
Write-Host "Checking for CPZ files..."
|
||||
|
||||
# First, let's find out the actual directory structure
|
||||
Write-Host "Current directory: $(Get-Location)"
|
||||
Write-Host "Directory structure:"
|
||||
Get-ChildItem -Path . -Directory -Recurse -Depth 2 | ForEach-Object { Write-Host $_.FullName }
|
||||
|
||||
# Look for all CPZ files in the repository
|
||||
Write-Host "Searching for all CPZ files in the repository:"
|
||||
$cpzFiles = Get-ChildItem -Path . -Recurse -Filter "*.cpz"
|
||||
if ($cpzFiles.Count -eq 0) {
|
||||
Write-Host "No CPZ files found in the repository."
|
||||
} else {
|
||||
Write-Host "Found $($cpzFiles.Count) CPZ files:"
|
||||
foreach ($file in $cpzFiles) {
|
||||
Write-Host " $($file.FullName)"
|
||||
}
|
||||
|
||||
# Create output directory if it doesn't exist
|
||||
$outputDir = ".\output\build"
|
||||
if (-not (Test-Path $outputDir)) {
|
||||
New-Item -ItemType Directory -Path $outputDir -Force
|
||||
Write-Host "Created output directory: $outputDir"
|
||||
}
|
||||
|
||||
# Copy all CPZ files to the output directory
|
||||
foreach ($file in $cpzFiles) {
|
||||
$destPath = Join-Path $outputDir $file.Name
|
||||
Write-Host "Copying $($file.FullName) to $destPath"
|
||||
Copy-Item -Path $file.FullName -Destination $destPath -Force
|
||||
}
|
||||
}
|
||||
- name: Pack Solution
|
||||
run: |
|
||||
dotnet pack .\$($Env:SOLUTION_FILE).sln --configuration $env:BUILD_TYPE --output ./output /p:Version="${{ steps.setVersion.outputs.version }}"
|
||||
|
||||
# Ensure CPZ files are included in the package
|
||||
$cpzFiles = Get-ChildItem -Path . -Recurse | Where-Object { $_.Extension -eq ".cpz" }
|
||||
if ($cpzFiles.Count -eq 0) {
|
||||
Write-Host "WARNING: No CPZ files found!"
|
||||
} else {
|
||||
Write-Host "Found $($cpzFiles.Count) CPZ files"
|
||||
foreach ($file in $cpzFiles) {
|
||||
Write-Host "CPZ file: $($file.FullName)"
|
||||
}
|
||||
}
|
||||
run: dotnet pack .\$($Env:SOLUTION_FILE).sln --configuration $env:BUILD_TYPE --output ./output /p:Version="${{ steps.setVersion.outputs.version }}"
|
||||
- name: Create tag for non-rc builds
|
||||
if: contains(steps.setVersion.outputs.version, 'alpha')
|
||||
if: ${{ !contains(steps.setVersion.outputs.version, 'rc') }}
|
||||
run: |
|
||||
git tag ${{ steps.setVersion.outputs.version }}
|
||||
git push --tags origin
|
||||
@@ -130,11 +84,11 @@ jobs:
|
||||
prerelease: ${{contains('debug', env.BUILD_TYPE)}}
|
||||
tag: ${{ steps.setVersion.outputs.version }}
|
||||
- name: Setup Nuget
|
||||
run: |
|
||||
run: |
|
||||
nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username pepperdash -password ${{ secrets.GITHUB_TOKEN }}
|
||||
nuget setApiKey ${{ secrets.GITHUB_TOKEN }} -Source github
|
||||
nuget setApiKey ${{ secrets.NUGET_API_KEY }} -Source https://api.nuget.org/v3/index.json
|
||||
nuget setApiKey ${{ secrets.NUGET_API_KEY }} -Source https://api.nuget.org/v3/index.json
|
||||
- name: Publish to Nuget
|
||||
run: nuget push .\output\*.nupkg -Source https://api.nuget.org/v3/index.json
|
||||
- name: Publish to Github Nuget
|
||||
run: nuget push .\output\*.nupkg -Source github
|
||||
run: nuget push .\output\*.nupkg -Source github
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
Provided under MIT license
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
PepperDash Essentials is an open source Crestron framework that can be configured as a standalone program capable of running a wide variety of system designs and can also be utilized as a plug-in architecture to augment other Simpl# Pro and Simpl Windows programs.
|
||||
|
||||
@@ -1,19 +1,6 @@
|
||||
<Project>
|
||||
<ItemGroup>
|
||||
<!-- Include CPZ files from multiple possible locations -->
|
||||
<None Include="$(TargetDir)*.cpz" Condition="$(ProjectType) == 'Program'">
|
||||
<Pack>true</Pack>
|
||||
<PackagePath>build;</PackagePath>
|
||||
</None>
|
||||
<None Include="$(OutputPath)*.cpz" Condition="$(ProjectType) == 'Program'">
|
||||
<Pack>true</Pack>
|
||||
<PackagePath>build;</PackagePath>
|
||||
</None>
|
||||
<None Include="$(MSBuildProjectDirectory)\bin\$(Configuration)\**\*.cpz" Condition="$(ProjectType) == 'Program'">
|
||||
<Pack>true</Pack>
|
||||
<PackagePath>build;</PackagePath>
|
||||
</None>
|
||||
<None Include="$(PackageOutputPath)\build\*.cpz" Condition="$(ProjectType) == 'Program'">
|
||||
<None Include="$(PackageOutputPath)\$(AssemblyName)\*.cpz" Condition="$(ProjectType) == 'Program'">
|
||||
<Pack>true</Pack>
|
||||
<PackagePath>build;</PackagePath>
|
||||
</None>
|
||||
@@ -23,94 +10,17 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Target Name="Create CPLZ" AfterTargets="Build; AfterRebuild" Condition="$(ProjectType) == 'ProgramLibrary' And $(TargetDir) != ''">
|
||||
<Message Text="Creating CPLZ $(TargetDir)" Importance="high" />
|
||||
<Message Text="PackageOutputPath: $(PackageOutputPath)" Importance="high" />
|
||||
<Message Text="AssemblyName: $(AssemblyName)" Importance="high" />
|
||||
<Message Text="TargetName: $(TargetName)" Importance="high" />
|
||||
<Message Text="Version: $(Version)" Importance="high" />
|
||||
<Message Text="TargetFramework: $(TargetFramework)" Importance="high" />
|
||||
<Message Text="Creating CPLZ $(TargetDir)"></Message>
|
||||
<MakeDir Directories="$(PackageOutputPath)" Condition="!Exists($(PackageOutputPath))" />
|
||||
<MakeDir Directories="$(PackageOutputPath)\$(AssemblyName)" Condition="!Exists('$(PackageOutputPath)\$(AssemblyName)')" />
|
||||
<ZipDirectory SourceDirectory="$(TargetDir)" DestinationFile="$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cplz" Overwrite="true"/>
|
||||
</Target>
|
||||
<Target Name="Debug Variables" BeforeTargets="Build">
|
||||
<Message Text="================ Debug Variables ================" Importance="high" />
|
||||
<Message Text="ProjectType: '$(ProjectType)'" Importance="high" />
|
||||
<Message Text="TargetFramework: '$(TargetFramework)'" Importance="high" />
|
||||
<Message Text="TargetDir: '$(TargetDir)'" Importance="high" />
|
||||
<Message Text="===============================================" Importance="high" />
|
||||
<Target Name="Copy CPZ NET6" AfterTargets="SimplSharpPostProcess" Condition="($(ProjectType) == 'Program' And ( '$(TargetFramework)' == 'net6.0' ) Or ( '$(TargetFramework)' == 'net8.0' ))">
|
||||
<Message Text="Copying CPZ"></Message>
|
||||
<Move SourceFiles="$(TargetDir)$(TargetName).cpz" DestinationFiles="$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cpz" />
|
||||
</Target>
|
||||
<Target Name="Copy CPZ NET472"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="BuildDependencies"
|
||||
Condition="'$(ProjectType)' == 'Program' And '$(TargetFramework)' == 'net472'">
|
||||
<Message Text="========================================" Importance="high" />
|
||||
<Message Text="Starting CPZ Build Process for NET472" Importance="high" />
|
||||
<Message Text="ProjectType: '$(ProjectType)'" Importance="high" />
|
||||
<Message Text="TargetFramework: '$(TargetFramework)'" Importance="high" />
|
||||
<Message Text="========================================" Importance="high" />
|
||||
|
||||
<!-- Create output directory -->
|
||||
<MakeDir Directories="$(PackageOutputPath)\$(AssemblyName)"
|
||||
Condition="!Exists('$(PackageOutputPath)\$(AssemblyName)')" />
|
||||
|
||||
<!-- Copy the CPZ file -->
|
||||
<Copy SourceFiles="$(TargetDir)$(TargetName).cpz"
|
||||
DestinationFiles="$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cpz"
|
||||
Condition="Exists('$(TargetDir)$(TargetName).cpz')" />
|
||||
|
||||
<Message Text="CPZ Build completed for NET472"
|
||||
Condition="Exists('$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cpz')"
|
||||
Importance="high" />
|
||||
<Target Name="Copy CPZ NET47" AfterTargets="SimplSharpPostProcess47" Condition="($(ProjectType) == 'Program' And ( '$(TargetFramework)' != 'net6.0' ) And ( '$(TargetFramework)' != 'net8.0' ))">
|
||||
<Message Text="Copying CPZ"></Message>
|
||||
<Move SourceFiles="$(TargetDir)$(TargetName).cpz" DestinationFiles="$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cpz" />
|
||||
</Target>
|
||||
<Target Name="Copy CPZ NET6"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="BuildDependencies"
|
||||
Condition="'$(ProjectType)' == 'Program' And ('$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net8.0')">
|
||||
<Message Text="========================================" Importance="high" />
|
||||
<Message Text="Starting CPZ Build Process" Importance="high" />
|
||||
<Message Text="ProjectType: '$(ProjectType)'" Importance="high" />
|
||||
<Message Text="TargetFramework: '$(TargetFramework)'" Importance="high" />
|
||||
<Message Text="MSBuildProjectDirectory: '$(MSBuildProjectDirectory)'" Importance="high" />
|
||||
<Message Text="PATH: '$(PATH)'" Importance="high" />
|
||||
<Message Text="========================================" Importance="high" />
|
||||
|
||||
<!-- Check for SimplSharp compiler -->
|
||||
<PropertyGroup>
|
||||
<SimplSharpCompilerPath>$(HOME)/.crestron/SimplSharpPro/SimplSharpCompiler</SimplSharpCompilerPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Warning Text="SimplSharpCompiler not found at: $(SimplSharpCompilerPath)"
|
||||
Condition="!Exists('$(SimplSharpCompilerPath)')" />
|
||||
|
||||
<!-- Run the SimplSharp compiler to create CPZ -->
|
||||
<Exec Command=""$(SimplSharpCompilerPath)" "$(MSBuildProjectDirectory)" "$(TargetDir)""
|
||||
IgnoreExitCode="false"
|
||||
WorkingDirectory="$(MSBuildProjectDirectory)"
|
||||
ConsoleToMSBuild="true"
|
||||
Condition="Exists('$(SimplSharpCompilerPath)')">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
|
||||
</Exec>
|
||||
|
||||
<Message Text="SimplSharp Output: $(OutputOfExec)" Importance="high" />
|
||||
|
||||
<!-- Create output directory -->
|
||||
<MakeDir Directories="$(PackageOutputPath)\$(AssemblyName)"
|
||||
Condition="!Exists('$(PackageOutputPath)\$(AssemblyName)')" />
|
||||
|
||||
<!-- Copy the CPZ file -->
|
||||
<Copy SourceFiles="$(TargetDir)$(TargetName).cpz"
|
||||
DestinationFiles="$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cpz"
|
||||
Condition="Exists('$(TargetDir)$(TargetName).cpz')" />
|
||||
|
||||
<Message Text="CPZ Build completed"
|
||||
Condition="Exists('$(PackageOutputPath)\$(AssemblyName)\$(TargetName).$(Version).$(TargetFramework).cpz')"
|
||||
Importance="high" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildDependencies">
|
||||
<MSBuild Projects="@(ProjectReference)"
|
||||
Targets="Build"
|
||||
BuildInParallel="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Crestron.SimplSharp;
|
||||
using Crestron.SimplSharp.Reflection;
|
||||
using Crestron.SimplSharp.Scheduler;
|
||||
|
||||
using PepperDash.Core;
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.66" />
|
||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-451" />
|
||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
|
||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-455" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<ProjectReference Include="..\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.66" />
|
||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-451" />
|
||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
|
||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-455" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Crestron.SimplSharp.CrestronIO;
|
||||
using Crestron.SimplSharp.Reflection;
|
||||
using System.Reflection;
|
||||
using Crestron.SimplSharpPro.DeviceSupport;
|
||||
using Crestron.SimplSharp;
|
||||
using PepperDash.Core;
|
||||
|
||||
@@ -173,7 +173,7 @@ namespace PepperDash.Essentials
|
||||
|
||||
var dirSeparator = Global.DirectorySeparator;
|
||||
|
||||
string directoryPrefix;
|
||||
string directoryPrefix;
|
||||
|
||||
directoryPrefix = Directory.GetApplicationRootDirectory();
|
||||
|
||||
@@ -181,24 +181,10 @@ namespace PepperDash.Essentials
|
||||
|
||||
if (CrestronEnvironment.DevicePlatform != eDevicePlatform.Server) // Handles 3-series running Windows CE OS
|
||||
{
|
||||
string userFolder;
|
||||
string nvramFolder;
|
||||
bool is4series = false;
|
||||
string userFolder = "user";
|
||||
string nvramFolder = "nvram";
|
||||
|
||||
if (eCrestronSeries.Series4 == (Global.ProcessorSeries & eCrestronSeries.Series4)) // Handle 4-series
|
||||
{
|
||||
is4series = true;
|
||||
// Set path to user/
|
||||
userFolder = "user";
|
||||
nvramFolder = "nvram";
|
||||
}
|
||||
else
|
||||
{
|
||||
userFolder = "User";
|
||||
nvramFolder = "Nvram";
|
||||
}
|
||||
|
||||
Debug.LogMessage(LogEventLevel.Information, "Starting Essentials v{version:l} on {processorSeries:l} Appliance", Global.AssemblyVersion, is4series ? "4-series" : "3-series");
|
||||
Debug.LogMessage(LogEventLevel.Information, "Starting Essentials v{version:l} on {processorSeries:l} Appliance", Global.AssemblyVersion, "4-series");
|
||||
//Debug.LogMessage(LogEventLevel.Information, "Starting Essentials v{0} on {1} Appliance", Global.AssemblyVersion, is4series ? "4-series" : "3-series");
|
||||
|
||||
// Check if User/ProgramX exists
|
||||
@@ -360,6 +346,7 @@ namespace PepperDash.Essentials
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
void Load()
|
||||
{
|
||||
LoadDevices();
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<PropertyGroup>
|
||||
<RootNamespace>PepperDash.Essentials</RootNamespace>
|
||||
<AssemblyName>PepperDashEssentials</AssemblyName>
|
||||
<TargetFrameworks>net472</TargetFrameworks>
|
||||
<TargetFrameworks>net472;net6</TargetFrameworks>
|
||||
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
|
||||
<OutputPath>bin\$(Configuration)\</OutputPath>
|
||||
<Title>PepperDash Essentials</Title>
|
||||
@@ -48,8 +48,8 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Crestron.SimplSharp.SDK.Program" Version="2.20.66" />
|
||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-451" />
|
||||
<PackageReference Include="Crestron.SimplSharp.SDK.Program" Version="2.1.90" />
|
||||
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-455" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj" />
|
||||
|
||||
Reference in New Issue
Block a user