Releases: xtext/xtext-gradle-plugin
4.0.0
This relase brings support for Gradle 8.0 and migrates the plugin to Gradle's Property
API for easier configuration. All usages of Gradle-interal APIs have been removed, improving compatibility with future versions.
Breaking changes:
- Raised minimum Gradle version to 7.1
- Raised minimum Xtext version to 2.17.1
- Raised minimum Java version to 11
SourceSet.xtendOutputDir
is nowSourceSet.xtend.outputDir
- All extension/task properties now use the
Property
API. Groovy build scripts shouldn't need modification, but Kotlin build scripts and other statically compiled plugins will need to be adjusted FileCollection
properties are now final fields. Instead ofclasspath = ...
, useclasspath.from(...)
(to append) orclasspath.setFrom(...)
(to overrwrite)
4.0.0-m2
4.0.0-m1
This relase brings support for Gradle 8.0 and migrates the plugin to Gradle's Property
API for easier configuration. All usages of Gradle-interal APIs have been removed, improving compatibility with future versions.
Breaking changes:
- Raised minimum Gradle version to 7.1
- Raised minimum Xtext version to 2.17.1
- Raised minimum Java version to 11
SourceSet.xtendOutputDir
is nowSourceSet.xtend.outputDir
- All extension/task properties now use the
Property
API. Groovy build scripts shouldn't need modification, but Kotlin build scripts and other statically compiled plugins will need to be adjusted FileCollection
properties are now final fields. Instead ofclasspath = ...
, useclasspath.from(...)
(to append) orclasspath.setFrom(...)
(to overrwrite)
3.0.2
What's Changed
- update tests to Xtext 2.26.0 by @cdietrich in #200
- [eclipse/xtext-xtend#1301] fix targetJavaVersion preference by @cdietrich in #201
Full Changelog: 3.0.1...3.0.2
3.0.1
3.0.0
New & Noteworthy
- Support for "generate once" outlets. If you set
outlet.cleanAutomatically=false
, then generated files in that folder will not be removed or overwritten. Useful for generating stubs that users are expected to modify manually afterwards. (#78) - Full Buildship integration. The language preference files are now automatically generated when importing a project with Buildship. (#72)
- Better Xtext dependency version alignment, reducing the likelihood of problems like #121 or #187
- More robust detection of Xtext version (#81, #129)
Breaking Changes
- Minimum Gradle version raised from 4.3 to 4.7
outlet.cleanAutomatically
is now true by default. This means outlets will wipe their output folders by default. If you want to have a "generate once" outlet, set this option tofalse
.- If you overwrite
java.srcDirs
(rather than adding to it), you will no longer get the Xtend output directory added to the sources. This mostly affects Xtext language projects created with the Xtext wizard. If your project contains the linejava.srcDirs = ['src', 'src-gen']
replace that withjava.srcDirs = ['src', 'src-gen', 'xtend-gen']
. If it contains the linejava.srcDirs = ['src/main/java', 'src/main/xtext-gen']
, replace that withjava.srcDir 'src/main/xtext-gen'
.
3.0.0 Milestone 1
This is a preview of the upcoming 3.0.0 release meant for testing by early adopters.
New & Noteworthy
- Support for "generate once" outlets. If you set
outlet.cleanAutomatically=false
, then generated files in that folder will not be removed or overwritten. Useful for generating stubs that users are expected to modify manually afterwards. (#78) - Full Buildship integration. The language preference files are now automatically generated when importing a project with Buildship. (#72)
- Better Xtext dependency version alignment, reducing the likelihood of problems like #121 or #187
- More robust detection of Xtext version (#81, #129)
Breaking Changes
- Minimum Gradle version raised from 4.3 to 4.7
- If you overwrite
sourceSet.java.srcDirs
, you will no longer get the Xtend/Xbase output folders added to the Java source folders automatically. Prefer usingsourceSet.java.srcDir
(i.e. adding source directories rather than overwriting). If overwriting is necessary for your use case, then you need to add the Xtend/Xbase output folders as Java source folders manually. outlet.cleanAutomatically
is now true by default. This means outlets will wipe their output folders by default. If you want to have a "generate once" outlet, set this option tofalse
.
Support multiple file extensions
The plugin now supports languages with multiple file extensions. The old setFileExtension/getFileExtension
methods have been deprecated in favor of the Set
-valued setFileExtensions/getFileExtensions
. (#71)
The plugin now supports cross-compilation against Java code that uses default methods and other features introduced after Java 7. This requires Xtext 2.11 or later. (#54)
Restore Java 8 compatibility
Xtext (via EMF) has some open version ranges in its transitive dependencies. These ranges recently started picking up equinox.common versions that are not compatible with Java 8. The plugin now automatically corrects these versions back down.
Note: There will be no more releases for the IDEA and Android portions of the plugin, because IDEA support for Xtext/Xtend has been unmaintained for a long time, so supporting it in the plugin no longer makes sense.
Switch to plugin-publish plugin
This is just a test release to see if all the plugin-publish logic is set up correctly.