Releases: KyoriPowered/blossom
🌼 blossom 2.1.0
blossom 2.1.0 is a feature release introducing some minor QOL features, and fixing handling of included files. It should be a straightforward upgrade for existing users of Blossom 2.0.1.
✨ Features
- Add default
variant
template property when using variants by @jpenilla in #37 - feat: Add helper API to make it easier to register custom sets by @zml2008 in #38
🐛 Fixes
Full Changelog: v2.0.1...v2.1.0
🌼 blossom 2.0.1
A hotfix release for blossom 2.0.0. See its release notes for information about the major changes in that release.
🐛 Fixes
Full Changelog: v2.0.0...v2.0.1
🌼 blossom 2.0.0
NOTE 2.0.1 has been released as a hotfix to this version, resolving an issue with applying headers. See its release notes for details about those changes. We recommend using 2.0.1 instead, but the following release notes still provide helpful migration advice.
Blossom 2.0.0 is a complete redesign of the Blossom plugin to provide a fully featured solution for source and resource templating. It is based on the template engine used to build Sponge's math
library. See the README for an introduction to Blossom v2's features.
Migrating from Blossom v1
The key difference in functionality with v2 is that only source files within the specific templates root will be processed as templates -- all other source files will have no other change.
This allows more efficient execution since templates only need to be regenerated when there are actual changes, and means that any compile errors in non-templated files will be linked correctly in IDE logs. Template output will also be exposed correctly to any IDE run configurations, since templates are processed at project import time.
The quickest migration from v1 starts with a buildscript like:
sourceSets {
main {
blossom {
javaSources {
// template values here
property("token", value)
}
}
}
}
Then place files that should be processed as templates in src/main/java-templates
. These are Pebble templates, so the variable syntax is {{ token }}
. See their documentation for more of the language's features.
Substitute java
with groovy
, kotlin
, or scala
as desired.