Open thomasnield opened 6 years ago
Do you mean the auto-release? It was a bit long ago but these are the highlights:
@akarnokd yes, auto-release. Thank you, I'll take a look.
Suggestion: do release tags with "-RCx" when testing out things.
@akarnokd will do.
Almost at the finish line I think, but having this issue I can't figure out with the CI build:
* Exception is:
org.gradle.execution.TaskSelectionException: Task 'snapshot' not found in root project 'rxjavafx'.
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:116)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:81)
at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42)
Maybe the travis script still contains the old snapshot
argument somewhere.
[sigh] new level, new devil.
> Task :test FAILED
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> failed to read class file /home/travis/build/ReactiveX/RxJavaFX/build/classes/java/test/io/reactivex/rxjavafx/schedulers/JavaFxSchedulerTest$AsNonApp.class
Are you using compile target 11? The matrix build of RxJava started working for 11+ only after Gradle 5M1.
I have to target Java 11 as that is where JavaFX has been decoupled and spun off as its own library.
Besides trying Gradle 5, is there another approach I can take?
Prior Gradle simply won't work with Java 11 class files. Compile target 10 works for tests but it may complain about 11 API use.
Got it built successfully, thanks!
So close... I'm near the finish line. The artifact isn't getting pushed out for some reason. I am noticing this in the CI ouput:
> Task :bintrayUpload
Task ':bintrayUpload' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Gradle Bintray Plugin version: 1.7.3
Skipping task rxjavafx
:bintrayUpload (Thread[main,5,main]) completed. Took 0.035 secs.
I haven't encountered this error but I haven't tried deploying with Gradle 5M+ before. May be worth trying 1.8.4 of the plugin.
@thomasnield you don't need both maven
and maven-publish
plugins since they do the same thing. maven-publish
is a modern one. See my changes here https://gist.github.com/technoir42/fc3275a3ecd83e6c9bd9deccaf80f265/revisions.
To publish to mavenLocal using the new plugin use ./gradlew publishToMavenLocal
.
@technoir42 :thinking: okay... so running ./gradlew publishToMavenLocal
with these changes are supposed to make the artifacts appear on BinTray?
@thomasnield no, ./gradlew publishToMavenLocal
will publish to ~/.m2/
aka mavenLocal where you can verify the artifacts and POM metadata (e.g. dependencies). Once you are sure that everything is correct you can publish to Bintray using ./gradlew bintrayUpload
, but I believe you also need to pass -PreleaseMode=full
due to this.
Also, may I suggest you to start from scratch on a test project so you could understand the process and the configuration better?
I got the artifact on BinTray finally, and I think I learned a lot more than I planned in Bintray Travis-based artifact deployments.
The only remaining issue is getting the Maven Central sync to happen. For some reason it is not liking the POM path.
Execution failed for task ':bintrayPublish'.
> Could not sync 'reactivex/RxJava/RxJavaFX/2.11.0-RC22' to Maven Central: HTTP/1.1 400 Bad Request [status:Sync Failed, messages:[Invalid pom path ]]
God, it's tasks like this that make me want to quit programming and become a truck driver. I downgraded to Gradle 4.x and excluded the tests as they don't work with Gradle 5. This created some progress but there's always one more thing.
It looks like the Bintray POM is missing a lot of fields and therefore getting rejected by Maven Central. Strangely if I publish to my local repo the POM is complete :rage:
an exception.
* What went wrong:
Execution failed for task ':bintrayPublish'.
> Could not sync 'reactivex/RxJava/RxJavaFX/2.11.0-RC27' to Maven Central: HTTP/1.1 400 Bad Request [messages:[Invalid POM: /io/reactivex/rxjava2/rxjavafx/2.11.0-RC27/rxjavafx-2.11.0-RC27.pom: Project name missing, Project description missing, Project URL missing, License information missing, SCM URL missing, Developer information missing, Invalid version for Dependency {groupId=junit, artifactId=junit-dep, version=4.+, type=jar} - uses invalid dynamic version syntax.
Replace with a fixed version or standard mathematical notation e.g., [1.5,) for version 1.5 and higher., Missing: no javadoc jar found in folder '/io/reactivex/rxjava2/rxjavafx/2.11.0-RC27', Missing: no sources jar found in folder '/io/reactivex/rxjava2/rxjavafx/2.11.0-RC27', Dropping existing partial staging repository.], status:Validation Failed]
Any news about this one? I would like to try the release candidates.
@renannprado I haven't given up on this yet. Just been busy with getting married and doing O'Reilly projects. We learned some lessons with RxKotlin that will help us get releases here. I just need to find the time and I also want TornadoFX to finish the Java 11 migration.
I'm having some build issues probably related to deployment tasks. I have a strong guess the Nebula plugin is no longer supported by Netflix, which breaks with newer versions of Gradle.
@akarnokd et al, can you help me get my build files set up correctly?