Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
80a4b68
removed unneeded controller
gcsantos-gpa Oct 16, 2025
a1e0456
Migrate Hids to EventWidgets
gcsantos-gpa Oct 22, 2025
c81cc1e
added credential retrieval for dep injection into EventWidgets
gcsantos-gpa Oct 22, 2025
c3eb155
update project deps
gcsantos-gpa Oct 22, 2025
c07bfa0
remove configuration of eventwidgets from project
gcsantos-gpa Oct 22, 2025
12f244c
added api auth (unsigned dll, please get buildbot version later)
gcsantos-gpa Oct 22, 2025
4bdf0db
added common pages for event widgets
gcsantos-gpa Oct 22, 2025
250ecac
update webpack and tsconfig for eventwidgets
gcsantos-gpa Oct 22, 2025
c473830
update nuget packages
gcsantos-gpa Nov 18, 2025
e121704
update gemstone packages
gcsantos-gpa Nov 18, 2025
aae9042
remove uneeded components
gcsantos-gpa Nov 18, 2025
0af1cf9
update eventsearch
gcsantos-gpa Nov 18, 2025
e02888b
fix package import
gcsantos-gpa Nov 18, 2025
374062d
update home
gcsantos-gpa Nov 18, 2025
ee545a6
added colors ref
gcsantos-gpa Nov 18, 2025
ccaae4c
update typings
gcsantos-gpa Nov 18, 2025
2798c75
update built pqdigest
gcsantos-gpa Nov 18, 2025
ce09a4b
update webpack to handle leaflet
gcsantos-gpa Nov 18, 2025
bcce762
Removed SQL Files
clackner-gpa Nov 28, 2025
8bffad0
Updated to slnx and fixed dev dependencies
clackner-gpa Nov 30, 2025
1f42aa0
Cleaned up sln dependencies
clackner-gpa Dec 4, 2025
01d15af
Removed extra TSX Files
clackner-gpa Dec 4, 2025
25d38b7
Added logic to edit homepage in SystemCenter
clackner-gpa Dec 4, 2025
e826f00
Added HISDS Controller
clackner-gpa Dec 4, 2025
c70dc74
Removed unneccesarry controllers
clackner-gpa Dec 4, 2025
c336048
cleande up Trending page
clackner-gpa Dec 4, 2025
e02ab09
Cleaned up typings
clackner-gpa Dec 4, 2025
61a3bec
updated TSX dependencies
clackner-gpa Dec 4, 2025
5a1a18f
Removed unused folder
clackner-gpa Dec 4, 2025
7167d1c
Updated To pull EventWidgets from Database
clackner-gpa Dec 5, 2025
544b7dc
Added Mockup Authentication
clackner-gpa Dec 5, 2025
4132c51
Fixed Layout
clackner-gpa Dec 5, 2025
9644984
Removed Title
clackner-gpa Dec 5, 2025
94f63c4
Updated missing Connection
clackner-gpa Dec 5, 2025
6dd8571
Changes required by removal of Categories DIG-14
gcsantos-gpa Dec 9, 2025
2af7dfe
Changed to prevent spurious relookups due to timefilter rerenders DIG-14
gcsantos-gpa Dec 9, 2025
4585e21
Updated moment package
gcsantos-gpa Dec 10, 2025
4a8b364
updated gemstone
gcsantos-gpa Dec 12, 2025
ffda347
change as requested by PR-8
gcsantos-gpa Dec 15, 2025
dfeeee7
added versioning information DIG-19
gcsantos-gpa Dec 15, 2025
e7146b1
added endpoint for retrieving logo based on claims DIG-19
gcsantos-gpa Dec 15, 2025
d128b68
added new info to application page DIG-19
gcsantos-gpa Dec 15, 2025
dc74dde
added gpalogo to images for use as default logo DIG-19
gcsantos-gpa Dec 16, 2025
440e83f
Changed logo to use new default DIG-19
gcsantos-gpa Dec 16, 2025
3cd0fc4
add new logo DIG-19
gcsantos-gpa Dec 17, 2025
b89f24a
update copyright
gcsantos-gpa Jan 19, 2026
9500d9e
change to return base64 as a performance optimization
gcsantos-gpa Dec 18, 2025
6dab6f1
added claim based image logo retrieval
gcsantos-gpa Dec 18, 2025
9577c72
added company model
gcsantos-gpa Dec 18, 2025
3bf8ee9
added groupsid claim to mock auth
gcsantos-gpa Dec 18, 2025
e2feb35
removed default image to prevent uneeded fetching of info image
gcsantos-gpa Dec 18, 2025
84b64a6
Replaced company with customer model
gcsantos-gpa Dec 18, 2025
6dacd6c
removed unused controllers
gcsantos-gpa Dec 18, 2025
383e7af
changed event type to gemstone controller
gcsantos-gpa Dec 18, 2025
7444d91
pqi was migrated to eventwidgets, this is no longer needed
gcsantos-gpa Dec 18, 2025
a2b7afb
removed unnecessary js files
gcsantos-gpa Dec 18, 2025
c130708
add helper method to query customer based on claims
gcsantos-gpa Dec 19, 2025
dab495b
change over meter controller to read only model with proper claims ch…
gcsantos-gpa Dec 19, 2025
e608bed
cleanup controllers
gcsantos-gpa Dec 19, 2025
4b597e1
changes to support back end meter controller changes
gcsantos-gpa Dec 19, 2025
1885704
changeover controller and add secrurity
gcsantos-gpa Dec 22, 2025
8c083d7
change front end to support change in controller
gcsantos-gpa Dec 22, 2025
3eea709
removal of HIDS credentials being returned
gcsantos-gpa Dec 22, 2025
62ebc53
changed controller name for clarity
gcsantos-gpa Dec 22, 2025
5e03729
removed global location definition to use gemstone
gcsantos-gpa Dec 22, 2025
45bc4f2
change in location controller to use readonly model
gcsantos-gpa Dec 22, 2025
8581ffd
front end change to accomodate back changes
gcsantos-gpa Dec 22, 2025
ac9961c
Changed model to avoid channel in list duplication
gcsantos-gpa Dec 23, 2025
0253500
fix restriction query
gcsantos-gpa Dec 23, 2025
29b7782
removed unneeded handle
gcsantos-gpa Dec 23, 2025
a80a03f
added retrieve customer to match retriever interface change
gcsantos-gpa Dec 24, 2025
f102fa2
update retriever for xda
gcsantos-gpa Dec 26, 2025
e3395c0
cleaned up helper methods
gcsantos-gpa Dec 26, 2025
f2cf48f
restrict HIDS controller to use claims
gcsantos-gpa Dec 28, 2025
f5ff151
added event controller to centralize many different endpoints into on…
gcsantos-gpa Dec 30, 2025
09a2297
added helper methods to check authorization
gcsantos-gpa Dec 30, 2025
99a2410
updated auths in controller for previous events
gcsantos-gpa Dec 30, 2025
e511d24
change controller and front end to be compatiable
gcsantos-gpa Dec 30, 2025
cc7f49f
cleaned up new controller
gcsantos-gpa Dec 30, 2025
2f9749d
migrated next endpoints to controller
gcsantos-gpa Dec 30, 2025
2944c78
moved back to events folder
gcsantos-gpa Dec 30, 2025
74b6d83
removed pixels as its uneeded
gcsantos-gpa Dec 30, 2025
ed6ce7e
fix meter connection factory
gcsantos-gpa Dec 30, 2025
27414c9
added control to analytics, no need to filter actual data since data …
gcsantos-gpa Dec 30, 2025
4478f7b
added customer checks to rest of endpoints in event
gcsantos-gpa Dec 30, 2025
73a73e7
added check to prevent error in case no meters are found
gcsantos-gpa Dec 30, 2025
856505c
fix for connection factories
gcsantos-gpa Dec 30, 2025
4ef57f6
removal of pixels as they are uneeded
gcsantos-gpa Dec 30, 2025
b9c184d
fix for query string not working
gcsantos-gpa Dec 30, 2025
8c397f5
fix for wrong table
gcsantos-gpa Dec 30, 2025
ec28d1f
move and migration of strikes controller to xda
gcsantos-gpa Dec 31, 2025
9cd9bc0
change to match requested key
gcsantos-gpa Dec 31, 2025
125266a
added gpa company logo as example
gcsantos-gpa Dec 31, 2025
42f305f
update to not need update to gemstone data
gcsantos-gpa Jan 9, 2026
ab67d37
added claim key const to use other places
gcsantos-gpa Jan 12, 2026
c022f99
renamed static class
gcsantos-gpa Jan 12, 2026
6168ab1
change location to reflect changes in underlying gemstone support
gcsantos-gpa Jan 12, 2026
d67569e
change meter to reflect changes in underlying gemstone support
gcsantos-gpa Jan 12, 2026
66c28ec
change channelview to reflect changes in underlying gemstone support
gcsantos-gpa Jan 12, 2026
dcbb0e4
minor cleanup
gcsantos-gpa Jan 12, 2026
6362e34
rework to use changed attribute from gemstone data
gcsantos-gpa Jan 15, 2026
b17c2b6
updated to remove uneeded trycatch
gcsantos-gpa Feb 3, 2026
bae0cb2
updated to be more elegant in pulling webroot
gcsantos-gpa Feb 3, 2026
7ad28ca
Updated XDA dep
gcsantos-gpa Feb 3, 2026
31be5fe
Add ability to read from Env vars
eauel Feb 4, 2026
5ed0617
Fix errors/issues stemming from rebase + external updates
prestoncraw Aug 12, 2026
2df0b65
remove temp comment
prestoncraw Aug 12, 2026
c5af696
Merge pull request #18 from GridProtectionAlliance/RebaseFixes
clackner-gpa Aug 13, 2026
2dbe8e5
Add new build script and fix exisiting one
prestoncraw Aug 17, 2026
6b8ca5a
Move to bootstrap 4.6.2
prestoncraw Aug 17, 2026
940cb43
remove extra semicolan
prestoncraw Aug 17, 2026
e1ab24f
Move to TimeFilter
prestoncraw Aug 17, 2026
47ff5c5
remove unused code
prestoncraw Aug 17, 2026
45a09a2
layout improvements
prestoncraw Aug 17, 2026
b3892d6
fix vulns
prestoncraw Aug 17, 2026
9e31472
Update versioning UI to match other apps
prestoncraw Aug 17, 2026
4f9c093
lock update
prestoncraw Aug 17, 2026
caa140a
Move filters into fieldsets
prestoncraw Aug 17, 2026
b2ada46
update gemstone
prestoncraw Aug 17, 2026
caa3eef
remove log
prestoncraw Aug 17, 2026
e57a7ea
Remove outdatated comment
prestoncraw Aug 17, 2026
7bbfbdd
fix circular dep
prestoncraw Aug 17, 2026
d18be9a
improve wording
prestoncraw Aug 17, 2026
296e697
Merge pull request #19 from GridProtectionAlliance/ImprovementsAndFixes
prestoncraw Aug 17, 2026
ad2eb4d
Adjust Labels for pqdigest
prestoncraw Aug 18, 2026
17ed1a3
Added Graph Security Option
clackner-gpa Aug 18, 2026
174bf9e
fix build error
prestoncraw Aug 19, 2026
41eef5a
update eventwidgets
prestoncraw Aug 19, 2026
3402d71
add logic to handle the case where a user isnt associated to a customer
prestoncraw Aug 19, 2026
1bb30a2
fix typo
prestoncraw Aug 19, 2026
67a4b9f
fix nullable typing
prestoncraw Aug 20, 2026
a2f3089
change response shape
prestoncraw Aug 20, 2026
8e498da
Add release versioning scripts
prestoncraw Aug 19, 2026
b97e895
Configure build and publish profiles
prestoncraw Aug 19, 2026
10b96f2
Add Jenkins and Docker pipeline
prestoncraw Aug 19, 2026
29d6b17
cleanup
prestoncraw Aug 19, 2026
8f7c33f
add versioning to UI
prestoncraw Aug 21, 2026
02200dd
Remove lint as lint isnt configured
prestoncraw Sep 9, 2026
ae3dd03
remove lint from jenkins
prestoncraw Sep 9, 2026
2cbe85b
Comment out docker build
prestoncraw Sep 9, 2026
033d72f
Merge pull request #20 from GridProtectionAlliance/JenkinsDocker_Support
clackner-gpa Sep 9, 2026
554a4d0
Merge pull request #22 from GridProtectionAlliance/Development
clackner-gpa Sep 11, 2026
f82f2fd
Updated Version Number
gsfbuildbot Sep 11, 2026
f76f344
Updated Dependencies
gsfbuildbot Sep 11, 2026
8d71a13
Updated EventWidgets Pointer
gsfbuildbot Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ mono_crash.*
[Rr]eleases/
x64/
x86/
build/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
Expand Down Expand Up @@ -175,6 +176,10 @@ publish/
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
!PQDigest/Properties/PublishProfiles/Development Profile PQDigest.pubxml
!PQDigest/Properties/PublishProfiles/Release Profile PQDigest.pubxml
!PQDigest/Properties/PublishProfiles/Docker Development Profile PQDigest.pubxml
!PQDigest/Properties/PublishProfiles/Docker Release Profile PQDigest.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
Expand Down Expand Up @@ -349,4 +354,4 @@ MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
/PQDigest/.config
/Publish.zip
/Publish.zip
5 changes: 5 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project>
<PropertyGroup>
<GemstoneVersion>1.0.182</GemstoneVersion>
</PropertyGroup>
</Project>
304 changes: 304 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,304 @@
import hudson.model.Result
import jenkins.model.CauseOfInterruption
import org.jenkinsci.plugins.workflow.steps.FlowInterruptedException

