v1.4.0: Agentic feedback loop, Termux integration, workspace context, auto-build pipeline
This commit is contained in:
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "ai.z.chat"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 8
|
||||
versionName "1.3.1"
|
||||
versionCode 9
|
||||
versionName "1.4.0"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||
|
||||
@@ -214,24 +214,52 @@ public class ShellPlugin extends Plugin {
|
||||
}
|
||||
|
||||
private String[] buildEnv() {
|
||||
String termuxBin = "/data/data/com.termux/files/usr/bin";
|
||||
String termuxPrefix = "/data/data/com.termux/files/usr";
|
||||
boolean hasTermux = new File(termuxBin).isDirectory();
|
||||
|
||||
String toolsBin = toolsDir + "/bin";
|
||||
String toolsUsrBin = toolsDir + "/usr/bin";
|
||||
String appBin = homeDir + "/bin";
|
||||
String systemPath = System.getenv("PATH");
|
||||
String path = appBin + ":" + toolsBin + ":" + toolsUsrBin + ":" + systemPath;
|
||||
|
||||
return new String[]{
|
||||
"HOME=" + homeDir,
|
||||
"PATH=" + path,
|
||||
"PREFIX=" + toolsDir + "/usr",
|
||||
"TMPDIR=" + homeDir + "/tmp",
|
||||
"TERM=xterm-256color",
|
||||
"LANG=en_US.UTF-8",
|
||||
"ANDROID_HOME=" + toolsDir,
|
||||
"ANDROID_SDK_ROOT=" + toolsDir,
|
||||
"JAVA_HOME=" + toolsDir + "/java",
|
||||
"PROJECTS=" + projectsDir
|
||||
};
|
||||
StringBuilder pathBuilder = new StringBuilder();
|
||||
pathBuilder.append(appBin).append(":");
|
||||
pathBuilder.append(toolsBin).append(":");
|
||||
pathBuilder.append(toolsUsrBin).append(":");
|
||||
if (hasTermux) pathBuilder.append(termuxBin).append(":");
|
||||
pathBuilder.append(systemPath);
|
||||
|
||||
java.util.List<String> envList = new java.util.ArrayList<>();
|
||||
envList.add("HOME=" + homeDir);
|
||||
envList.add("PATH=" + pathBuilder.toString());
|
||||
envList.add("PREFIX=" + (hasTermux ? termuxPrefix : toolsDir + "/usr"));
|
||||
envList.add("TMPDIR=" + homeDir + "/tmp");
|
||||
envList.add("TERM=xterm-256color");
|
||||
envList.add("LANG=en_US.UTF-8");
|
||||
envList.add("ANDROID_HOME=" + toolsDir);
|
||||
envList.add("ANDROID_SDK_ROOT=" + toolsDir);
|
||||
envList.add("JAVA_HOME=" + toolsDir + "/java");
|
||||
envList.add("PROJECTS=" + projectsDir);
|
||||
if (hasTermux) {
|
||||
envList.add("TERMUX_VERSION=" + getTermuxVersion());
|
||||
envList.add("LD_LIBRARY_PATH=" + termuxPrefix + "/lib");
|
||||
}
|
||||
|
||||
return envList.toArray(new String[0]);
|
||||
}
|
||||
|
||||
private String getTermuxVersion() {
|
||||
try {
|
||||
File versionFile = new File("/data/data/com.termux/files/usr/share/doc/termux/VERSION");
|
||||
if (versionFile.exists()) {
|
||||
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(versionFile));
|
||||
String version = reader.readLine();
|
||||
reader.close();
|
||||
return version != null ? version : "unknown";
|
||||
}
|
||||
} catch (Exception e) {}
|
||||
return "installed";
|
||||
}
|
||||
|
||||
private Map<String, String> toEnvMap(String[] envPairs) {
|
||||
|
||||
Reference in New Issue
Block a user