4. Introduction

devonfw provides a solution to building applications which combine best-in-class frameworks and libraries as well as industry proven practices and code conventions. It massively speeds up development, reduces risks and helps deliver better results.

This document contains the instructions for the tool devonfw-ide to set up and maintain your development tools including your favorite IDE (integrated development environment).

4.1. Features

Every developer needs great tools to work efficiently. Setting up these tools manually can be tedious and error-prone. Furthermore, some projects may require different versions and configurations of such tools. Especially configurations like code-formatters should be consistent within a project to avoid diff-wars.

The devonfw-ide will solve these issues. Here are the features you will find through devonfw-ide:

  • Efficient
    Set up your IDE within minutes tailored for the requirements of your project.

  • Automated
    Automate the setup and update, avoid manual steps and mistakes.

  • Simple
    KISS (Keep It Small and Simple), no installers or tool-integrations that break with every release. Instead, use archive-files (zip or tar.gz), templates and simple shell scripts.

  • Configurable
    You can change the configuration depending on your needs. Furthermore, the settings contain configuration templates for the different tools (see configurator).

  • Maintainable
    For your project you should copy these settings to an own git repository that can be maintained and updated to manage the tool configurations during the project lifecycle. If you use github or gitlab every developer can easily suggest changes and improvements to these settings via pull/merge requests, which is easier to manage with big teams.

  • Customizable
    Do you need an additional tool you had never heard of before? Put it in the software folder of the structure. The devon CLI will then automatically add it to your PATH variable.
    Further you can create your own commandlet for your additional tool. For closed-source tools you can create your own archive and distribute it to your team members as long as you care about the terms and licenses of these tools.

  • Multi-platform
    It works on all major platforms: Windows, Mac and Linux.

  • Multi-tenancy
    You can have several instances of the devonfw-ide "installed" on your machine for different projects with different tools, tool versions and configurations. You won’t need to set up any physical installation nor changing your operating system. "Installations" of devonfw-ide do not interfere with each other nor with other installed software.

  • Multiple Workspaces
    It supports working with different workspaces on different branches. You can create and update new workspaces with a few clicks. You can see the workspace name in the title-bar of your IDE so you do not get confused and work on the right branch.

  • Free
    The devonfw-ide is free just like everything from devonfw. See LICENSE for details.

4.1.1. IDEs

We support the following IDEs:

4.1.2. Platforms

We support the following platforms:

4.1.3. Build-Systems

We support the following build-systems:

However, also other IDEs, platforms, or tools can be easily integrated as commandlet.

4.1.4. Motivation

TL;DR? Lets talk to developers a correct language. Here are some examples with devonfw-ide:

[/]$ devon
You are not inside a devonfw-ide installation: /
[/]$ cd /projects/devonfw
[devonfw]$ mvn
zsh: command not found: mvn
[devonfw]$ devon
devonfw-ide environment variables have been set for /projects/devonfw in workspace main
[devonfw]$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
Maven home: /projects/devonfw/software/maven
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /projects/devonfw/software/java
Default locale: en_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.3", arch: "x86_64", family: "mac"
[devonfw]$ cd /projects/ide-test/workspaces/test/my-project
[my-project]$ devon
devonfw-ide environment variables have been set for /projects/ide-test in workspace main
[my-project]$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
Maven home: /projects/ide-test/software/maven
Java version: 11.0.2, vendor: Oracle Corporation, runtime: /projects/ide-test/software/jdk/Contents/Home
Default locale: en_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.3", arch: "x86_64", family: "mac"
[ide-test]$ devon eclipse
launching Eclipse for workspace test...
[my-project]$ devon build
[INFO] Scanning for projects...
...
[INFO] BUILD SUCCESS

This was just a very simple demo of what devonfw-ide can do. For further details have a look at our CLI documentation.

Now you might ask:

  • But I use Windows/Linux/MacOS//… - it works on all platforms!

  • But how about Windows CMD or Power-Shell? - it works!

  • But what if I use cygwin or git-bash on windows? - it works!

  • But I love to use ConEmu or Commander - it works with full integration!

  • How about MacOS Terminal or iTerm2? - it works with full integration!

  • But I use zsh - it works!

  • …​? - it works!

Wow! So let’s get started with download & setup.

4.2. Setup

4.2.1. Prerequisites

We try to make it as simple as possible for you. However, there are some minimal prerequisites:

  • You need to have a tool to extract *.tar.gz files (tar and gzip). On Windows lower Windows 10 (1803) use 7-zip. On all other platforms this comes out of the box.

  • You need to have git and curl installed.

    • On Windows you only need to download and install git for windows. This also ships with bash and curl.

    • On Linux you might need to install the above tools in case they are not present (e.g. sudo apt-get install git curl or sudo yum install git-core curl)

    • On MacOS you only need to download and install git for mac.

4.2.2. Download

The latest release of devonfw-ide can be downloaded from here (You can find all releases in maven central).

4.2.3. Install

Create a central folder like C:\projects or /projects. Inside this folder, create a sub-folder for your new project such as my-project and extract the contents of the downloaded archive (devonfw-ide-scripts-*.tar.gz) and send them to this new folder. Run the command setup in this folder (on windows double clicking on setup.bat). That’s all. To get started read the usage.

4.2.4. Uninstall

To "uninstall" your devonfw-ide you only need to call the following command:

devon ide uninstall

Then you can delete the devonfw-ide top-level folder(s) (${DEVON_IDE_HOME}).

The devonfw-ide is designed to be non-invasive to your operating system and computer. Therefore it is not "installed" on your system in a classical way. Instead you just create a folder and extract the downloaded archive to it. You only have to install regularly in advance some specific prerequisites like git. All the other softwares remain locally in your devonfw-ide folder. However, there are the following excuses (what is reverted by devon ide uninstall):

  • The devon command is copied to your home directory (~/.devon/devon)

  • The devon alias is added to your shell config (~/.bashrc and ~/.zshrc, search for alias devon="source ~/.devon/devon").

  • On Windows the devon.bat command is copied to your home directory (%USERPROFILE%\scripts\devon.bat)

  • On Windows this %USERPROFILE%\scripts directory is added to the PATH of your user.

  • The devonfw-ide will download a third party software to your ~/Downloads folder to reduce redundant storage.

Last updated 2021-01-15 11:01:16 UTC