Skip to content

dart4e/dart4e

Repository files navigation

Dart4E - Dart/Flutter support for the Eclipse IDE

Build Status License Contributor Covenant Eclipse Marketplace

Feedback and high-quality pull requests are highly welcome!

  1. About
  2. Installation
  3. Building from Sources
  4. Acknowledgement
  5. License

About

Dart4E is an extension for the Eclipse IDE to support development using the Dart general purpose programming language and the Flutter application framework.

Features

  • Syntax Highlighting
  • Source Code Formatting
  • Auto Completion
  • Code Refactoring
  • Interactive Dart Shell (REPL)
  • Running and debugging of Dart programs/tests and Flutter applications
  • Hot reload on save
  • Display direct and transitive dependencies in project outline

Installation

If you don't have Eclipse installed you can download Dart4E Studio - a custom Eclipse distribution - which has this plugin preinstalled.

To install Dart4E into an existing Eclipse installation do:

  1. Within Eclipse go to: Help -> Install New Software...
  2. Enter the following update site URL: https://raw.githubusercontent.com/dart4e/dart4e/updatesite
  3. Select the Dart4E feature to install.
  4. Ensure that the option Contact all update sites during install to find required software is enabled.
  5. Click Next twice.
  6. Read/accept the license terms and click Finish.
  7. Eclipse will now download the necessary files in the background.
  8. When the download has finished, Eclipse will ask about installing unsigned content. You need to accept if you want to
  9. After installation you will be prompted for a restart of Eclipse, which is recommended.

Building from Sources

To ensure reproducible builds, this Maven project inherits from the vegardit-maven-parent project, which declares fixed versions and sensible default settings for all official Maven plugins.

The project also uses the maven-toolchains-plugin, which decouples the JDK used to execute Maven and its plugins from the target JDK used for compilation and unit testing. This ensures full binary compatibility of the compiled artifacts with the runtime library of the required target JDK.

To build the project, follow these steps:

  1. Install a Java 17 JDK

    Download and install a Java 17 SDK, e.g. from:

  2. Configure Maven Toolchains

    In your user home directory, create the file .m2/toolchains.xml with the following content:

    <?xml version="1.0" encoding="UTF8"?>
    <toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
       <toolchain>
          <type>jdk</type>
          <provides>
             <version>17</version>
             <vendor>default</vendor>
          </provides>
          <configuration>
             <jdkHome>[PATH_TO_YOUR_JDK_17]</jdkHome>
          </configuration>
       </toolchain>
    </toolchains>

    Replace [PATH_TO_YOUR_JDK_17] with the path to your JDK installation.

  3. Clone the Repository

    git clone https://github.com/dart4e/dart4e.git
  4. Build the Project

    Run mvnw clean verify in the project root directory. This will execute compilation, unit testing, integration testing, and packaging of all artifacts.

Acknowledgement

Dart4E was created by Sebastian Thomschke and is sponsored by Vegard IT GmbH.

Dart4E would not have been possible without the following technologies and learning resources:

Technologies/Libraries

Tutorials

License

If not otherwise specified (see below), files in this repository fall under the Eclipse Public License 2.0.

Individual files contain the following tag instead of the full license text:

SPDX-License-Identifier: EPL-2.0

This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/.

An exception is made for:

  1. files in readable text which contain their own license information, or
  2. files in a directory containing a separate LICENSE.txt file, or
  3. files where an accompanying file exists in the same directory with a .LICENSE.txt suffix added to the base-name of the original file. For example foobar.js is may be accompanied by a foobar.LICENSE.txt license file.