Spring Security
Go to file
Marcus Da Coregio f06c2b9c62 Move sourceSet Declaration Before configurations
Prior to this commit, with Gradle >= 8.1, we were seeing some NoClassDefFoundError related to the sun/reflect/Reflection class when running integrationTest. The error was caused because Gradle was picking the integrationTestRuntimeClasspath instead of runtimeElements, and the integrationTestRuntimeClasspath does not have the proper transitive dependencies.

This commit moves the sourceSet declaration before the configurations declaration, allowing Gradle to create the named configuration automatically using the role with the allowed usage it expects, preventing integrationTestRuntimeClasspath from being selected. The related issue in Gradle is https://github.com/gradle/gradle/issues/26461

Issue gh-13408
2023-09-21 15:28:25 +01:00
.github cralwer.algolia.com performs indexing 2023-06-08 13:46:46 -05:00
.idea Fix checkstyle rules could not be parsed 2020-11-23 14:33:18 -05:00
.vscode Make eclipse/vscode project import work 2023-06-05 13:34:30 -06:00
acl Merge branch '5.8.x' 2022-08-23 16:03:50 -05:00
aspects Merge remote-tracking branch 'origin/5.8.x' 2022-09-20 16:11:16 -06:00
bom fix bom 2021-05-17 22:29:45 -05:00
buildSrc Move sourceSet Declaration Before configurations 2023-09-21 15:28:25 +01:00
config Merge branch '5.8.x' into 6.0.x 2023-09-19 14:20:01 +01:00
core Fix allOf/anyOf Abstain Logic 2023-07-11 17:02:07 -06:00
crypto Avoid exception if PBKDF2WithHmacSHA256 is not available 2023-04-04 09:33:12 -03:00
data Use SecurityContextHolderStrategy for Data 2022-06-27 16:36:13 -06:00
dependencies Update spring-ldap-core to 3.0.5 2023-08-18 16:01:18 -05:00
docs Merge branch '5.8.x' into 6.0.x 2023-08-09 09:55:39 -03:00
etc Merge branch '5.8.x' into 6.0.x 2023-02-28 16:53:33 -06:00
git/hooks Use 6.0.x instead of 3.0.x as default branch 2022-08-24 16:38:27 -05:00
gradle/wrapper Upgrade to Gradle 8.3 2023-09-21 15:28:24 +01:00
itest use-authorization-manager defaults to true 2022-10-06 08:12:46 -06:00
ldap Merge branch '5.8.x' into 6.0.x 2022-12-15 15:53:00 -06:00
messaging Read Extracted Variables 2023-03-23 09:57:31 -06:00
oauth2 Merge branch '5.8.x' into 6.0.x 2023-09-12 17:00:47 -05:00
rsocket Adjust OAuth2 Resource Server packaging 2022-09-23 16:31:21 -06:00
saml2/saml2-service-provider Merge branch '5.8.x' into 6.0.x 2023-09-12 18:48:13 -05:00
scripts Exclude duplicate issues from changelog 2022-04-20 09:03:57 -03:00
taglibs Use SecurityContextHolderStrategy for Taglibs 2022-06-27 17:48:30 -06:00
test Merge branch '5.8.x' into 6.0.x 2023-05-31 15:42:41 -06:00
web Resolve The matchingRequestParameterName From The Query String 2023-09-14 21:25:25 +01:00
.editorconfig Fixed link in .editorconfig 2021-10-13 15:36:10 -06:00
.gitattributes Install Structure101 Plugin 2021-09-27 14:56:03 -06:00
.gitignore Ignore Lock Files 2020-02-07 13:59:05 -06:00
.sdkmanrc Update java version to 17.0.3-tem 2022-06-14 14:43:34 -05:00
CONTRIBUTING.adoc Add rncToXsd task description to CONTRIBUTING.adoc 2022-10-03 10:09:27 -03:00
LICENSE.txt Add LICENSE.txt 2020-04-15 16:44:13 -05:00
README.adoc Merge branch '5.8.x' into 6.0.x 2023-03-20 16:59:52 -06:00
RELEASE.adoc Add automated release info to release doc 2022-08-16 11:46:04 -05:00
build.gradle Merge branch '5.8.x' into 6.0.x 2023-09-13 14:23:01 +01:00
class_mapping_from_2.0.x.txt SEC-1148: Simple classname mapping from 2.0 to 3.0 2009-12-02 22:44:30 +00:00
gradle.properties Next development version 2023-09-18 16:10:25 +00:00
gradlew Upgrade to Gradle 8.3 2023-09-21 15:28:24 +01:00
gradlew.bat Upgrade to Gradle 8.3 2023-09-21 15:28:24 +01:00
notice.txt URL Cleanup 2019-03-19 23:53:23 -05:00
settings.gradle Remove /plugins-release and /plugins-snapshot from build 2023-05-30 15:25:54 -03:00

