diff --git a/documentation/IDEasy-contribution-getting-started.adoc b/documentation/IDEasy-contribution-getting-started.adoc index 8eb9420b6..78a2e1079 100644 --- a/documentation/IDEasy-contribution-getting-started.adoc +++ b/documentation/IDEasy-contribution-getting-started.adoc @@ -3,18 +3,54 @@ toc::[] = Getting started as developer contributing to IDEasy +To begin, read through the https://github.com/devonfw/IDEasy/blob/main/documentation/IDEasy-contribution-rules-and-guidelines.adoc[Contribution Guidelines], which you should be sure to follow. + == Installation To start developing IDEasy, you must first install it on your computer. Therefore, simply follow the link:setup.adoc[setup] guide. -It is important to notice that this installation gives you the latest published version of IDEasy with which you can execute commands like eclipse or docker whose scripts are located inside the "${IDE_HOME}$/scripts/command, but for committing code we use a differing folder structure. + This will be addressed under xref:Contribution[Contribution]. +== Setup the Development Environment + +After IDEasy installation, run the following command in the terminal to create a project: + +``` +ide create IDEasy - +``` + +Next, fork the https://github.com/devonfw/ideasy[IDEasy] repository. +Steps for forking or cloning repositories, creating branches, and using Git commands can be found in the https://github.com/firstcontributions/first-contributions[first contributions guideline]. +To contribute code or documentation for IDEasy, first fork the https://github.com/devonfw/ideasy[IDEasy] repository, then clone your fork into the `workspaces/main` folder in your IDEasy installation. + +Navigate to the `workspaces/main` directory: + +``` +icd -p IDEasy -w +``` + +Clone your forked project into this directory: + +``` +git clone «forked-project-url» +``` + +Now you can open the project in your preferred IDE using the `ide` command. +For IntelliJ: + +``` +ide intellij +``` + +In IntelliJ, select the `pom.xml` file and right-click → **Add as Maven Project**. + +*Tip:* If the Maven button is hidden or not visible, press `Alt + 7` to open the **Structure** window below the project explorer. +Scroll down in the explorer to make the `pom.xml` file appear higher, enabling the option to be clicked. +Alternatively, use the keyboard arrows to navigate to the bottom of the right-click menu. + == Contribution -To begin, read through the https://github.com/devonfw/IDEasy/blob/main/documentation/IDEasy-contribution-rules-and-guidelines.adoc[Contribution Guidelines], which you should be sure to follow. -First steps regarding forks or cloning of repos and creating branches, as well as some git commands, can be found in the https://github.com/firstcontributions/first-contributions[first contributions guideline]. -To contribute code or documentation regarding IDEasy at first you need to fork the https://github.com/devonfw/ideasy[IDEasy] repository and then you can clone your fork into the folder `workspaces/main` in your IDEasy installation. Open git-bash in the cloned fork at `workspaces/main/IDEasy` and run the following command: ``` @@ -74,7 +110,6 @@ The Name needs to be equal to the one of both the tool and the commandlet. There are four available parent classes of url-updaters, that can be used. They mainly differentiate in the way, available versions are detected. - * https://github.com/devonfw/IDEasy/blob/main/cli/src/main/java/com/devonfw/tools/ide/url/updater/GithubUrlUpdater.java[`GithubUrlUpdater`] * https://github.com/devonfw/IDEasy/blob/main/cli/src/main/java/com/devonfw/tools/ide/url/updater/JsonUrlUpdater.java[`JsonUrlUpdater`] @@ -96,12 +131,6 @@ Once a day, the `UpdateInitiator` will run the updaters through GitHub Actions a Use an existing commandlet like https://github.com/devonfw/IDEasy/blob/main/cli/src/main/java/com/devonfw/tools/ide/tool/java/Java.java[Java] as a reference. Create a sub-package and a class with the name of the tool. -TODO explain: -* Properties -* run Method -* Dependencies -* Commandlet class hierarchy - === LICENSE Find the license for the new tool and add the tool to the table of `Third party components` of the link:LICENSE.adoc[LICENSE]. diff --git a/documentation/IDEasy-testing-linux-on-windows.adoc b/documentation/IDEasy-testing-linux-on-windows.adoc new file mode 100644 index 000000000..b63946aaf --- /dev/null +++ b/documentation/IDEasy-testing-linux-on-windows.adoc @@ -0,0 +1,99 @@ +:toc: macro +toc::[] +:idprefix: +:idseparator: - + += IDEasy Installation on Ubuntu in WSL2 (Windows Subsystem for Linux) + +== Preparation + +=== Install WSL + +WSL for Windows can be installed through the Windows terminal (PowerShell, Git Bash, or CMD) using the following command: + +---- +wsl --install +---- + +For more details, refer to: https://learn.microsoft.com/en-us/windows/wsl/install[WSL Installation (Microsoft Documentation)] + +=== Install Ubuntu from Microsoft Store + +Download Ubuntu from the Microsoft Store: +https://apps.microsoft.com/detail/9PDXGNCFSCZV?hl=en-us&gl=DE&ocid=pdpshare[Microsoft Store] + +== IDEasy Setup via Ubuntu Terminal + +Open an Ubuntu shell on your system. +Ideally you do this via Windows Terminal or by typing `Ubuntu` in the Windows start menu. + +.Opening Ubuntu from Windows Start Menu +image::images/wsl_guide/WindowsSearch.png[WindowsSearch] + +*All the following steps and commands need to happen inside this Ubuntu terminal.* + +.Ubuntu Terminal +image::images/wsl_guide/UbuntuTerminal.png[UbuntuTerminal] + +=== Prerequisite + +Ensure `Git` is installed on your system. +Check by opening Ubuntu via Windows Terminal or directly from the Windows Start menu and running: + +``` +git --version +``` + +If `Git` is not installed, use the following command to install `git`: + +``` +sudo apt install git +``` + +=== Download and Setup IDEasy + +Refer to the detailed setup guide: link:setup.adoc[Setup Instructions]. +So inside your Ubuntu shell install IDEasy via the following steps: + +1. Copy the Maven link for the *latest* IDEasy release for Linux. +2. Download the file using `wget`: ++ +``` +wget «link-to-repo» +``` ++ +Verify the download with the `ls` command; the file should appear if downloaded correctly. ++ +``` +ls +``` ++ +.Download and verify files with wget and ls (with an example of link:https://github.com/devonfw/IDEasy/releases/tag/release%2F2025.11.001[2025.11.00 release]) +image::images/wsl_guide/wget.png["wget"] +3. Create a new directory `IDEasy` and extract the downloaded file: ++ +``` +mkdir IDEasy +tar xzf «downloaded-file-name» -C IDEasy +``` ++ +This extracts the contents into the IDEasy folder. +4. Run the setup script inside the IDEasy folder: ++ +``` +./IDEasy/setup +``` ++ +Follow the instructions in the terminal. +5. After installation, reboot the system: ++ +``` +sudo reboot +``` + +IDEasy is now installed on your Ubuntu system. +A new directory called `projects` will be automatically created. + +== IDEasy Installation for Developers + +To set up the development environment, simply follow the guide at link:IDEasy-contribution-getting-started.adoc#installation[Getting started as developer contributing to IDEasy]. diff --git a/documentation/images/wsl_guide/UbuntuTerminal.png b/documentation/images/wsl_guide/UbuntuTerminal.png new file mode 100644 index 000000000..c8904d922 Binary files /dev/null and b/documentation/images/wsl_guide/UbuntuTerminal.png differ diff --git a/documentation/images/wsl_guide/WindowsSearch.png b/documentation/images/wsl_guide/WindowsSearch.png new file mode 100644 index 000000000..af148ff05 Binary files /dev/null and b/documentation/images/wsl_guide/WindowsSearch.png differ diff --git a/documentation/images/wsl_guide/wget.png b/documentation/images/wsl_guide/wget.png new file mode 100644 index 000000000..0fc3eb51a Binary files /dev/null and b/documentation/images/wsl_guide/wget.png differ