Skip to content

Commit

Permalink
Eclipse 2022-12: Sample code; narration, other final updates
Browse files Browse the repository at this point in the history
  • Loading branch information
howlger committed Dec 5, 2022
1 parent a5f7d52 commit 9f71dfc
Show file tree
Hide file tree
Showing 25 changed files with 227 additions and 99 deletions.
25 changes: 12 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
[2019-06](https://github.com/howlger/Eclipse-IDE-improvements-videos/tree/2019-06)
</sup>

# +++ Work in progress (for December 7, 2022) +++<br> Eclipse IDE 2022-12 Improvements Video
# [Eclipse IDE 2022-12 Improvements Video](https://youtu.be/jJau4kUoLrA)

* [December 7, 2022](https://calendar.google.com/calendar/event?eid=N2t1M2FmNWM1dnRianM1MWFmZG44dTAxYjkgZ2NoczdubTRudnBtODM3NDY5ZGRqOXRqbGtAZw&ctz=Europe/Berlin) ([calendar](https://calendar.google.com/calendar/[email protected]&ctz=Europe/Berlin)) - [65 projects](https://projects.eclipse.org/releases/2022-12) ([-1 +0 → 65](projects_diff.txt)) - [wiki](https://wiki.eclipse.org/Category:SimRel-2022-12) - [website](https://eclipse.org/eclipseide/2022-12) ([New & Noteworthy](https://eclipse.org/eclipseide/2022-12/noteworthy)) - [splash screen](https://bugs.eclipse.org/bugs/show_bug.cgi?id=575781)
* Builds: [latest unreleased](https://download.eclipse.org/technology/epp/staging/)[released](https://download.eclipse.org/technology/epp/downloads/release/2022-12/) ([Jenkins](https://ci.eclipse.org/packaging/job/simrel.epp-tycho-build), [log](https://git.eclipse.org/c/simrel/org.eclipse.simrel.build.git/log/), update sites: [staging](https://download.eclipse.org/staging/2022-12), [release](http://download.eclipse.org/releases/2022-12))
Expand Down Expand Up @@ -56,59 +56,58 @@

### Features to show

* **Java <!--[📽️](https://youtu.be/eEXvOjtauxI?t=16s)-->**
* **Java [📽️](https://youtu.be/jJau4kUoLrA?t=16s)**
* [Java 19 support](https://www.eclipse.org/eclipse/news/4.26/jdt.php#Java_19):
* JEP 405: Record Patterns (Preview)
* [JEP 405: Record Patterns (Preview)](https://openjdk.org/jeps/405)
* e.g. `if (o instanceof Node(Object left, Object right)) ...`
* Nested: `if (o instanceof Node(Object left, Node(Object rl, Object rr)) ...`
* JEP 427: Pattern Matching for switch (Third Preview):
* [JEP 427: Pattern Matching for switch (Third Preview)](https://openjdk.org/jeps/427):
* As `instanceof` with optional binding, e.g. `case String s -> System.out.println("Hello " + s);`;
* Optional `when` clause, e.g. `case String s when !s.isBlank() -> ...`;
* Combination of JEP 405 + 427
* ... JEP 425: Virtual Threads (Preview) and other non-language changes (all as preview features)
* (... JEP 425: Virtual Threads (Preview) and other non-language changes (all as preview features))
* Java editor:
* [Improved _Extract local variable_ refactoring](https://www.eclipse.org/eclipse/news/4.26/jdt.php#smarter-extract-local): takes preceding null check into account, e.g. `if (s == null || s.length()) ...`
* [New quick assists (Ctrl+1) for classes with fields](https://www.eclipse.org/eclipse/news/4.26/jdt.php#new-class-assists):
* Create getters and setters
* Create hashCode() and equals() methods
* Create toString() method
* [Improved _Extract local variable_ refactoring](https://www.eclipse.org/eclipse/news/4.26/jdt.php#smarter-extract-local): takes preceding null check into account, e.g. `if (s == null || s.length()) ...`
* ([Performance](https://github.com/search?utf8=%E2%9C%93&q=performance+OR+speed+OR+faster+org%3Aeclipse-jdt+committer-date%3A2022-09-05..2022-12-10&s=committer-date&o=desc&type=Commits):)
* ([Faster JUnit 4 and 5 test finders](https://github.com/eclipse-jdt/eclipse.jdt.ui/commit/cf5968f745bcae0f4cd3036dfcb009737b6d18e4))
* Maven <!--[📽️](https://youtu.be/eEXvOjtauxI?t=159s)-->:
* Maven [📽️](https://youtu.be/jJau4kUoLrA?t=218s):
* [_Automatically update Maven projects configuration_ enabled by default](https://github.com/eclipse-m2e/m2e-core/blob/master/RELEASE_NOTES.md#automatic-configuration-updates-of-maven-projects-enabled-by-default), e.g. when changing [compiler settings](https://stackoverflow.com/a/68058292/6505250), e.g. for `--add-exports java.base/sun.security.util=ALL-UNNAMED`
* [Autocompletion for more directory/file based properties](https://github.com/eclipse/lemminx-maven/pull/297): for mojo parameters with `type=File` or name ending with `Directory`
* [Managed version info on hover](https://github.com/eclipse/lemminx-maven/pull/298)
* [Performance and memory consumption improvements](https://github.com/eclipse-m2e/m2e-core/blob/master/RELEASE_NOTES.md#performance-and-memory-consumption-improvements): [for large deeply nested multi-module projects, the build performance has been improved and the memory consumption has been reduced](https://github.com/eclipse-m2e/m2e-core/commit/281038aa6fdf411a8038e8c50ece86fa11bfe3eb)
* ([Performance and memory consumption improvements](https://github.com/eclipse-m2e/m2e-core/blob/master/RELEASE_NOTES.md#performance-and-memory-consumption-improvements): [for large deeply nested multi-module projects, the build performance has been improved and the memory consumption has been reduced](https://github.com/eclipse-m2e/m2e-core/commit/281038aa6fdf411a8038e8c50ece86fa11bfe3eb))
* ([Improved connectors for bnd-maven-plugin and maven-bundle-plugin](https://github.com/eclipse-m2e/m2e-core/blob/master/RELEASE_NOTES.md#improved-connectors-for-bnd-maven-plugin-and-maven-bundle-plugin))
* ([Console support for polyglot Maven projects and projects without Maven nature](https://github.com/eclipse-m2e/m2e-core/blob/master/RELEASE_NOTES.md#console-support-for-polyglot-maven-projects-and-projects-without-maven-nature))
* (**General/Platform <!--[📽️](https://youtu.be/eEXvOjtauxI?t=323s)-->**)
* (**General/Platform <!--[📽️](https://youtu.be/jJau4kUoLrA?t=000s)-->**)
* ([Ctrl+E: Prepend parent directories for file name collisions](https://github.com/eclipse-platform/eclipse.platform.ui/pull/302))
* ([UI](https://github.com/search?utf8=%E2%9C%93&q=dark+OR+light+OR+theme+OR+layout+org%3Aeclipse-platform+org%3Aeclipse-jdt+committer-date%3A2022-09-05..2022-12-10&s=committer-date&type=Commits):)
* (Dark theme:)
* ([Fast view](https://github.com/eclipse-platform/eclipse.platform.images/commit/8c216ca0527d7c85c8628dc11d1779de3e3c12c2) and [fast view restore](https://github.com/eclipse-platform/eclipse.platform.ui/commit/7a9fb73d375d1d1d6e51b9391ca1845472c4d777) icons)
* ([_Project > Properties: Resource > Linked Resources_](https://github.com/eclipse-platform/eclipse.platform.ui/commit/5c05000b06c4f17e9af8158b917643069ab79092))
* ([Performance](https://github.com/search?utf8=%E2%9C%93&q=performance+OR+speed+OR+fast+OR+faster+OR+slow+org%3Aeclipse-platform+committer-date%3A2022-09-05..2022-12-10&s=committer-date&o=desc&type=Commits))
* (MPC uses HTTP**S** only)
* **Web <!--[📽️](https://youtu.be/eEXvOjtauxI?t=16s)-->**
* **Web [📽️](https://youtu.be/jJau4kUoLrA?t=302s)**
* XML:
* Editing: Element auto-closing when typing `>`, even without using content assist; adding `/` before `>` removes end tag
* Preferences: _XML (Wild Web Developer) > Formatting_
* _Bind to schema/grammar..._ link at the top of unbound XML files: enabled by default; can be disabled in the preferences _XML (Wild Web Developer) > CodeLense_
* [RELAX NG support](https://github.com/eclipse/lemminx/issues/828) ([samples](https://github.com/eclipse/lemminx/tree/main/org.eclipse.lemminx/src/test/resources/relaxng)):
* [XML syntax (`*.rng`)](https://en.wikipedia.org/wiki/RELAX_NG#XML_syntax): [`<a:documentation>...</a:documentation>`](https://relaxng.org/tutorial-20011203.html#IDA1OZR) shown as hover
* [XML syntax (`*.rnc`)](https://en.wikipedia.org/wiki/RELAX_NG#Compact_syntax)
* [Compact syntax (`*.rnc`)](https://en.wikipedia.org/wiki/RELAX_NG#Compact_syntax)
* HTML: Preferences _HTML (Wild Web Developer)_ with _Formating_, etc.
* CSS/SCSS/LESS: Preferences _CSS (Wild Web Developer)_ with _Validation_, etc.
* TypeScript 4.9, [with e.g. `satisfies` operator](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9-beta/#the-satisfies-operator)
* (YSON/YAML schemas: Preferences _General > Schema Associations_)
* (YAML: Preferences _YAML (Wild Web Developer) > Format_)
* (DTD: Syntax coloring improved)
* **Git <!--[📽️](https://youtu.be/eEXvOjtauxI?t=16s)-->**
* **Git [📽️](https://youtu.be/jJau4kUoLrA?t=588s)**
* _Git Staging_ view: [_Compare with each other_](https://wiki.eclipse.org/EGit/New_and_Noteworthy/6.4#Compare_with_each_other_in_Staging_View)
* ([Show blame menu item in ruler only if not showing blame already](https://git.eclipse.org/c/egit/egit.git/commit/?id=62fc9d7f81bc7b97d443b0d42770cba53d9ac7fc)
* **(Under development)**
* ([Debug: show values inline](https://www.eclipse.org/eclipse/news/4.23/platform.php#inline-debug-values) (not yet supported in Java, JavaScript, etc.))
* ([XML CodeLens preference page](https://github.com/eclipse/wildwebdeveloper/issues/636)[not working yet](https://github.com/eclipse/wildwebdeveloper/issues/644))
* ([Syntax highlighting and more for various languages/formats via the tm4e language pack feature](https://github.com/eclipse/tm4e/pull/374))

## Publish
Expand Down
14 changes: 7 additions & 7 deletions intro_outro_thumbnail.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added narration.odt
Binary file not shown.
4 changes: 2 additions & 2 deletions projects_2022-12.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Eclipse EclEmma 3.1.6
Eclipse Ecore Tools 3.4.0
Eclipse EGit™: Git Integration for Eclipse 6.4.0
Eclipse Embedded CDT (C/C++ Development Tools) 6.3.1
Eclipse EMF Client Platform 1.27.0
Eclipse EMF Client Platform 1.27.0
Eclipse EMF Compare 3.3.20
Eclipse EMF Parsley™ 1.14.0
Eclipse EMF Services 1.13.2
Expand All @@ -35,7 +35,7 @@ Eclipse Memory Analyzer™ 1.13.0
Eclipse Modeling Workflow Engine™ 2.14.0
Eclipse MoDisco 2021-12 (1.5.2)
Eclipse Mylyn Docs 3.0.42
Eclipse OCL™ (Object Constraint Language) 2022-09 (6.18.0)
Eclipse OCL™ (Object Constraint Language) 2022-12 (6.18.0)
Eclipse Oomph™ 1.27.0
Eclipse Packaging Project™ 4.26.0
Eclipse Papyrus™ 6.3.0
Expand Down
5 changes: 3 additions & 2 deletions reset_workspace_and_installation.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
set IDE=java-2022-09
set IDE=java-2022-12
set REPO=sample

set ECLIPSE_DIR=%USERPROFILE%\eclipse\%IDE%
Expand All @@ -11,7 +11,8 @@ set REPO_ZIP=%USERPROFILE%\git\%REPO%.7z

:: only for Eclipse 2022-09
::start C:\Users\Howlger\eclipse-installer\eclipse-inst.exe
echo|set/p=^^^<project.build.sourceEncoding^^^>UTF-8^^^</project.build.sourceEncoding^^^>|clip
::echo|set/p=^^^<project.build.sourceEncoding^^^>UTF-8^^^</project.build.sourceEncoding^^^>|clip
echo|set/p=C:\Program Files\Adoptium\jdk-19.0.1+10|clip

dir "%ECLIPSE_DIR%\p2"

Expand Down
38 changes: 38 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-19">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
23 changes: 23 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Eclipse 2022-12 Improvements</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=19
org.eclipse.jdt.core.compiler.compliance=19
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=19
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
4 changes: 4 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/addresses.dtd
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!ELEMENT addresses (card)*>
<!ELEMENT card (name, email)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT email (#PCDATA)>
6 changes: 6 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/addresses.rnc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
element addresses {
element card {
element name { text },
element email { text }
}*
}
21 changes: 21 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/addresses.rng
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
xmlns:a="http://www.example.com/annotation">
<start>
<element name="addresses">
<zeroOrMore>
<element name="card">
<element name="name">
<a:documentation>
Name displayed
(see &lt;a href="https://example.com">here&lt;/a>)
</a:documentation>
<data type="string" />
</element>
<element name="email">
<data type="anyURI" />
</element>
</element>
</zeroOrMore>
</element>
</start>
</grammar>
16 changes: 16 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/addresses.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="addresses">
<xs:complexType>
<xs:sequence>
<xs:element name="card" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="email" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
10 changes: 10 additions & 0 deletions sample_code/Eclipse 2022-12 Improvements/contacts.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<addresses>
<card>
<name>Jane</name>
<email>[email protected]</email>
</card>
<card>
<name>Anne</name>
<email>[email protected]</email>
</card>
</addresses>
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,42 @@
<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.source>19</maven.compiler.source>
<maven.compiler.target>19</maven.compiler.target>

<!-- XML (Wild Web Developer):
editing improvements + formatting preferences -->
</properties>
<repositories>
<repository>
<id>ecentral</id>
<url>https://raw.githubusercontent.com/jmini/ecentral/HEAD/repo</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>fr.jmini.ecentral</groupId>
<artifactId>eclipse-platform-dependencies</artifactId>
<version>4.25</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<compilerArgs>
<arg>--add-exports</arg>
<arg>java.base/sun.security.util=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<includesFile>surefireIncludes.txt</includesFile>
<classesDirectory>target/classes-gen</classesDirectory>
</configuration>
</plugin>
</plugins>
Expand Down
Loading

0 comments on commit 9f71dfc

Please sign in to comment.