diff --git a/java/src/processing/mode/java/Commander.java b/java/src/processing/mode/java/Commander.java
index be938d88c..9a193b83a 100644
--- a/java/src/processing/mode/java/Commander.java
+++ b/java/src/processing/mode/java/Commander.java
@@ -29,6 +29,7 @@ import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import processing.app.Base;
+import processing.app.Platform;
import processing.app.Preferences;
import processing.app.RunnerListener;
import processing.app.Sketch;
@@ -77,7 +78,7 @@ public class Commander implements RunnerListener {
// Do this early so that error messages go to the console
Base.setCommandLine();
// init the platform so that prefs and other native code is ready to go
- Base.initPlatform();
+ Platform.init();
// make sure a full JDK is installed
//Base.initRequirements();
@@ -145,7 +146,7 @@ public class Commander implements RunnerListener {
} else if (arg.startsWith(platformArg)) {
// complainAndQuit("The --platform option has been removed from Processing 2.1.", false);
String platformStr = arg.substring(platformArg.length());
- platform = Base.getPlatformIndex(platformStr);
+ platform = Platform.getIndex(platformStr);
if (platform == -1) {
complainAndQuit(platformStr + " should instead be " +
"'windows', 'macosx', or 'linux'.", true);
@@ -249,7 +250,7 @@ public class Commander implements RunnerListener {
// JavaMode javaMode =
// new JavaMode(null, Base.getContentFile("modes/java"));
JavaMode javaMode = (JavaMode)
- ModeContribution.load(null, Base.getContentFile("modes/java"),
+ ModeContribution.load(null, Platform.getContentFile("modes/java"),
"processing.mode.java.JavaMode").getMode();
try {
sketch = new Sketch(pdePath, javaMode);
@@ -280,8 +281,7 @@ public class Commander implements RunnerListener {
JavaBuild build = new JavaBuild(sketch);
build.build(true);
if (build != null) {
-
- String variant = Base.getVariant();
+ String variant = Platform.getVariant();
success = build.exportApplication(outputFolder, platform, variant, embedJava);
}
}
diff --git a/java/src/processing/mode/java/JavaBuild.java b/java/src/processing/mode/java/JavaBuild.java
index 3950a6831..9ce5d7588 100644
--- a/java/src/processing/mode/java/JavaBuild.java
+++ b/java/src/processing/mode/java/JavaBuild.java
@@ -786,7 +786,7 @@ public class JavaBuild {
File folder = null;
for (String platformName : PConstants.platformNames) {
- int platform = Base.getPlatformIndex(platformName);
+ int platform = Platform.getIndex(platformName);
// Can only embed Java on the native platform
boolean embedJava = (platform == PApplet.platform) &&
@@ -796,18 +796,18 @@ public class JavaBuild {
if (Library.hasMultipleArch(platform, importedLibraries)) {
// export the 32-bit version
folder = new File(sketch.getFolder(), "application." + platformName + "32");
- if (!exportApplication(folder, platform, "32", embedJava && Base.getNativeBits() == 32 && "x86".equals(Base.getNativeArch()))) {
+ if (!exportApplication(folder, platform, "32", embedJava && Platform.getNativeBits() == 32 && "x86".equals(Platform.getNativeArch()))) {
return false;
}
// export the 64-bit version
folder = new File(sketch.getFolder(), "application." + platformName + "64");
- if (!exportApplication(folder, platform, "64", embedJava && Base.getNativeBits() == 64 && "x86".equals(Base.getNativeArch()))) {
+ if (!exportApplication(folder, platform, "64", embedJava && Platform.getNativeBits() == 64 && "x86".equals(Platform.getNativeArch()))) {
return false;
}
if (platform == PConstants.LINUX) {
// export the armv6hf version as well
folder = new File(sketch.getFolder(), "application.linux-armv6hf");
- if (!exportApplication(folder, platform, "armv6hf", embedJava && Base.getNativeBits() == 32 && "arm".equals(Base.getNativeArch()))) {
+ if (!exportApplication(folder, platform, "armv6hf", embedJava && Platform.getNativeBits() == 32 && "arm".equals(Platform.getNativeArch()))) {
return false;
}
}
@@ -891,10 +891,10 @@ public class JavaBuild {
if (exportPlatform == PConstants.MACOSX) {
dotAppFolder = new File(destFolder, sketch.getName() + ".app");
- File contentsOrig = new File(Base.getJavaHome(), "../../../../..");
+ File contentsOrig = new File(Platform.getJavaHome(), "../../../../..");
if (embedJava) {
- File jdkFolder = new File(Base.getJavaHome(), "../../..");
+ File jdkFolder = new File(Platform.getJavaHome(), "../../..");
String jdkFolderName = jdkFolder.getCanonicalFile().getName();
jvmRuntime = "JVMRuntime\n " + jdkFolderName + "";
jdkPath = new File(dotAppFolder, "Contents/PlugIns/" + jdkFolderName).getAbsolutePath();
@@ -958,12 +958,12 @@ public class JavaBuild {
*/
} else if (exportPlatform == PConstants.LINUX) {
if (embedJava) {
- Util.copyDirNative(Base.getJavaHome(), new File(destFolder, "java"));
+ Util.copyDirNative(Platform.getJavaHome(), new File(destFolder, "java"));
}
} else if (exportPlatform == PConstants.WINDOWS) {
if (embedJava) {
- Util.copyDir(Base.getJavaHome(), new File(destFolder, "java"));
+ Util.copyDir(Platform.getJavaHome(), new File(destFolder, "java"));
}
}
@@ -1183,7 +1183,7 @@ public class JavaBuild {
pw.close();
// attempt to code sign if the Xcode tools appear to be installed
- if (Base.isMacOS() && new File("/usr/bin/codesign_allocate").exists()) {
+ if (Platform.isMacOS() && new File("/usr/bin/codesign_allocate").exists()) {
if (embedJava) {
ProcessHelper.ffs("codesign", "--force", "--sign", "-", jdkPath);
}
@@ -1297,7 +1297,7 @@ public class JavaBuild {
String shellPath = shellScript.getAbsolutePath();
// will work on osx or *nix, but just dies on windows, oh well..
- if (!Base.isWindows()) {
+ if (!Platform.isWindows()) {
Runtime.getRuntime().exec(new String[] { "chmod", "+x", shellPath });
}
}
@@ -1439,7 +1439,7 @@ public class JavaBuild {
String[] dataFiles = Util.listFiles(sketch.getDataFolder(), false);
int offset = sketch.getFolder().getAbsolutePath().length() + 1;
for (String path : dataFiles) {
- if (Base.isWindows()) {
+ if (Platform.isWindows()) {
path = path.replace('\\', '/');
}
//File dataFile = new File(dataFiles[i]);
diff --git a/java/src/processing/mode/java/JavaEditor.java b/java/src/processing/mode/java/JavaEditor.java
index 0a5e05fc7..2c83d83c7 100644
--- a/java/src/processing/mode/java/JavaEditor.java
+++ b/java/src/processing/mode/java/JavaEditor.java
@@ -344,7 +344,7 @@ public class JavaEditor extends Editor {
JMenuItem item;
// macosx already has its own about menu
- if (!Base.isMacOS()) {
+ if (!Platform.isMacOS()) {
item = new JMenuItem(Language.text("menu.help.about"));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -497,7 +497,7 @@ public class JavaEditor extends Editor {
item = new JMenuItem(Language.text("menu.help.getting_started"));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- Base.openURL(Language.text("menu.help.getting_started.url"));
+ Platform.openURL(Language.text("menu.help.getting_started.url"));
}
});
menu.add(item);
@@ -505,7 +505,7 @@ public class JavaEditor extends Editor {
item = new JMenuItem(Language.text("menu.help.troubleshooting"));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- Base.openURL(Language.text("menu.help.troubleshooting.url"));
+ Platform.openURL(Language.text("menu.help.troubleshooting.url"));
}
});
menu.add(item);
@@ -513,7 +513,7 @@ public class JavaEditor extends Editor {
item = new JMenuItem(Language.text("menu.help.faq"));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- Base.openURL(Language.text("menu.help.faq.url"));
+ Platform.openURL(Language.text("menu.help.faq.url"));
}
});
menu.add(item);
@@ -521,7 +521,7 @@ public class JavaEditor extends Editor {
item = new JMenuItem(Language.text("menu.help.foundation"));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- Base.openURL(Language.text("menu.help.foundation.url"));
+ Platform.openURL(Language.text("menu.help.foundation.url"));
}
});
menu.add(item);
@@ -529,7 +529,7 @@ public class JavaEditor extends Editor {
item = new JMenuItem(Language.text("menu.help.visit"));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- Base.openURL(Language.text("menu.help.visit.url"));
+ Platform.openURL(Language.text("menu.help.visit.url"));
}
});
menu.add(item);
@@ -664,7 +664,7 @@ public class JavaEditor extends Editor {
statusNotice(Language.text("export.notice.exporting"));
try {
if (exportApplicationPrompt()) {
- Base.openFolder(sketch.getFolder());
+ Platform.openFolder(sketch.getFolder());
statusNotice(Language.text("export.notice.exporting.done"));
} else {
// error message will already be visible
@@ -738,7 +738,7 @@ public class JavaEditor extends Editor {
});
// Only possible to export OS X applications on OS X
- if (!Base.isMacOS()) {
+ if (!Platform.isMacOS()) {
// Make sure they don't have a previous 'true' setting for this
Preferences.setBoolean(EXPORT_MACOSX, false);
}
@@ -749,7 +749,7 @@ public class JavaEditor extends Editor {
updateExportButton();
}
});
- if (!Base.isMacOS()) {
+ if (!Platform.isMacOS()) {
macosxButton.setEnabled(false);
macosxButton.setToolTipText(Language.text("export.tooltip.macosx"));
}
@@ -866,12 +866,12 @@ public class JavaEditor extends Editor {
embedPanel.setLayout(new BoxLayout(embedPanel, BoxLayout.Y_AXIS));
String platformName = null;
- if (Base.isMacOS()) {
+ if (Platform.isMacOS()) {
platformName = "Mac OS X";
- } else if (Base.isWindows()) {
- platformName = "Windows (" + Base.getNativeBits() + "-bit)";
- } else if (Base.isLinux()) {
- platformName = "Linux (" + Base.getNativeBits() + "-bit)";
+ } else if (Platform.isWindows()) {
+ platformName = "Windows (" + Platform.getNativeBits() + "-bit)";
+ } else if (Platform.isLinux()) {
+ platformName = "Linux (" + Platform.getNativeBits() + "-bit)";
}
boolean embed = Preferences.getBoolean("export.application.embed_java");
@@ -893,7 +893,7 @@ public class JavaEditor extends Editor {
final JLabel warningLabel = new JLabel(embed ? embedWarning : nopeWarning);
warningLabel.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent event) {
- Base.openURL("http://java.com/download");
+ Platform.openURL("http://java.com/download");
}
});
warningLabel.setBorder(new EmptyBorder(3, 13 + indent, 3, 13));
@@ -921,7 +921,7 @@ public class JavaEditor extends Editor {
//
- if (Base.isMacOS()) {
+ if (Platform.isMacOS()) {
JPanel signPanel = new JPanel();
signPanel.setLayout(new BoxLayout(signPanel, BoxLayout.Y_AXIS));
signPanel.setBorder(new TitledBorder(Language.text("export.code_signing")));
@@ -972,7 +972,7 @@ public class JavaEditor extends Editor {
area.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent event) {
- Base.openURL("https://developer.apple.com/developer-id/");
+ Platform.openURL("https://developer.apple.com/developer-id/");
}
});
diff --git a/java/src/processing/mode/java/JavaMode.java b/java/src/processing/mode/java/JavaMode.java
index 9f88cbdbd..57f0566e8 100644
--- a/java/src/processing/mode/java/JavaMode.java
+++ b/java/src/processing/mode/java/JavaMode.java
@@ -107,7 +107,7 @@ public class JavaMode extends Mode {
public Library getCoreLibrary() {
if (coreLibrary == null) {
- File coreFolder = Base.getContentFile("core");
+ File coreFolder = Platform.getContentFile("core");
coreLibrary = new Library(coreFolder);
// try {
// coreLibrary = getLibrary("processing.core");
diff --git a/java/src/processing/mode/java/pdex/ASTGenerator.java b/java/src/processing/mode/java/pdex/ASTGenerator.java
index 2c04dd1c1..a8ca1485d 100644
--- a/java/src/processing/mode/java/pdex/ASTGenerator.java
+++ b/java/src/processing/mode/java/pdex/ASTGenerator.java
@@ -108,6 +108,7 @@ import org.jsoup.select.Elements;
import processing.app.Base;
import processing.app.Library;
+import processing.app.Platform;
import processing.app.SketchCode;
import processing.app.Util;
import processing.app.syntax.JEditTextArea;
@@ -326,7 +327,7 @@ public class ASTGenerator {
classPath = factory.createFromPath(tehPath.toString());
log("Classpath created " + (classPath != null));
log("Sketch classpath jars loaded.");
- if (Base.isMacOS()) {
+ if (Platform.isMacOS()) {
File f = new File(System.getProperty("java.home") + File.separator + "bundle"
+ File.separator + "Classes" + File.separator + "classes.jar");
log(f.getAbsolutePath() + " | classes.jar found?"
diff --git a/java/src/processing/mode/java/pdex/JavaTextArea.java b/java/src/processing/mode/java/pdex/JavaTextArea.java
index 10c1d4811..41fa42ab0 100644
--- a/java/src/processing/mode/java/pdex/JavaTextArea.java
+++ b/java/src/processing/mode/java/pdex/JavaTextArea.java
@@ -37,6 +37,7 @@ import javax.swing.SwingWorker;
import processing.app.Base;
import processing.app.Mode;
+import processing.app.Platform;
import processing.app.syntax.JEditTextArea;
import processing.app.syntax.PdeTextAreaDefaults;
import processing.app.syntax.TextAreaDefaults;
@@ -234,7 +235,7 @@ public class JavaTextArea extends JEditTextArea {
if (evt.getID() == KeyEvent.KEY_TYPED) {
processCompletionKeys(evt);
- } else if (Base.isMacOS() && evt.getID() == KeyEvent.KEY_RELEASED) {
+ } else if (Platform.isMacOS() && evt.getID() == KeyEvent.KEY_RELEASED) {
processControlSpace(evt);
}
}
@@ -279,7 +280,7 @@ public class JavaTextArea extends JEditTextArea {
Base.log("Typing: " + fetchPhrase(event));
}
} else if (keyChar == ' ') { // Trigger on Ctrl-Space
- if (!Base.isMacOS() && JavaMode.codeCompletionsEnabled &&
+ if (!Platform.isMacOS() && JavaMode.codeCompletionsEnabled &&
(event.isControlDown() || event.isMetaDown())) {
SwingWorker