Comments (4)
Gradle custom task to qualify the version (this task correctly parses qualifiers of old scheme milestones and release candidates with the dot separator, as well as dash separator):
import org.gradle.util.VersionNumber
def qualifyVersion(String v) {
def versionNumber = VersionNumber.parse(v)
if (versionNumber == VersionNumber.UNKNOWN) return "BAD";
if (versionNumber.qualifier == null || versionNumber.qualifier.size() == 0) return "RELEASE" //new scheme
if (versionNumber.qualifier == "RELEASE") return "RELEASE" //old scheme
if (versionNumber.qualifier.matches("(?:M|RC)\\d+")) return "MILESTONE"
if (versionNumber.qualifier == "SNAPSHOT" || versionNumber.qualifier == "BUILD-SNAPSHOT") return "SNAPSHOT"
return "BAD"
}
task qualifyVersionGha() {
def versionType = qualifyVersion(version)
if (versionType == "BAD") {
println "::warning ::Unable to parse $version to a VersionNumber with recognizable qualifier"
}
println "::set-output name=versionType::$versionType"
println "::set-output name=fullVersion::$version"
}
from reactor.
While evaluating this solution, a few things that came up for consideration:
- the artifactory and signing plugins are only loaded if relevant credentials are accessible
- since we'd like to draft releases notes earlier than currently, it doesn't make much sense to use the tag-and-release action. git commands should work thanks to
checkout@v2
so we usegit tag
command - some projects have artifacts that get rejected by Maven Central (eg. docs zip) so we need to differentiate between what goes to Artifactory (everything) and what goes to Central (the
MavenJavaPublication
)
from reactor.
TODO by May's release:
- reactor-kafka
- reactor-rabbitmq
- reactor-kotlin-extensions
- create gha environments for the above
- disable Bamboo plans for the above + disable their dysprosium branch plan as well
from reactor.
This migration is complete as of 2021/04/14
from reactor.
Related Issues (20)
- Remove explicit occurrences of jcenter from build HOT 2
- Release: move tagging step at the end
- Use Spotless plugin to help enforce basic formatting / license HOT 3
- Use Spotless plugin to enforce and update copyright headers HOT 1
- [Reactor Gen4] Discussing switching to a JDK 17 baseline HOT 41
- [Reactor Gen4] Ensuring Reactor 3 can run along Reactor 4 HOT 13
- [Reactor Gen4] The Rationale for a Generation 4 of Reactor HOT 3
- Use Gradle 7.3 HOT 1
- Reproducible Builds
- Remove the Reactive Streams Commons from README.md
- Is there any connection between org.projectreactor:reactor-core and io.projectreactor:reactor-core ? HOT 2
- Incompatible reactor-kotlin-extensions used in 2020.0.x BOM HOT 1
- Add new module reactor-core-micrometer to 2022.0.0-M3 BOM
- No dependency management for `reactor-tools` with classifier `original` HOT 1
- Builds with japicmp should set onlyModified = true / onBinaryIncompatibleModified = false
- Update GHA workflows to avoid warnings around output APIs HOT 1
- Did we have some tools like Java-profilers for perfomance or cost analyzing?
- Consider enabling discussions tab on GitHub
- reactor-tools original classifier should also be part of the BOM HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reactor.