Added a version number display (#78)
* Added a version number * Appends version number when loading subpages
This commit is contained in:
6
.github/workflows/BuildDockerOnTag.yml
vendored
6
.github/workflows/BuildDockerOnTag.yml
vendored
@@ -14,6 +14,12 @@ jobs:
|
|||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
|
-
|
||||||
|
name: Install dotnet tool
|
||||||
|
run: dotnet tool install -g dotnetCampus.TagToVersion
|
||||||
|
-
|
||||||
|
name: Set tag to version
|
||||||
|
run: dotnet TagToVersion -t ${{ github.ref }}
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v2
|
||||||
|
3
Directory.Build.props
Normal file
3
Directory.Build.props
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<Project>
|
||||||
|
<Import Project="build\Version.props" />
|
||||||
|
</Project>
|
5
build/Version.props
Normal file
5
build/Version.props
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<Version>1.5.0</Version>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
@@ -2,6 +2,8 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using gaseous_tools;
|
using gaseous_tools;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@@ -49,6 +51,22 @@ namespace gaseous_server.Controllers
|
|||||||
return ReturnValue;
|
return ReturnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
[Route("Version")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
public Version GetSystemVersion() {
|
||||||
|
return Assembly.GetExecutingAssembly().GetName().Version;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
[Route("VersionFile")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
public FileContentResult GetSystemVersionAsFile() {
|
||||||
|
string ver = "var AppVersion = \"" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + "\"";
|
||||||
|
byte[] bytes = Encoding.UTF8.GetBytes(ver);
|
||||||
|
return File(bytes, "text/javascript");
|
||||||
|
}
|
||||||
|
|
||||||
private SystemInfo.PathItem GetDisk(string Path)
|
private SystemInfo.PathItem GetDisk(string Path)
|
||||||
{
|
{
|
||||||
SystemInfo.PathItem pathItem = new SystemInfo.PathItem {
|
SystemInfo.PathItem pathItem = new SystemInfo.PathItem {
|
||||||
@@ -63,6 +81,12 @@ namespace gaseous_server.Controllers
|
|||||||
|
|
||||||
public class SystemInfo
|
public class SystemInfo
|
||||||
{
|
{
|
||||||
|
public Version ApplicationVersion {
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Assembly.GetExecutingAssembly().GetName().Version;
|
||||||
|
}
|
||||||
|
}
|
||||||
public List<PathItem>? Paths { get; set; }
|
public List<PathItem>? Paths { get; set; }
|
||||||
public long DatabaseSize { get; set; }
|
public long DatabaseSize { get; set; }
|
||||||
public List<PlatformStatisticsItem>? PlatformStatistics { get; set; }
|
public List<PlatformStatisticsItem>? PlatformStatistics { get; set; }
|
||||||
|
@@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Mvc;
|
|||||||
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
||||||
using Microsoft.OpenApi.Models;
|
using Microsoft.OpenApi.Models;
|
||||||
|
|
||||||
Logging.Log(Logging.LogType.Information, "Startup", "Starting Gaseous Server");
|
Logging.Log(Logging.LogType.Information, "Startup", "Starting Gaseous Server " + Assembly.GetExecutingAssembly().GetName().Version);
|
||||||
|
|
||||||
// set up db
|
// set up db
|
||||||
Database db = new gaseous_tools.Database(Database.databaseType.MySql, Config.DatabaseConfiguration.ConnectionString);
|
Database db = new gaseous_tools.Database(Database.databaseType.MySql, Config.DatabaseConfiguration.ConnectionString);
|
||||||
|
@@ -2,23 +2,42 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<link type="text/css" rel="stylesheet" href="/styles/style.css" />
|
<script src="/api/v1/System/VersionFile"></script>
|
||||||
|
<link type="text/css" rel="stylesheet" dat-href="/styles/style.css" />
|
||||||
<script src="/scripts/jquery-3.6.0.min.js"></script>
|
<script src="/scripts/jquery-3.6.0.min.js"></script>
|
||||||
<script src="/scripts/moment.js"></script>
|
<script src="/scripts/moment.js"></script>
|
||||||
<link href="/styles/select2.min.css" rel="stylesheet" />
|
<link href="/styles/select2.min.css" rel="stylesheet" />
|
||||||
<link rel="stylesheet" href="/styles/dropzone.min.css" type="text/css" />
|
<link href="/styles/dropzone.min.css" rel="stylesheet" type="text/css" />
|
||||||
<script src="/scripts/jquery.lazy.min.js"></script>
|
<script src="/scripts/jquery.lazy.min.js"></script>
|
||||||
<script src="/scripts/jquery.lazy.plugins.min.js"></script>
|
<script src="/scripts/jquery.lazy.plugins.min.js"></script>
|
||||||
<script src="/scripts/select2.min.js"></script>
|
<script src="/scripts/select2.min.js"></script>
|
||||||
<script src="/scripts/dropzone.min.js"></script>
|
<script src="/scripts/dropzone.min.js"></script>
|
||||||
<script src="/scripts/main.js" type="text/javascript"></script>
|
<script dat-src="/scripts/main.js" type="text/javascript"></script>
|
||||||
<script src="/scripts/filterformating.js" type="text/javascript"></script>
|
<script dat-src="/scripts/filterformating.js" type="text/javascript"></script>
|
||||||
<script src="/scripts/gamesformating.js" type="text/javascript"></script>
|
<script dat-src="/scripts/gamesformating.js" type="text/javascript"></script>
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||||
<link rel="manifest" href="/site.webmanifest">
|
<link rel="manifest" href="/site.webmanifest">
|
||||||
<title>Gaseous Games</title>
|
<title>Gaseous Games</title>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
// update links
|
||||||
|
var headLinks = document.getElementsByTagName('link');
|
||||||
|
for (var i = 0; i < headLinks.length; i++) {
|
||||||
|
if (headLinks[i].getAttribute('dat-href')) {
|
||||||
|
headLinks[i].setAttribute('href', headLinks[i].getAttribute('dat-href') + '?v=' + AppVersion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// update script src
|
||||||
|
var headLinks = document.getElementsByTagName('script');
|
||||||
|
for (var i = 0; i < headLinks.length; i++) {
|
||||||
|
if (headLinks[i].getAttribute('dat-src')) {
|
||||||
|
headLinks[i].setAttribute('src', headLinks[i].getAttribute('dat-src') + '?v=' + AppVersion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="banner_icon" onclick="window.location.href = '/index.html';">
|
<div id="banner_icon" onclick="window.location.href = '/index.html';">
|
||||||
@@ -78,6 +97,7 @@
|
|||||||
|
|
||||||
<script type="text/javascript">var modalVariables = null;
|
<script type="text/javascript">var modalVariables = null;
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
var myParam = getQueryString('page', 'string');
|
var myParam = getQueryString('page', 'string');
|
||||||
|
|
||||||
@@ -85,7 +105,8 @@
|
|||||||
myParam = 'home';
|
myParam = 'home';
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#content').load('/pages/' + myParam + '.html');
|
$('#content').load('/pages/' + myParam + '.html?v=' + AppVersion);
|
||||||
});</script>
|
});
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -55,7 +55,7 @@
|
|||||||
|
|
||||||
subModalVariables = modalVariables;
|
subModalVariables = modalVariables;
|
||||||
|
|
||||||
$('#modal-content-sub').load('/pages/dialogs/' + dialogPage + '.html');
|
$('#modal-content-sub').load('/pages/dialogs/' + dialogPage + '.html?v=' + AppVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeSubDialog() {
|
function closeSubDialog() {
|
||||||
|
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
switch (getQueryString('engine', 'string')) {
|
switch (getQueryString('engine', 'string')) {
|
||||||
case 'EmulatorJS':
|
case 'EmulatorJS':
|
||||||
$('#emulator').load('/pages/EmulatorJS.html');
|
$('#emulator').load('/pages/EmulatorJS.html?v=' + AppVersion);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@@ -42,6 +42,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#properties_bodypanel').load('/pages/settings/' + TabName + '.html');
|
$('#properties_bodypanel').load('/pages/settings/' + TabName + '.html?v=' + AppVersion);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -11,6 +11,10 @@
|
|||||||
<th>Bugs and Feature Requests</th>
|
<th>Bugs and Feature Requests</th>
|
||||||
<td><a href="https://github.com/gaseous-project/gaseous-server/issues" class="romlink">https://github.com/gaseous-project/gaseous-server/issues</a></td>
|
<td><a href="https://github.com/gaseous-project/gaseous-server/issues" class="romlink">https://github.com/gaseous-project/gaseous-server/issues</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Server Version</th>
|
||||||
|
<td id="settings_appversion"></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<h3>Data Sources</h2>
|
<h3>Data Sources</h2>
|
||||||
@@ -39,3 +43,12 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
ajaxCall('/api/v1/System/Version', 'GET', function (result) {
|
||||||
|
if (result) {
|
||||||
|
var versionBox = document.getElementById('settings_appversion');
|
||||||
|
versionBox.innerHTML = result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
@@ -103,7 +103,7 @@ function showDialog(dialogPage, variables) {
|
|||||||
|
|
||||||
modalVariables = variables;
|
modalVariables = variables;
|
||||||
|
|
||||||
$('#modal-content').load('/pages/dialogs/' + dialogPage + '.html');
|
$('#modal-content').load('/pages/dialogs/' + dialogPage + '.html?v=' + AppVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeDialog() {
|
function closeDialog() {
|
||||||
@@ -145,7 +145,7 @@ function showSubDialog(dialogPage, variables) {
|
|||||||
|
|
||||||
subModalVariables = variables;
|
subModalVariables = variables;
|
||||||
|
|
||||||
$('#modal-content-sub').load('/pages/dialogs/' + dialogPage + '.html');
|
$('#modal-content-sub').load('/pages/dialogs/' + dialogPage + '.html?v=' + AppVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeSubDialog() {
|
function closeSubDialog() {
|
||||||
|
Reference in New Issue
Block a user