cas-server local build - gradle failure

290 views
Skip to first unread message

Christian Migowski

unread,
Mar 29, 2021, 12:57:18 PM3/29/21
to CAS Developer
Hello,

I want to make a contribution to the CAS project and am trying to build the server locally, unfortunately it seems I am too stupid to do so :(
I followed the instructions https://apereo.github.io/cas/developer/Build-Process-6X.html which seem pretty straight-forward. I have only used Maven so far and have never used Gradle, so there is probably something very obvious  missing in my local setup, I would be very glad if someone could point me in the right direction.

First I tried to built it from the command line with the following error:
---
/cygdrive/c/git/upstream/cas-server
$ ./gradlew build install --parallel -x test -x javadoc -x check --build-cache --configure-on-demand
Configuration on demand is an incubating feature.

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\git\upstream\cas-server\build.gradle' line: 150

* What went wrong:
A problem occurred evaluating root project 'cas-server'.
> Plugin with id 'maven' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
--- 

Next I tried to import the project to IntelliJ Idea (New -> Project frome existing sources -> Build model Gradle) which brings me this:
---
Unable to find method ''java.lang.String org.gradle.api.artifacts.result.ComponentSelectionReason.getDescription()''.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
---

I stopped the gradle build daemon (using gradlew --stop) and deleted my ~./.gradle/ directory multiple times - no luck :(

Could someone of the experienced CAS developers point me in the right direction what's wrong with my attempts?

Thanks & best regards,
christian

Misagh

unread,
Mar 29, 2021, 3:19:47 PM3/29/21
to CAS Developer
Maybe consider removing "install" from the build command? 

-- Misagh

--
You received this message because you are subscribed to the Google Groups "CAS Developer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-dev+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-dev/b1dded24-1a81-4d50-b811-e2acbf6fce91n%40apereo.org.

Christian Migowski

unread,
Apr 1, 2021, 2:52:44 AM4/1/21
to CAS Developer, Misagh Moayyed
Hi Misagh,

thanks for the hint, that worked, after removing the install task Gradle did build the whole thing! Why cant I install it in my local Maven repository? I did some googleing and found that the CAS build.gradle does not match what the obvious gradle documentation said, there they always mention a plugins section which does not exist in CAS version?! Anyway, build was important and that worked so now I submitted my pull request, maybe you or one of the other developers can have a look at it: https://github.com/apereo/cas/pull/5116 it will remove for sure a lot of copy&paste on our side, thanks in advance :)

Some more points: 
- my problems with IntelliJ were rooted in the fact that I was using a slightly older version (2019.3.5) which has bugs, using the most recent version worked. Using the VM settings mentioned on https://apereo.github.io/cas/developer/Build-Process-6X.html#intellij-idea does not work with the latest version of OpenJdk 11 (IntelliJ does not start, complains about invalid VM settings), the key point to make it ingest the CAS project is giving it a lot of memory, do you mind if I do a PR for the documentation which reflects this observations so other devs do not have to spend that time figuring it out?

- i cannot run the tests using the testcas.sh script, e.g. when I do
./testcas.sh --category oidc
the tests fail because they obviously run partly on some outdated classes - which I really do not understand because I just build the whole thing with gradle on the same shell just fine?! Is there another pro-tip you can give me on running the tests for a Gradle-newbie?
Problem is for now this:
java.lang.NoSuchMethodError: 'void org.apereo.cas.oidc.web.controllers.logout.OidcLogoutEndpointController.<init>(org.apereo.cas.oidc.OidcConfigurationContext, java.util.function.BiFunction)'
like I said, this constructor exists and just compiled fine during build... is this related to the fact that I cannot install the new builds? I really dont get it, glacing over it the test ask works with all the OIDC submodules, also the ones that contain the changed classes :(


Thanks in advance and best regards,
christian

Misagh

unread,
Apr 1, 2021, 2:58:43 AM4/1/21
to CAS Developer
> thanks for the hint, that worked, after removing the install task Gradle did build the whole thing! Why cant I install it in my local Maven repository?

Please see (publishToMavenLocal):
https://docs.gradle.org/current/userguide/publishing_maven.html

> maybe you or one of the other developers can have a look at it: https://github.com/apereo/cas/pull/5116 it will remove for sure a lot of copy&paste on our side, thanks in advance :)

Sure. Make sure your pull request passes CI on your fork, and when
it's done, ask for a review please.

> - my problems with IntelliJ were rooted in the fact that I was using a slightly older version (2019.3.5) which has bugs, using the most recent version worked. Using the VM settings mentioned on https://apereo.github.io/cas/developer/Build-Process-6X.html#intellij-idea does not work with the latest version of OpenJdk 11 (IntelliJ does not start, complains about invalid VM settings), the key point to make it ingest the CAS project is giving it a lot of memory, do you mind if I do a PR for the documentation which reflects this observations so other devs do not have to spend that time figuring it out?

Not at all. Please do.

> like I said, this constructor exists and just compiled fine during build... is this related to the fact that I cannot install the new builds? I really dont get it, glacing over it the test ask works with all the OIDC submodules, also the ones that contain the changed classes :(

Perhaps you're affected by this? https://github.com/apereo/cas/pull/5115
Reply all
Reply to author
Forward
0 new messages