README.adoc

image::https://badges.gitter.im/Join%20Chat.svg[Gitter,link=https://gitter.im/spring-projects/spring-security?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge]

image:https://github.com/spring-projects/spring-security/workflows/CI/badge.svg?branch=main["Build Status", link="https://github.com/spring-projects/spring-security/actions?query=workflow%3ACI"]

image:https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Gradle Enterprise", link="https://ge.spring.io/scans?search.rootProjectNames=spring-security"]

= Spring Security

Spring Security provides security services for the https://docs.spring.io[Spring IO Platform]. Spring Security 6.0 requires Spring 6.0 as
a minimum and also requires Java 17.

For a detailed list of features and access to the latest release, please visit https://spring.io/projects[Spring projects].

== Code of Conduct
Please see our https://github.com/spring-projects/.github/blob/main/CODE_OF_CONDUCT.md[code of conduct]

== Downloading Artifacts
See https://docs.spring.io/spring-security/site/docs/current/reference/html5/#getting[Getting Spring Security] for how to obtain Spring Security.

== Documentation
Be sure to read the https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/[Spring Security Reference].
Extensive JavaDoc for the Spring Security code is also available in the https://docs.spring.io/spring-security/site/docs/current/api/[Spring Security API Documentation].

== Quick Start
See https://docs.spring.io/spring-security/site/docs/current/reference/html5/#servlet-hello[Hello Spring Security] to get started with a "Hello, World" application.

== Building from Source
Spring Security uses a https://gradle.org[Gradle]-based build system.
In the instructions below, https://vimeo.com/34436402[`./gradlew`] is invoked from the root of the source tree and serves as
a cross-platform, self-contained bootstrap mechanism for the build.

=== Prerequisites
https://docs.github.com/en/get-started/quickstart/set-up-git[Git] and the https://www.oracle.com/java/technologies/downloads/#java17[JDK17 build].

Be sure that your `JAVA_HOME` environment variable points to the `jdk-17` folder extracted from the JDK download.

=== Check out sources
[indent=0]
----
git clone git@github.com:spring-projects/spring-security.git
----

=== Install all `spring-*.jar` into your local Maven repository.

[indent=0]
----
./gradlew publishToMavenLocal
----

=== Compile and test; build all JARs, distribution zips, and docs

[indent=0]
----
./gradlew build
----

The reference docs are not currently included in the distribution zip.
You can build the reference docs for this branch by running the following command:

----
./gradlew :spring-security-docs:antora
----

That command publishes the docs site to the `_docs/build/site_` directory.
The https://github.com/spring-projects/spring-security/tree/docs-build[playbook branch] describes how to build the reference docs in detail.

Discover more commands with `./gradlew tasks`.

== Getting Support
Check out the https://stackoverflow.com/questions/tagged/spring-security[Spring Security tags on Stack Overflow].
https://spring.io/support[Commercial support] is available too.

== Contributing
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request[Pull requests] are welcome; see the https://github.com/spring-projects/spring-security/blob/main/CONTRIBUTING.adoc[contributor guidelines] for details.

== License
Spring Security is Open Source software released under the
https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].