Comments (4)
after having investigated potentials fixes and verified that no other file is problematic with the current build process, it appears we have two choices:
- publish the extra artifacts to Maven Central (addons isn't directly concerned, but
docsZip
task in reactor-core comes to mind) - implement a convoluted solution to have different set of artifacts deployed to Artifactory vs Maven Central
-
was suggested by @mp911de who does that for Lettuce. It wasn't explored earlier because we were under the impression Maven Central would reject a zip outright (since Artifactory-to-Bintray step would reject it. so this was probably a limitation imposed by bintray rather than one for the benefit of Maven Central?)
-
is convoluted but boils down to disabling pom and module generation tasks for the extra publication and triggering a copy of the
mavenJava
publication's own pom into the folder of the extra publication, so thatartifactoryPublish
(andextractBuildInfo
) can find it. The root cause for the empty pom is still unclear, because it appears there is some amount of randomness to it. (ie we have snaphots with empty poms then snapshots with correct pom). It seems to be related to the fact that anyMavenPublication
implicitly generates a pom and that the extra's pom (empty) would somehow replace the mavenJava pom (full) but not all the time.
from reactor-addons.
this is the sort of hoops solution 2 would make us jump through:
//this seems to be key in avoiding pom.xml overwrites while still allowing publishAllPublicationsToXxxRepository
tasks.all {
if (it.name.contains("ArtifactoryOnlyPublication")) {
println "disabling $it.name"
enabled = false
}
}
task copyPom(type: Copy) {
dependsOn tasks.withType(GenerateMavenPom).matching {
it.name.contains("MavenJava")
}
from "$buildDir/publications/mavenJava/pom-default.xml"
into "$buildDir/publications/artifactoryOnly/"
}
if (rootProject.hasProperty("artifactory_publish_password")) {
apply plugin: "com.jfrog.artifactory"
afterEvaluate {
tasks.getByName("extractModuleInfo").dependsOn(tasks.copyPom)
}
//...
}
from reactor-addons.
we'll be implementing solution 1 and publish the extra artifacts (docsZip, etc...) for the time being.
from reactor-addons.
from reactor-addons.
Related Issues (20)
- Switch to Github Actions for CI
- Publish to artifactory using GHA
- Guava's ListenableFuture to Mono/Flux adapter HOT 2
- reactor.retry.Retry is incompatible with the reactor-core reactor.util.retry HOT 1
- RxJava3Adaptor.monoToSingle causes inconsistent behavior in IntegrationTest and real-world test HOT 4
- MathFlux sumBigDecimal looses scale of BigDecimal HOT 3
- 3.6.0 deprecated removal: CacheFlux and CacheMono
- Removing deprecated processors
- Move reactor.swing.SwtScheduler.java to reactor.swt.SwtScheduler.java HOT 2
- Deprecating reactor-extra's Swing/SwtScheduler (removal in 3.6.0) HOT 2
- Remove kotlin extensions (deprecated since 3.3.0)
- Deprecating Retry (removal in 3.6.0)
- 3.6.0 deprecated removal: Retry
- 3.6.0 deprecated removal: misc (swing/swt, ...)
- RxJava 3.1.x support HOT 8
- Make operators derived from MonoSubscriber either implement QueueSubscription or stop being Fuseable
- RxJava3Adapter.singleToMono() doesn't cascade dispose() calls up the chain to the RxJava disposable
- Suggest reactor version of semaphore implementation HOT 4
- Deprecate Repeat functionality 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-addons.