Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with Deployment of 2.11 #73

Open
thomasnield opened this issue Oct 29, 2018 · 20 comments
Open

Help with Deployment of 2.11 #73

thomasnield opened this issue Oct 29, 2018 · 20 comments

Comments

@thomasnield
Copy link
Collaborator

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?

@thomasnield
Copy link
Collaborator Author

@akarnokd yes, auto-release. Thank you, I'll take a look.

@akarnokd
Copy link
Member

Suggestion: do release tags with "-RCx" when testing out things.

@thomasnield
Copy link
Collaborator Author

@akarnokd will do.

@thomasnield
Copy link
Collaborator Author

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)

@akarnokd
Copy link
Member

Maybe the travis script still contains the old snapshot argument somewhere.

@thomasnield
Copy link
Collaborator Author

thomasnield commented Oct 31, 2018

[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

@akarnokd
Copy link
Member

Are you using compile target 11? The matrix build of RxJava started working for 11+ only after Gradle 5M1.

@thomasnield
Copy link
Collaborator Author

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?

@akarnokd
Copy link
Member

akarnokd commented Nov 1, 2018

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.

@thomasnield
Copy link
Collaborator Author

Got it built successfully, thanks!

@thomasnield
Copy link
Collaborator Author

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.

@akarnokd
Copy link
Member

akarnokd commented Nov 4, 2018

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.

@technoir42
Copy link

technoir42 commented Nov 4, 2018

@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.

@thomasnield
Copy link
Collaborator Author

@technoir42 🤔 okay... so running ./gradlew publishToMavenLocal with these changes are supposed to make the artifacts appear on BinTray?

@technoir42
Copy link

technoir42 commented Nov 21, 2018

@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?

@thomasnield
Copy link
Collaborator Author

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 ]]

@thomasnield
Copy link
Collaborator Author

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 😡

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]

@renannprado
Copy link

Any news about this one? I would like to try the release candidates.

@thomasnield
Copy link
Collaborator Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants