Skip to content

Commit 002215f

Browse files
committed
Merge branch 'pure-maven-build' into unified_packages
2 parents add4cb4 + 3f94227 commit 002215f

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

CHANGELOG.md

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
1717
- Supported Eclipse version: 2022-12
1818
- Third variant: bindings of parameters and local variables are also resolved
1919
- Migration to MDSD Tools organization
20+
- Converted Maven Tycho-based build to pure Maven build
2021
- Unification and renaming of packages to: `tools.mdsd.jamopp`
2122
- Renaming of meta-model namespace URI to: `https://mdsd.tools/jamopp/java`
23+
- Upgraded dependency versions to:
24+
- Apache Commons Bytecode Engineering Library 6.7.0
25+
- Apache Log4j 2 2.20.0 including the Log4j 1.x bridge
2226

2327
### Deprecated
2428

@@ -28,4 +32,70 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
2832

2933
### Security
3034

31-
[Unreleased]: https://github.com/MDSD-Tools/TheExtendedJavaModelParserAndPrinter/compare/releases/5.1.0...HEAD
35+
## [5.1.0] - 2022-01-21
36+
37+
From here, independent development by the Modelling for Continuous Software Engineering (MCSE) group at the Institute of Information Security and Dependability (KASTEL) at the Karlsruher Institute of Technology (KIT) resulting in the following changes.
38+
39+
### Added
40+
41+
- Meta-model support for features of Java 7-15:
42+
- Java 7
43+
- Diamond in class instance creation expressions
44+
- `try`-with-resources statements
45+
- Multi-`catch`
46+
- Binary integer literals
47+
- Java 8
48+
- Lambda expressions
49+
- Method reference expressions
50+
- Receiver parameters
51+
- Default interface methods
52+
- Further positions of annotations
53+
- Java 9
54+
- Modules
55+
- Java 10/11
56+
- `var` as local variable type
57+
- Java 14
58+
- Switch expressions
59+
- Java 15
60+
- Text blocks
61+
- Meta-model extensions:
62+
- `origin` field in the `JavaRoot` to represent the source (source file, class file, file from an archive, binding) of a Java model
63+
- `Reference`s include an optional list of `TypeReference`s to store concrete types and type arguments in contexts in which the types are usually inferred
64+
- Manual printer implementation
65+
- Parser implementation based on Eclipse JDT which converts the AST to a model
66+
- First variant for the reference resolution: Eclipse JDT bindings are used to directly set references
67+
- Third variant for the reference resolution (as combination of first and second one): proxy objects which are set for references can be resolved after the parsing (based on the Eclipse JDT bindings) or on demand
68+
69+
### Changed
70+
71+
- Minimum required Java version: Java 11
72+
- Supported Eclipse version: 2021-12
73+
- Update to Apache Commons Byte Code Engineering Library 6.5.0
74+
- Meta-model: `TypeReference` inherits from `ArrayTypeable` so that a type can store information about array dimensions and if it is an array
75+
- Turned the extended reference resolution mechanism from the original version into the second variant for the reference resolution: proxy objects which are set for references are resolved on demand
76+
- Standalone version is based on the first variant
77+
78+
### Removed
79+
80+
- Java syntax definition in CS specification language and the generated parser and printer
81+
82+
### Known Issues
83+
84+
- First variant: ends in `StackOverflowException` because of an endless loop, also affects standalone version
85+
86+
## Original JaMoPP Version - before 2019
87+
88+
Originally, developed by DevBoost GmbH and Software Technology Group, Dresden University of Technology. It consists of the development up to version [1.4.0] and the [development after 1.4.0] resulting in the following features.
89+
90+
- Ecore-based meta-model for the Java programming language covering the syntax up to and including Java 6
91+
- Definition of Java syntax in CS specification language of EMFText to generate a parser (Java source code -> Java model) and printer (Java model -> Java source code)
92+
- Loader for class files which generates Java models from class files (based on Apache Commons Byte Code Engineering Library 6.2.0)
93+
- Extended reference resolution mechanisms of generated EMFText code to connect Java models by language-specific links
94+
- Integration into the Eclipse IDE
95+
- Tests for the parsing (checks if generated model contains the expected elements)
96+
- Tests for the parsing and printing (checks if printed code is equal to parsed code by parsing both source codes with Eclipse JDT and comparing the resulting ASTs)
97+
98+
[Unreleased]: https://github.com/MDSD-Tools/TheExtendedJavaModelParserAndPrinter/compare/releases/5.1.0...HEAD
99+
[5.1.0]: https://github.com/MDSD-Tools/TheExtendedJavaModelParserAndPrinter/compare/8bc07...releases/5.1.0
100+
[development after 1.4.0]: https://github.com/MDSD-Tools/TheExtendedJavaModelParserAndPrinter/compare/e46b0...8bc07
101+
[1.4.0]: https://github.com/MDSD-Tools/TheExtendedJavaModelParserAndPrinter/commit/e46b0003803a8ccda7c3aa380ff2c759937d1ccb

0 commit comments

Comments
 (0)