Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# .github/release.yml
# see: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes

changelog:
exclude:
labels:
- ignore-for-release
categories:
- title: Breaking Changes 🛠
labels:
- Semver-Major
- breaking-change
- title: New Features 🎉
labels:
- Semver-Minor
- enhancement
- title: Bug Fixes 🐛
labels:
- Semver-Patch
- bug
- title: Other Changes ✔️
labels:
- "*"
2 changes: 2 additions & 0 deletions .settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding//.github/release.yml=UTF-8
99 changes: 99 additions & 0 deletions docs/How-to-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# How to build

## Dependencies
* Eclipse IDE for Eclipse Committers, see `https://www.eclipse.org/downloads/packages/release/2022-03/r/eclipse-ide-eclipse-committers`
* Maven: just install the m2e plugin, see https://www.eclipse.org/m2e
* Tycho: do not need separate installation, will be fetched by Maven during the build automattically, see `https://eclipse.org/tycho`

## Get EasyShell plugin sources
* Clone EasyShell from `https://github.com/anb0s/EasyShell.git` to new directory `EasyShell`
* switch to `main` branch
* Import all projects to Eclipse and add them to new "Working Set" **EasyShell**
* **EasyShell**: root project, needed only for readme, headless build etc.
* **de.anbos.eclipse.easyshell.feature**: feature project
* **de.anbos.eclipse.easyshell.platform**: platform definition
* **de.anbos.eclipse.easyshell.plugin**: plugin with main sources
* **de.anbos.eclipse.easyshell.site**: update site

## Get EasyShell web-site (gh-pages)
* Clone EasyShell from `https://github.com/anb0s/EasyShell.git` to new directory `EasyShell-gh-pages`
* switch to `gh-pages` branch
* Import the project to Eclipse and add it to "Wortking Set" **EasyShell**
* **EasyShell-gh-pages**: root project, needed for web- and update-site

## Running and debugging in Eclipse
* select target platform you want to test EasyShell against:
* go to project **de.anbos.eclipse.easyshell.platform**
* open wanted platform definition file, e.g. use **Eclipse-2022-03.target**
* use `Set as Target Platform` and wait until the platform defition is loaded from Eclipse mirrors
* now there should be no build errors anymore
* use `Run | Debug As | Eclipse Application` and wait until the new Eclipse instance is opened
* use EasyShell, set breakpoint etc. :)

## Update version

!!! ATTENTION do not change other versions manually !!!

!!! all versions must be same BEFORE executiong set-version !!!

!!! e.g. in all pom.xml files: `2.3.0-SNAPSHOT` and all eclipse files `[MANIFEST.MF, feature.xml, category.xml]`: `2.3.0.qualifier` !!!

1. update the version in root `pom.xml`: e.g. `<newVersion>2.3.1-SNAPSHOT</newVersion>`
2. run `EasyShell-set-new-version.launch` or execute: `mvn clean tycho-versions:set-version` and all versions are updated now
3. build with `mvn -Dsite.dir=testing clean verify` or just launch config `EasyShell-Testing-Build.launch`

sources:
- http://codeandme.blogspot.co.at/2012/12/tycho-build-9-updating-version-numbers.html
- https://wiki.eclipse.org/Tycho/Packaging_Types#eclipse-plugin
- https://eclipse.org/tycho/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html

target defintions:
- https://wiki.eclipse.org/Eclipse_Project_Update_Sites
- http://codeandme.blogspot.de/2012/12/tycho-build-8-using-target-platform.html
- https://wiki.eclipse.org/Tycho/Packaging_Types#eclipse-target-definition
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=383865
- http://blog.vogella.com/2013/01/03/tycho-advanced/

## Building EasyShell plugin with update site for testing
* go to project **EasyShell**
* build
* from Eclipse: run launch configuration `EasyShell-Testing-Build`
* from commandline / headless / CI server: `mvn clean verify` with parameter `site.dir=testing`: `mvn -Dsite.dir=testing clean verify`
* go to project **de.anbos.eclipse.easyshell.site** and use one of:
* directory `target\repository` OR
* zip file e.g. `target\de.anbos.eclipse.easyshell.site-2.3.0-SNAPSHOT.zip` OR
* last version from `updates\testing`
* deploy
* new automatic pre-process
* create or reset branch `testing*` to latest from `main` and push, e.g. branch name `testing-my-new-build`
* new PR with the new build will be automatically created for you
* wait for PR to be merged to `main` by a maintainer
* ask maintainer to create and push new tag at main branch for a pre-release with naming patterns
* `v[0-9]+.[0-9]+.[0-9]+-alpha*`
* `v[0-9]+.[0-9]+.[0-9]+-beta*`
* `v[0-9]+.[0-9]+.[0-9]+-rc*`
* new pre-release tag will be auomatically picked up and new pre-release will be created with changelog and new update site at gh-pages
* old deprecated manual process as fallback
* synchronize the directory `updates\testing` to project **EasyShell-gh-pages** directory `testing`
* commit and push project **EasyShell-gh-pages** to GitHub and check the new version from site `http://anb0s.github.io/EasyShell/testing`

