Skip to content

Commit 40fb672

Browse files
committed
commit: fox for issue #2201
1 parent 09fe426 commit 40fb672

1 file changed

Lines changed: 42 additions & 11 deletions

File tree

cli/src/commands/wheels/version.cfc

Lines changed: 42 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ component aliases="-v,--version" extends="base" {
1414
*/
1515
public void function run() {
1616
try {
17+
requireWheelsApp(getCWD());
1718
// Get server information
1819
local.serverInfo = getServerInfo();
1920

@@ -33,25 +34,55 @@ component aliases="-v,--version" extends="base" {
3334
name = "Unknown",
3435
version = "Unknown"
3536
};
36-
37+
3738
try {
38-
// Try to get server info
39-
local.serverDetails = serverService.resolveServerDetails(serverProps = {webroot = getCWD()});
40-
if (StructKeyExists(local.serverDetails, "serverInfo")) {
41-
local.result.name = local.serverDetails.serverInfo.name ?: "Unknown";
42-
local.result.version = local.serverDetails.serverInfo.version ?: "Unknown";
39+
local.serverDetails = serverService.resolveServerDetails({});
40+
41+
// Check if SERVERINFO exists (it contains engineName and engineVersion)
42+
if (StructKeyExists(local.serverDetails, "SERVERINFO")) {
43+
local.serverInfo = local.serverDetails.SERVERINFO;
44+
45+
if (StructKeyExists(local.serverInfo, "engineName") && StructKeyExists(local.serverInfo, "engineVersion")) {
46+
// Get engine name
47+
if (local.serverInfo.engineName == "lucee") {
48+
local.result.name = "Lucee";
49+
} else if (local.serverInfo.engineName == "adobe") {
50+
local.result.name = "Adobe ColdFusion";
51+
} else if (local.serverInfo.engineName == "boxlang") {
52+
local.result.name = "BoxLang";
53+
} else {
54+
local.result.name = local.serverInfo.engineName;
55+
}
56+
57+
// Get version
58+
if (Len(local.serverInfo.engineVersion) && local.serverInfo.engineVersion != "Unknown") {
59+
local.result.version = local.serverInfo.engineVersion;
60+
}
61+
62+
return local.result;
63+
}
4364
}
4465
} catch (any e) {
45-
// Fall back to basic detection
66+
// Continue to direct server detection
67+
}
68+
69+
// Fallback to direct server scope detection
70+
try {
4671
if (StructKeyExists(server, "lucee")) {
4772
local.result.name = "Lucee";
48-
local.result.version = server.lucee.version;
73+
if (StructKeyExists(server.lucee, "version")) {
74+
local.result.version = server.lucee.version;
75+
}
4976
} else if (StructKeyExists(server, "coldfusion")) {
50-
local.result.name = server.coldfusion.productname;
51-
local.result.version = server.coldfusion.productversion;
77+
local.result.name = server.coldfusion.productname ?: "Adobe ColdFusion";
78+
if (StructKeyExists(server.coldfusion, "productversion")) {
79+
local.result.version = server.coldfusion.productversion;
80+
}
5281
}
82+
} catch (any e) {
83+
// Use defaults
5384
}
54-
85+
5586
return local.result;
5687
}
5788

0 commit comments

Comments
 (0)