Skip to content

Commit d4653d0

Browse files
Get TERMUX_VERSION while building shell environment via Termux package context
1 parent 49f53f5 commit d4653d0

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

app/src/main/java/com/termux/app/terminal/TermuxSession.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ private TermuxSession(TerminalSession terminalSession, ExecutionCommand executio
3333
public static TermuxSession create(@NonNull final TermuxService service, @NonNull ExecutionCommand executionCommand, @NonNull TermuxSessionClientBase termuxSessionClient, String sessionName) {
3434
if (executionCommand.workingDirectory == null || executionCommand.workingDirectory.isEmpty()) executionCommand.workingDirectory = TermuxConstants.TERMUX_HOME_DIR_PATH;
3535

36-
String[] environment = ShellUtils.buildEnvironment(executionCommand.isFailsafe, executionCommand.workingDirectory);
36+
String[] environment = ShellUtils.buildEnvironment(service, executionCommand.isFailsafe, executionCommand.workingDirectory);
3737

3838
boolean isLoginShell = false;
3939
if (executionCommand.executable == null) {

app/src/main/java/com/termux/app/terminal/TermuxTask.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ private TermuxTask(Process process, ExecutionCommand executionCommand) {
3434
public static TermuxTask create(@NonNull final TermuxService service, @NonNull ExecutionCommand executionCommand) {
3535
if (executionCommand.workingDirectory == null || executionCommand.workingDirectory.isEmpty()) executionCommand.workingDirectory = TermuxConstants.TERMUX_HOME_DIR_PATH;
3636

37-
String[] env = ShellUtils.buildEnvironment(false, executionCommand.workingDirectory);
37+
String[] env = ShellUtils.buildEnvironment(service, false, executionCommand.workingDirectory);
3838

3939
final String[] commandArray = ShellUtils.setupProcessArgs(executionCommand.executable, executionCommand.arguments);
4040
// final String commandDescription = Arrays.toString(commandArray);

app/src/main/java/com/termux/app/utils/ShellUtils.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.termux.app.utils;
22

3-
import com.termux.BuildConfig;
3+
import android.content.Context;
4+
45
import com.termux.app.TermuxConstants;
56

67
import java.io.File;
@@ -13,14 +14,21 @@
1314

1415
public class ShellUtils {
1516

16-
public static String[] buildEnvironment(boolean isFailSafe, String workingDirectory) {
17+
public static String[] buildEnvironment(Context currentPackageContext, boolean isFailSafe, String workingDirectory) {
1718
TermuxConstants.TERMUX_HOME_DIR.mkdirs();
1819

1920
if (workingDirectory == null || workingDirectory.isEmpty()) workingDirectory = TermuxConstants.TERMUX_HOME_DIR_PATH;
2021

2122
List<String> environment = new ArrayList<>();
2223

23-
environment.add("TERMUX_VERSION=" + BuildConfig.VERSION_NAME);
24+
// This function may be called by a different package like a plugin, so we get version for Termux package via its context
25+
Context termuxPackageContext = TermuxUtils.getTermuxPackageContext(currentPackageContext);
26+
if(termuxPackageContext != null) {
27+
String termuxVersionName = PackageUtils.getVersionNameForPackage(termuxPackageContext);
28+
if(termuxVersionName != null)
29+
environment.add("TERMUX_VERSION=" + termuxVersionName);
30+
}
31+
2432
environment.add("TERM=xterm-256color");
2533
environment.add("COLORTERM=truecolor");
2634
environment.add("HOME=" + TermuxConstants.TERMUX_HOME_DIR_PATH);

0 commit comments

Comments
 (0)