While Eclipse Tycho is unbelievably awful, it's still better than nothing. Apparently a good percentage (50%+) of Eclipse plug-ins are using it for their builds. To invoke: * All plug-ins may be built using "mvn compile". * All tests may be run using "mvn integration-test." Currently, there are failing tests and they are ignored so that Maven will continue to run the remaining tests. A number of these failures are probably due to the test harness. Once the test failures are fixed, we can disable ignoring test failures. After that, we can set up continuous integration with Travis CI. Other alterations: * Added a root `.project` file so root files like the parent pom were easier to edit in Eclipse. * Added `target/` to root `.gitignore` since Maven uses `target/` subdirectories for builds. As an added bonus, easymock is now obtained from Eclipse Orbit. This should mean that we can drop easymock from the repository.
Kepler, unfortunately, removes the 'org.junit4' compatibility bundle. Thus, the build was broken on Kepler. Replacing the dependency with 'org.junit' and specifying version 4 should allow building on Kepler as well as maintaining compatibility with earlier versions of Eclipse. The dependency specifies an inclusive lower bound of 4.8.x to support at least Eclipse 3.7. Additionally, several of the manifests had inconsistent line endings, so their diffs will unfortunately be worthless. Converting them now will prevent future headaches, though.
like long lines, + versions bump
Roll back out of my last series of changes because they were a bad idea. What is needed: not a complete revamp of ScionManager and instance factories, but executable factories. We want a null executable (something that doesn't send or recieve messages), a built-in executable and user-specified executable. When preferences change, the executable factory changes and we update the current instances with new executables. Less damage to what already exists.
…ide the Eclipse IDE. (b) Create new plug-in/module net.sf.eclipsefp.haskell.util, where various utility classes belong. These currently include the FileUtil and PlatformUtil classes, both of which provide file- and platform-specific utility functions.