def haltBuildWithSuccess() {
currentBuild.rawBuild.@result = Result.SUCCESS
def cause = new CauseOfInterruption.UserInterruption("Build halted programmatically with SUCCESS status")
throw new FlowInterruptedException(Result.SUCCESS, false, cause)
}

pipeline {
agent any

environment {
github_pat = credentials('github-pat')
devBranch = "development"
mainBranch = "master"
NUGET_PACKAGES = "D:\\NuGetCache"
}

stages {
stage('Prepare Environment') {
steps {
script {
// Set current Version
def fileContent = powershell(returnStdout: true, script: '''
Get-Content -Path "./Scripts/PQDigest.version" -Raw
''').trim()
env.pqDigestVersion = fileContent
println("PQDigest version: ${env.pqDigestVersion}")
}
script {
//Set current Commit
env.GIT_COMMIT = bat(script: '@git rev-parse HEAD', returnStdout: true).trim()
println("Current Git Commit: ${env.GIT_COMMIT}")
}
script {
//Get last release from git tags
bat( script: "@git fetch origin ${env.mainBranch}:refs/remotes/origin/${env.mainBranch}")
def mainCommit = bat(script: "@git rev-parse origin/${env.mainBranch}", returnStdout: true).trim()

try {
env.LAST_RELEASE_TAG = bat(script: "@git describe --tags --abbrev=0 ${mainCommit}", returnStdout: true).trim()
}
catch (Exception ex) {
println("No tags found, setting LAST_RELEASE_TAG to v3.0.0")
env.LAST_RELEASE_TAG = "v3.0.0"
}
println("Last Release Tag: ${env.LAST_RELEASE_TAG}")
}
}
}

stage('Check Conditions') {
when {
anyOf {
not {
anyOf {
expression { env.BRANCH_NAME.startsWith("PR") }
expression { env.BRANCH_NAME == "${env.mainBranch}" }
}
}
allOf {
expression { env.BRANCH_NAME.startsWith("PR") }
expression { env.CHANGE_BRANCH != "${env.devBranch}" }
}
allOf {
expression { env.BRANCH_NAME.startsWith("PR") }
expression { env.CHANGE_TARGET != "${env.mainBranch}" }
}
}
}
steps {
haltBuildWithSuccess()
}
}

stage('Checkout Master Branch') {
when {
expression {
return env.BRANCH_NAME == "${env.mainBranch}"
}
}
steps {
script {
bat(script: "@git fetch origin ${env.BRANCH_NAME}:refs/remotes/origin/${env.BRANCH_NAME}")
bat(script: "@git checkout origin/${env.BRANCH_NAME}")
}
}
}

stage('Checkout Development Branch') {
when {
expression {
return env.CHANGE_BRANCH == "${env.devBranch}"
}
}
steps {
script {
bat(script: "@git fetch origin ${env.CHANGE_BRANCH}:refs/remotes/origin/${env.CHANGE_BRANCH}")
bat(script: "@git checkout origin/${env.CHANGE_BRANCH}")
}
}
}

stage('Checkout Submodules') {
steps {
bat(script: '@git submodule sync --recursive')
bat(script: '@git submodule update --init --recursive')
bat(script: '@git submodule status --recursive')
}
}

stage('Application Version') {
when {
expression {
return env.BRANCH_NAME != "${env.mainBranch}"
}
}
steps {
script {
env.GIT_COMMIT = bat(script: '@git rev-parse HEAD', returnStdout: true).trim()
}
powershell "powershell.exe -File .\\Scripts\\Versioning.ps1 -VersionFile './Scripts/PQDigest.version' -Commit false"
powershell "powershell.exe -File .\\Scripts\\PackageVersioning.ps1 -VersionFile './PQDigest/package.json'"
bat(script: "@git add Scripts/PQDigest.version")
bat(script: "@git add PQDigest/package.json")
bat(script: "git diff --cached --quiet || git commit -m \"Updated Version Number\"")
}
}

stage('Gemstone Updates') {
when {
expression {
return env.BRANCH_NAME != "${env.mainBranch}"
}
}
steps {
powershell "powershell.exe -File .\\Scripts\\GemstoneUpdates.ps1 -VersionFile './Directory.Build.props'"
powershell "powershell.exe -File .\\Scripts\\CreateDependencyPR.ps1 -GithubToken '${github_pat}' -DevelopmentBranchName '${devBranch}'"
script {
bat(script: "@git add Directory.Build.props")
// Avoid an empty commit, which would return a failure code when the pointer is current.
bat(script: "git diff --cached --quiet || git commit -m \"Updated Dependencies\"")
}
}
}

stage('EventWidgets Pointer Update') {
when {
expression {
return env.BRANCH_NAME != "${env.mainBranch}"
}
}
steps {
dir('PQDigest/EventWidgets') {
bat(script: '@git fetch origin main')
bat(script: '@git checkout origin/main')
}
script {
bat(script: '@git add PQDigest/EventWidgets')
// Avoid an empty commit, which would return a failure code when the pointer is current.
bat(script: 'git diff --cached --quiet || git commit -m "Updated EventWidgets Pointer"')
}
}
}

stage('Push Changes') {
when {
allOf {
expression {
return env.BRANCH_NAME != "${env.mainBranch}"
}
expression {
return bat(script: '@git rev-parse HEAD', returnStdout: true).trim() != env.GIT_COMMIT
}
}
}
steps {
powershell "git push origin HEAD:${env.devBranch}"
haltBuildWithSuccess()
}
}

stage('Build Production UI') {
steps {
dir('PQDigest') {
bat(script: 'npm run build')
}
}
}

stage('Build Docker Images') {
when {
anyOf {
expression {
return env.CHANGE_BRANCH == "${env.devBranch}"
}
expression {
return env.BRANCH_NAME == "${env.mainBranch}"
}
}
}
steps {
script {
//env.pqDigestDockerTag = env.CHANGE_BRANCH == "${env.devBranch}" ? "${env.pqDigestVersion}a" : env.pqDigestVersion
//println("Building PQDigest Docker image tag: pqdigest:${env.pqDigestDockerTag}")
println("Skipping docker stage intentionally")
}

/*powershell """
dotnet publish '.\\PQDigest\\PQDigest.csproj' `
--configuration Release `
'-p:PublishProfile=Docker Release Profile PQDigest'
"""

powershell "docker build --build-arg CONFIGURATION=Release -f .\\PQDigest.dockerfile -t pqdigest:${env.pqDigestDockerTag} ."
*/
}
}

stage('Publish Application') {
steps {
powershell """
dotnet publish '.\\PQDigest\\PQDigest.csproj' `
'-p:PublishProfile=Release Profile PQDigest'
"""
}
}

stage('Package Application') {
steps {
script {
if (!env.WEBHOST_DELIVERY_DIRECTORY?.trim()) {
error('WEBHOST_DELIVERY_DIRECTORY is not configured in Jenkins.')
}

env.archiveName = env.BRANCH_NAME == "${env.mainBranch}" ?
"PQDigest_v${env.pqDigestVersion}.zip" :
"PQDigest_v${env.pqDigestVersion}a.zip"
}
powershell """
[xml]\$publishProfile = Get-Content `
-LiteralPath '.\\PQDigest\\Properties\\PublishProfiles\\Release Profile PQDigest.pubxml' `
-Raw
\$publishDir = (\$publishProfile.Project.PropertyGroup |
Where-Object { \$_.PublishDir }).PublishDir

Compress-Archive `
-Path (Join-Path '.\\PQDigest' "\$publishDir*") `
-DestinationPath '${WORKSPACE}\\${env.archiveName}' `
-Force
"""
}
}

stage('Comment Prerelease') {
when {
expression {
return env.CHANGE_BRANCH == "${env.devBranch}"
}
}
steps {
powershell """
powershell.exe -File .\\Scripts\\GithubComment.ps1 `
-Comment 'Prerelease PQDigest v${env.pqDigestVersion}a is available.' `
-BranchName '${env.devBranch}' `
-GithubToken '${github_pat}' `
-RepoOwner 'GridProtectionAlliance' `
-RepoName 'PQDigest'
"""
}
}

stage('Deploy Prerelease') {
when {
expression {
return env.CHANGE_BRANCH == "${env.devBranch}"
}
}
steps {
powershell "Move-Item -Path '${WORKSPACE}\\${env.archiveName}' -Destination '${env.WEBHOST_DELIVERY_DIRECTORY}\\PQDigest\\PreRelease\\${env.archiveName}' -Force"
}
}

stage('Deploy Release') {
when {
allOf {
expression {
return env.BRANCH_NAME == "${env.mainBranch}"
}
expression {
return "v${env.pqDigestVersion}" != env.LAST_RELEASE_TAG
}
}
}
steps {
powershell "Move-Item -Path '${WORKSPACE}\\${env.archiveName}' -Destination '${env.WEBHOST_DELIVERY_DIRECTORY}\\PQDigest\\${env.archiveName}' -Force"
powershell "git tag -a v${env.pqDigestVersion} -m 'Version ${env.pqDigestVersion} release'"
powershell "git push origin --tags"
}
}
}
}
7 changes: 6 additions & 1 deletion Libraries/FaultAlgorithms/FaultAlgorithms.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Configurations>Debug;Development;Release</Configurations>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Gemstone.Numeric" Version="1.0.180" />
<ProjectReference Include="..\..\..\Gemstone\numeric\src\Gemstone.Numeric\Gemstone.Numeric.csproj" Condition="'$(Configuration)'=='Development'">
<Private>True</Private>
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
</ProjectReference>
<PackageReference Include="Gemstone.Numeric" Version="$(GemstoneVersion)" Condition="'$(Configuration)'!='Development'" />
</ItemGroup>