## Building EasyShell plugin with update site for releasing
* go to project **EasyShell**
* build
* from Eclipse: run launch configuration `EasyShell-Release-Build`
* from commandline / headless / CI server: `mvn clean verify` with parameter `site.dir=release`: `mvn -Dsite.dir=release clean verify`
* go to project **de.anbos.eclipse.easyshell.site** and use one of:
* directory `target\repository` OR
* zip file e.g. `target\de.anbos.eclipse.easyshell.site-2.3.0-SNAPSHOT.zip` OR
* last version from directory `updates\release`
* deploy
* new automatic pre-process
* create or reset branch `release*` to latest from `main` and push, e.g. branch name `testing-my-new-release`
* new PR with the new build will be automatically created for you
* wait for PR to be merged to `main` by a maintainer
* ask maintainer to create and push new tag at main branch for a release with naming patterns
* `v[0-9]+.[0-9]+.[0-9]+`
* new release tag will be auomatically picked up and new release will be created with changelog and new update site at gh-pages
* old deprecated manual process as fallback
* synchronize the directory `updates\release` to project **EasyShell-gh-pages** directory `release`
* commit and push project **EasyShell-gh-pages** to GitHub and check the new version from site `http://anb0s.github.io/EasyShell`
57 changes: 57 additions & 0 deletions docs/Windows-Administrator-Terminal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Windows Administrator Terminal

## Command Prompt

### Create a new command for `Command Prompt as Admin` terminal

- go to menu `Window -> Preferences -> EasyShell -> (2) Command`
- enter `prompt` in the search field
- select `Command Prompt` and use `Copy...` button
- in the new dialog
- rename to `Command Prompt as Admin` or similar
- select `Working directory` checkbox
- Change command to `powershell.exe "Start-Process cmd -Verb RunAs"`
![image](https://user-images.githubusercontent.com/95811/109027578-3d0d9c80-76c1-11eb-9315-ce016be96667.png)
- accept with `OK`

### Create new menu with the command

- go to menu `Window -> Preferences -> EasyShell -> (1) Menu`
- Use `Add...` button
- enter Filter `admin`
- select `Open - Command Prompt as Admin (User)`

![image](https://user-images.githubusercontent.com/95811/109031691-3e40c880-76c5-11eb-8981-2b48fd9570c8.png)
- accept with `OK`

## Powershell Prompt

### Create a new command for `PowerShell as Admin` terminal

- go to menu `Window -> Preferences -> EasyShell -> (2) Command`
- enter `powershell` in the search field
- select `PowerShell` and use `Copy...` button
- in the new dialog
- rename to `PowerShell as Admin` or similar
- Change command to `powershell.exe -command "Start-Process powershell -Verb RunAs -ArgumentList '-NoExit', '-Command', 'cd ${easyshell:container_loc}'"`
![image](https://user-images.githubusercontent.com/95811/109144127-14d57a80-7761-11eb-9946-df2379afaf9a.png)
- accept with `OK`

### Create new menu with the command
- go to menu `Window -> Preferences -> EasyShell -> (1) Menu`
- Use `Add...` button
- enter Filter `powershell`
- select `Open - PowerShell as Admin (User)`

![image](https://user-images.githubusercontent.com/95811/109031898-70eac100-76c5-11eb-8b00-febe2ae5f1a3.png)
- accept with `OK`

## Arrange menu entries
Now you can select the new menu entries and use buttons `Up` and `Down` to move them to the place in the menu you want.

![image](https://user-images.githubusercontent.com/95811/109032353-dc349300-76c5-11eb-8e5f-9d98cad87904.png)

## Test via `Alt + E` or `Alt + O`
Select the resource in you Eclipse explorer and use `Alt + E` or `Alt + O` or context menu to run EasyShell

![image](https://user-images.githubusercontent.com/95811/109032748-40efed80-76c6-11eb-904c-d444ac729d21.png)
30 changes: 30 additions & 0 deletions docs/Windows-Terminal-App.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Windows Terminal App

## Open Terminal
See: https://docs.microsoft.com/de-de/windows/terminal/command-line-arguments?tabs=windows

## Create a new command for `Windows Terminal`
Open EasyShell preferences go to `(2) Command` and add new command:

![image](https://user-images.githubusercontent.com/95811/112133452-047fb680-8bcc-11eb-8d31-a41e0a1ffdb1.png)

* Category `Open`
* Name: `Windows Terminal`
* Command: `wt new-tab -d "${easyshell:container_loc}" --title "${easyshell:project_name}"`

Press `OK `and then `Apply and Close` (because of reloading command issues => will fix this later)

Reopen EasyShell preferences go to `(1) Menu` and create new menu and select new command:

![image](https://user-images.githubusercontent.com/95811/112134165-b919d800-8bcc-11eb-8fa0-4434a5b032e5.png)
Filter: `terminal`
Press `OK ` and then move the new menu entry with `Up` and `Down` to wanted place:

![image](https://user-images.githubusercontent.com/95811/112134334-ecf4fd80-8bcc-11eb-8fe9-37f43c712cce.png)
then `Apply and Close`

Now it should open the folder:

![image](https://user-images.githubusercontent.com/95811/112134839-6d1b6300-8bcd-11eb-836e-22e139805d98.png)

![image](https://user-images.githubusercontent.com/95811/112134954-8f14e580-8bcd-11eb-821e-dcc2c51348bc.png)
2 changes: 1 addition & 1 deletion platform/Eclipse-2022-03.target
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="eclipse-2020-03(4.23)" sequenceNumber="6">
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="eclipse-2022-03(4.23)" sequenceNumber="6">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.sdk.ide" version="0.0.0"/>
Expand Down
2 changes: 1 addition & 1 deletion plugin/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11
23 changes: 0 additions & 23 deletions readme.txt

This file was deleted.