Skip to content

Releases: xtext/xtext-gradle-plugin

4.0.0

06 Mar 13:44
c37d2db
Compare
Choose a tag to compare

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 now SourceSet.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 of classpath = ..., use classpath.from(...) (to append) or classpath.setFrom(...) (to overrwrite)

4.0.0-m2

05 Mar 18:21
c37d2db
Compare
Choose a tag to compare
4.0.0-m2 Pre-release
Pre-release

Fix issue with removed classpath folders.

4.0.0-m1

25 Feb 18:47
55477c0
Compare
Choose a tag to compare
4.0.0-m1 Pre-release
Pre-release

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 now SourceSet.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 of classpath = ..., use classpath.from(...) (to append) or classpath.setFrom(...) (to overrwrite)

3.0.2

16 Mar 10:13
a038c95
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.1...3.0.2

3.0.1

08 Feb 11:22
1738f18
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.0.0...3.0.1

3.0.0

21 Oct 14:50
a897d07
Compare
Choose a tag to compare

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 to false.
  • 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 line java.srcDirs = ['src', 'src-gen'] replace that with java.srcDirs = ['src', 'src-gen', 'xtend-gen']. If it contains the line java.srcDirs = ['src/main/java', 'src/main/xtext-gen'], replace that with java.srcDir 'src/main/xtext-gen'.

3.0.0 Milestone 1

31 Aug 15:11
a897d07
Compare
Choose a tag to compare
3.0.0 Milestone 1 Pre-release
Pre-release

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 using sourceSet.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 to false.

Support multiple file extensions

29 Aug 09:49
d9ddb26
Compare
Choose a tag to compare

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

28 Aug 18:48
bb90dda
Compare
Choose a tag to compare

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

28 Aug 18:42
bb90dda
Compare
Choose a tag to compare
Pre-release

This is just a test release to see if all the plugin-publish logic is set up correctly.