Fix android builder windows issues, android builder now can be used with never versions of JDK.

git-svn-id: svn://ultimatepp.org/upp/trunk@10617 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
klugier 2017-01-01 18:59:11 +00:00
parent b58627941c
commit c497ac7e59
13 changed files with 248 additions and 141 deletions

View file

@ -2,20 +2,35 @@
#define _Java_Java_h_
#include <Core/Core.h>
#include <ide/Core/Core.h>
namespace Upp {
class JavaVersion {
public:
JavaVersion();
JavaVersion(int major, int minor);
bool IsGreate(int major) const;
bool IsGreaterOrEqual(int major) const;
bool IsGreaterOrEqual(int major, int minor) const;
String ToString() { return IntStr(mMajor) + "." + IntStr(mMinor); }
private:
int mMajor;
int mMinor;
};
class Java {
public:
Java() = delete;
Java(const Java&) = delete;
Java& operator=(const Java&) = delete;
virtual ~Java() = delete;
static String GetDelimiter();
private:
Java();
Java(const Java&);
Java& operator=(const Java&);
virtual ~Java();
};
class Jdk {
@ -23,33 +38,39 @@ public:
static String GetDownloadUrl();
public:
Jdk();
Jdk(const String& path);
virtual ~Jdk();
Jdk(const String& path, Host* host);
virtual ~Jdk() {}
bool Validate() const;
public:
String GetBinDir() const { return path + DIR_SEPS + "bin"; }
String GetIncludeDir() const { return path + DIR_SEPS + "include"; }
const JavaVersion& GetVersion() const { return version; }
String GetJarPath() const { return GetBinDir() + DIR_SEPS + "jar" + GetExeExt(); }
String GetJavacPath() const { return GetBinDir() + DIR_SEPS + "javac" + GetExeExt(); }
String GetJavadocPath() const { return GetBinDir() + DIR_SEPS + "javadoc" + GetExeExt(); }
String GetJavahPath() const { return GetBinDir() + DIR_SEPS + "javah" + GetExeExt(); }
String GetJavapPath() const { return GetBinDir() + DIR_SEPS + "javap" + GetExeExt(); }
String GetJdbPath() const { return GetBinDir() + DIR_SEPS + "jdb" + GetExeExt(); }
String GetBinDir() const { return path + DIR_SEPS + "bin"; }
String GetIncludeDir() const { return path + DIR_SEPS + "include"; }
String GetJarsignerPath() const { return GetBinDir() + DIR_SEPS + "jarsigner" + GetExeExt(); }
String GetKeytoolPath() const { return GetBinDir() + DIR_SEPS + "keytool" + GetExeExt(); }
String GetJarPath() const { return GetBinDir() + DIR_SEPS + "jar" + GetExeExt(); }
String GetJavacPath() const { return GetBinDir() + DIR_SEPS + "javac" + GetExeExt(); }
String GetJavadocPath() const { return GetBinDir() + DIR_SEPS + "javadoc" + GetExeExt(); }
String GetJavahPath() const { return GetBinDir() + DIR_SEPS + "javah" + GetExeExt(); }
String GetJavapPath() const { return GetBinDir() + DIR_SEPS + "javap" + GetExeExt(); }
String GetJdbPath() const { return GetBinDir() + DIR_SEPS + "jdb" + GetExeExt(); }
String GetJarsignerPath() const { return GetBinDir() + DIR_SEPS + "jarsigner" + GetExeExt(); }
String GetKeytoolPath() const { return GetBinDir() + DIR_SEPS + "keytool" + GetExeExt(); }
String GetPath() const { return this->path; }
public:
String GetPath() { return this->path; }
void SetPath(const String& path) { this->path = path; }
void SetVersion(const String& version);
private:
String path;
void FindVersion(Host* host);
private:
String path;
JavaVersion version;
};
}