</Project>
13 changes: 11 additions & 2 deletions Libraries/FaultData/FaultData.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,20 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Configurations>Debug;Development;Release</Configurations>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Gemstone.Data" Version="1.0.180" />
<PackageReference Include="Gemstone.PQDIF" Version="1.0.180" />
<ProjectReference Include="..\..\..\Gemstone\data\src\Gemstone.Data\Gemstone.Data.csproj" Condition="'$(Configuration)'=='Development'">
<Private>True</Private>
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
</ProjectReference>
<PackageReference Include="Gemstone.Data" Version="$(GemstoneVersion)" Condition="'$(Configuration)'!='Development'" />
<ProjectReference Include="..\..\..\Gemstone\pqdif\src\Gemstone.PQDIF\Gemstone.PQDIF.csproj" Condition="'$(Configuration)'=='Development'">
<Private>True</Private>
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
</ProjectReference>
<PackageReference Include="Gemstone.PQDIF" Version="$(GemstoneVersion)" Condition="'$(Configuration)'!='Development'" />
</ItemGroup>

<ItemGroup>
Expand Down
7 changes: 6 additions & 1 deletion Libraries/openHistorian.XDALink/openHistorian.XDALink.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Configurations>Debug;Development;Release</Configurations>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Gemstone.Common" Version="1.0.180" />
<ProjectReference Include="..\..\..\Gemstone\common\src\Gemstone\Gemstone.Common.csproj" Condition="'$(Configuration)'=='Development'">
<Private>True</Private>
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
</ProjectReference>
<PackageReference Include="Gemstone.Common" Version="$(GemstoneVersion)" Condition="'$(Configuration)'!='Development'" />
<PackageReference Include="Gemstone.SnapDB" Version="1.0.103" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
Expand Down
Loading