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

Quartz dependency in context-support POM should be optional [SPR-5803] #10473

Closed
spring-projects-issues opened this issue Jun 4, 2009 · 8 comments
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

Dave Syer opened SPR-5803 and commented

Forcing people to download Quartz or specifically exclude it is inconsiderate (especially when the dependency is not available in Maven Central). It should be marked as optional.


Affects: 3.0 M3

Referenced from: commits 0c16554

@spring-projects-issues
Copy link
Collaborator Author

Dave Syer commented

org.opensymphony:quartz is better than quartz:quartz too (if you want 1.6.*). Unfortunately it seems that 1.6.2 is not in Maven Central (is it mandatory, or could we depend on 1.6.1?).

@spring-projects-issues
Copy link
Collaborator Author

Dave Syer commented

The pom also has opensymphony:quartz-all:1.6.0 (optional). Either this is needed or quartz:quartz, but not both surely? (And whichever it is should be optional.)

@spring-projects-issues
Copy link
Collaborator Author

Luke Taylor commented

I'm also coming across this in the security build.

Versions 1.6.2 (and the latest, 1.6.3) appear to be under opensymphony:quartz (http://repo2.maven.org/maven2/opensymphony/quartz/) rather than org.opensymphony.quartz:quartz, so they are available in maven central.

@spring-projects-issues
Copy link
Collaborator Author

Mark Pollack commented

That is good news Luke, I couldn't find that location despite using the various maven repo search engines, perhaps because there isn't a pom in that location. I'll change the dependency to look in that location. I'm not sure why quartz-all is there, I'll look into it and I suspect it can be removed leaving just the plain 'quartz' artifiactId dependency.

Quartz is required only to run the Spring unit tests under maven as a verification step for the spring poms, so I can label it with scope = test. Sound ok?

@spring-projects-issues
Copy link
Collaborator Author

Dave Syer commented

Not sure what you mean, Mark. JobDetailBean depends on org.quartz.* at compile time, so wouldn't it be more correct to use

<scope>compile</scope>
<optional>true</optional>

(Although, scope=compile is the default so you don't need that.)

@spring-projects-issues
Copy link
Collaborator Author

Mark Pollack commented

I don't use the maven pom to compile, I use spring-build.

@spring-projects-issues
Copy link
Collaborator Author

Dave Syer commented

I know, but the POM tells the consumer of Spring what kind of dependency this is. It is not a test dependency, it is a compile-time dependency (i.e. some code in this jar file uses org.quartz directly), so some classes in spring-context-support.jar cannot be loaded without Quartz on the classpath. That's important for clients of the jar to use, not just builders.

@spring-projects-issues
Copy link
Collaborator Author

Mark Pollack commented

OK, thanks. Will mark as optional and point to the maven repo location that Luke found.

@spring-projects-issues spring-projects-issues added type: enhancement A general enhancement in: core Issues in core modules (aop, beans, core, context, expression) labels Jan 11, 2019
@spring-projects-issues spring-projects-issues added this to the 3.0 M4 milestone Jan 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

1 participant