Skip to content

Latest commit

 

History

History
58 lines (37 loc) · 5.16 KB

CONTRIBUTING.md

File metadata and controls

58 lines (37 loc) · 5.16 KB

Contributing

Please see our wiki for more information regarding development.

Eclipse Environment

The plug-ins are being developed on the following Eclipse versions. Currently, newer versions of Eclipse will not resolve M2E dependencies. The Eclipse Installer can be used to install specific versions:

Eclipse IDE for RCP and RAP Developers (includes Incubating components)

Version: 2023-03 (4.27.0)
Build id: 20230309-1520

Building

The project includes a Maven configuration file using the Tycho plug-in, which is part of the Maven Eclipse plug-in. Running mvn install will install most dependencies. Note that if you are not using Maven, this plugin depends on the Common Eclipse Refactoring Framework, the Eclipse SDK, Eclipse SDK tests, the Eclipse testing framework (may also be called the Eclipse Test Framework), Ariadne, WALA, and PyDev. Some of these can be installed from the "Install New Software..." menu option under "Help" in Eclipse (choose to "work with" "The Eclipse Project Updates"). Others may need to be obtained from their respective update sites (see below).

Dependencies

All dependencies are listed in the target definition file. Simply set this file as your "active target", refresh and update the items in the list, and you should be good to go. However, if you plan to run the UI plug-in (and not only the tests or evaluation plug-ins), due to #264, you should have the following project in your workspace:

  1. Common Eclipse Refactoring Framework.

The other projects should be obtained from the target definition. If, for any reason, they aren't, or you also need to modify those projects, you can put the following projects also in your workspace:

  1. PyDev 9.3 branch.
  2. Ariadne ponder-lab fork
  3. WALA v1.6 branch

Having PyDev in your workspace in its own "working set" is helpful to visualize the structure of the project. Import it into your Eclipse workspace under a working set named "PyDev." PyDev is already structured as Eclipse projects; you can simply import it as an existing Eclipse project (select the "search for nested projects" option). You'll need to close the "Mylyn" projects that are imported; they won't build since Mylyn has been removed from Eclipse's standard distribution.

To access the Ariadne packages for building your project, refer to GitHub Packages Documentation for instructions.

You may use the following update sites to install some of the appropriate plugins into your Eclipse installation:

Dependency Update Site
Common Eclipse Refactoring Framework https://raw.githubusercontent.com/ponder-lab/Common-Eclipse-Java-Refactoring-Framework/master/edu.cuny.citytech.refactoring.common.updatesite
PyDev https://raw.githubusercontent.com/ponder-lab/Pydev/pydev_9_3/org.python.pydev.updatesite
WALA https://raw.githubusercontent.com/ponder-lab/WALA/v1.6/com.ibm.wala-repository

These update sites are also listed in the target definition file. Thus, you shouldn't need them unless you plan to make changes to them.

Running the Evaluator

Use the edu.cuny.hunter.hybridize.evaluator plug-in project to run the evaluation. The evaluation process will produce several CSVs, as well as perform the transformation if desired (see below for details). For convenience, there is an Eclipse launch configuration that can be used to run the evaluation. The run configuration is named edu.cuny.hunter.hybridize.eval/Evaluate Hybridize Functions.launch. In the run configuration dialog, you can specify several arguments to the evaluator as system properties.

You can run the evaluator in several different ways, including as a command or as a menu item, which is shown in the menu bar. Either way, you must evaluate entire projects, as the evaluator will collect project-level data. Information on configuring the evaluator can be found on this wiki page.