Open codeconsole opened 2 months ago
Adding the following to application.yml resolves stop-app
but results in new unwanted behavior is Java 21
grails> stop-app
2024-09-15T23:08:38.955-04:00 INFO 41394 --- [ Thread-12] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2024-09-15T23:08:38.956-04:00 INFO 41394 --- [ Thread-12] o.a.c.c.C.[Tomcat].[localhost].[/] : Destroying Spring FrameworkServlet 'dispatcherServletRegistration'
<=======<===========--> 85% EXECUTING [9s]
> :bootRun
grails> Error opening zip file or JAR manifest missing: ~/.sdkman/candidates/java/21.0.4-graal/lib/management-agent.jar
FAILURE: Build failed with an exception.
% java -version
java version "21.0.4" 2024-07-16 LTS
Java(TM) SE Runtime Environment Oracle GraalVM 21.0.4+8.1 (build 21.0.4+8-LTS-jvmci-23.1-b41)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.4+8.1 (build 21.0.4+8-LTS-jvmci-23.1-b41, mixed mode, sharing)
I don't think management-agent.jar
has existed since Java 8. I think this is related to a bug with stop-app
because if I run quit
instead of stop-app
it seems to shutdown using the same mechanism (the actuator), but shuts down fine.
==========--> 85% EXECUTING [12s]
grails> quit
| Application shutdown.
@codeconsole Please verify that grailsw now has the correct line endings on https://github.com/grails/grails-wrapper/releases/tag/v5.0.0
@jamesfredley the wrapper now works and has the correct line endings. What caused it to be generated the previous way that did not work?
It was copied from a Windows machine and my guess is that the line endings were changes during git clone
. Those files have not changed since 2017: https://github.com/grails/grails-wrapper/tree/5.0.x/shell
@codeconsole Did you have mavenCentral()
in repositories{}
and profile ("org.grails.profiles:web")
in dependencies{}
when the error occurred? If you run gradle assemble
do you get the same error?
Error Could not resolve all artifacts for configuration ':testRuntimeClasspath'. Type 'gradle dependencies' for more information
@jamesfredley yes. I have those things. if I run gradle assemble
, I get
Execution failed for task ':distTar'.
> Entry website-0.1/lib/jaxb-core-4.0.5.jar is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/8.10.1/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
I figured out which test dependency is causing the failure. It is just one that causes the failure:
testImplementation("org.grails.plugins:geb")
Looks like the stop-app
issue has already been reported
@codeconsole the Error Could not resolve all artifacts for configuration ':testRuntimeClasspath'. Type 'gradle dependencies' for more information
issue can be resolved with the following. grails-wrapper
can only load on a project that will assemble
. I suspect you will also have to do this for distZip, at a minimum.
distTar {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
Bigger picture, if that issue is going to occur on all projects, then it should be addressed globally. Possibly in:
https://github.com/grails/grails-core/blob/7.0.x/gradle/assemble.gradle#L85-L89
For stop-app, how do you want to approach it and do you want to take a swing at it? Having it call quit
looks like a potentially quick path, although it would exit grailsw, if it is running in interactive mode.
https://github.com/grails/grails-core/pull/13648 - a WIP for duplicatesStrategy at a higher level
@jamesfredley how is testImplementation("org.grails.plugins:geb")
causing this in the first place? and how would adding a duplicatesStrategy
do a distribution affect/fix something specific to the test environment?
I do not know why, but with Gradle 8 this is occurring more often.
Using https://github.com/grails/grails-wrapper/releases/tag/v5.0.0
Issues with Line Separator
this happens because the Line Separator used is different from the one in sdkman
It uses CRLF and should just be LF
Issues Resolving Test Dependencies
if I take grailsw from sdkman 5.3.6
if I comment out all the test dependencies it works.
stop-app doesn't appear to work