ultimatepp/uppsrc/ide/Java/Java.h
klugier 5867b34ac1 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
2017-01-01 18:59:11 +00:00

78 lines
2 KiB
C++

#ifndef _Java_Java_h_
#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();
};
class Jdk {
public:
static String GetDownloadUrl();
public:
Jdk(const String& path, Host* host);
virtual ~Jdk() {}
bool Validate() const;
public:
const JavaVersion& GetVersion() const { return version; }
String GetBinDir() const { return path + DIR_SEPS + "bin"; }
String GetIncludeDir() const { return path + DIR_SEPS + "include"; }
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:
void SetPath(const String& path) { this->path = path; }
void SetVersion(const String& version);
private:
void FindVersion(Host* host);
private:
String path;
JavaVersion version;
};
}
#endif