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/embed?src=gchs7nm4nvpm837469ddj9tjlk@group.calendar.google.com&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
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>jane@example.com</email>
</card>
<card>
<name>Anne</name>
<email>anne@example.com</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

0 comments on commit 9f71dfc

Please sign in to comment.