fr.inria.gforge.spoon:spoon-core

Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.

https://github.com/inria/spoon

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    12 of 157 committers (7.6%) from academic institutions
  • Institutional organization owner
    Organization inria has institutional domain (www.inria.fr)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Keywords

abstract-syntax-tree ast code-analysis code-generation code-transformation compile-time-reflection hacktoberfest inria java java-module java10 java9 metaprogramming parser spoon static-analysis

Keywords from Contributors

transformer developer-tools open-science cryptocurrency programming-language fair web-app research ide program-repair
Last synced: 6 months ago · JSON representation

Repository

Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.

Basic Info
Statistics
  • Stars: 1,853
  • Watchers: 57
  • Forks: 363
  • Open Issues: 352
  • Releases: 97
Topics
abstract-syntax-tree ast code-analysis code-generation code-transformation compile-time-reflection hacktoberfest inria java java-module java10 java9 metaprogramming parser spoon static-analysis
Created over 12 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing Funding License Citation Security Roadmap

README.md

Maven Central GHA tests Workflow Status Coverage Status Maintainability Rating Reproducible Builds

Spoon

Spoon is an open-source library to analyze, rewrite, transform, transpile Java source code. It parses source files to build a well-designed AST with powerful analysis and transformation API. It supports modern Java versions up to Java 20. Spoon is an official Inria open-source project, and member of the OW2 open-source consortium.

Documentation

The latest official documentation is available at https://spoon.gforge.inria.fr/.

Academic usage

If you use Spoon for academic purposes, please cite: Renaud Pawlak, Martin Monperrus, Nicolas Petitprez, Carlos Noguera, Lionel Seinturier. “Spoon: A Library for Implementing Analyses and Transformations of Java Source Code”. In Software: Practice and Experience, Wiley-Blackwell, 2015. Doi: 10.1002/spe.2346.

@article{pawlak:hal-01169705, TITLE = "{Spoon: A Library for Implementing Analyses and Transformations of Java Source Code}", AUTHOR = {Pawlak, Renaud and Monperrus, Martin and Petitprez, Nicolas and Noguera, Carlos and Seinturier, Lionel}, JOURNAL = "{Software: Practice and Experience}", PUBLISHER = "{Wiley-Blackwell}", PAGES = {1155-1179}, VOLUME = {46}, URL = {https://hal.archives-ouvertes.fr/hal-01078532/document}, YEAR = {2015}, doi = {10.1002/spe.2346}, }

Professional support

If you need professional support on Spoon (development, training, extension), you are welcome to post a comment on https://github.com/INRIA/spoon/issues/3251

Getting started in 2 seconds

Required Java version:

  • Spoon 11.x requires JDK 17 or later.
  • Spoon 10.x requires JDK 11 or later.
  • Spoon 9.x requires Java 8.

Note that Spoon can of course still consume source code for older versions of Java, but it needs the above mentioned JDK version to run.

Get latest stable version with Maven, see https://search.maven.org/artifact/fr.inria.gforge.spoon/spoon-core

And start using it:

java CtClass l = Launcher.parseClass("class A { void m() { System.out.println(\"yeah\");} }");

Documentation:

Contributing in 2 seconds

Create your first pull request to improve the documentation, see doc! Proceed with your first bug fix! The community is open-minded, respectful and patient. All external contributions are welcome.

Design Philosophy

R1) The Spoon metamodel is as close as possible to the language concepts.

R2) The Spoon model of a program is complete and sound.

R3) The text version of a Spoon model is well-formed and semantically equivalent to the original program.

R4) The analysis and transformation API is intuitive and regular.

R5) Transformation operators are designed to warn as fast as possible about invalid programs. This is done either with static type checking or with dynamic checks when the operators are used.

R6) When feasible, the text version of a Spoon model is close to the original one.

Compiling

To compile Spoon, you need a Java Development Kit (JDK) and Maven:

git clone https://github.com/INRIA/spoon cd spoon mvn compile

To run the tests: mvn test

Download

Latest version: https://search.maven.org/remote_content?g=fr.inria.gforge.spoon&a=spoon-core&v=LATEST&c=jar-with-dependencies - Javadoc

Maven:

xml <dependency> <groupId>fr.inria.gforge.spoon</groupId> <artifactId>spoon-core</artifactId> <!-- See rendered release value at https://spoon.gforge.inria.fr/ --> <version>{{site.spoon_release}}</version> </dependency>

Releases

  • August 31 2023, Spoon 10.4.1 (changelog)
  • Jul 6 2023, Spoon 10.4.0 (changelog)
  • March 13 2023, Spoon 10.3.0 (changelog)
  • Oct 2022, Spoon 10.2.0 (changelog)
  • April 2022, Spoon 10.1.0 (changelog)
  • October 2021, Spoon 10.0.0 (changelog)
  • August 2021: Spoon 9.1.0 (changelog)
  • March 2021: Spoon 9.0.0 (changelog)
  • October 2020: Spoon 8.3.0 (changelog)
  • July 2020: Spoon 8.2.0 (changelog)
  • March 2020: Spoon 8.1.0 (changelog)
  • November 2019, Spoon 8.0.0 (changelog)
  • July 2019: Spoon 7.5.0 is released (changelog)
  • May 2019: Spoon 7.4.0 is released (changelog)
  • February 10, 2019: Spoon 7.3.0 is released (changelog)
  • December 4, 2018: Spoon 7.2.0 is released (changelog)
  • October 10, 2018: Spoon 7.1.0 is released (changelog)
  • July 4, 2018: Spoon 7.0.0 is released (changelog)
  • March 8, 2018: Spoon 6.2.0 is released (changelog)
  • December 20, 2017: Spoon 6.1.0 is released, merry christmas! :christmas_tree: (changelog)
  • November 17, 2017: Spoon 6.0.0 is released! Check the (changelog) as there are few non backward-compatible changes :warning:
  • September 6, 2017: Spoon 5.9.0 is released (changelog) back-to-work release!
  • July 11, 2017: Spoon 5.8.0 is released (changelog) Summer release :beer: To be preferred wrt the previous one: fix lot of bugs.
  • June 01, 2017: Spoon 5.7.0 is released (changelog)
  • March 16, 2017: Spoon 5.6.0 is released (changelog) Spring release :-)
  • January 11, 2017: Spoon 5.5.0 is released (changelog). Happy new year!
  • October 27, 2016: Spoon 5.4.0 is released (changelog).
  • September 19, 2016: Spoon 5.3.0 is released (changelog).
  • June 30, 2016: Spoon 5.2.0 is released (changelog).
  • June 22, 2016: Spoon 5.1.1 is released (changelog).
  • March 21, 2016: Spoon 5.1.0 is released (changelog).
  • February 12, 2016: Spoon 5.0.2 is released (changelog).
  • February 3, 2016: Spoon 5.0.1 is released (changelog).
  • January 25, 2016: Spoon 5.0.0 is released (changelog).
  • November 18, 2015: Spoon 4.4.1 is released (changelog).
  • November 16, 2015: Spoon 4.4.0 is released (changelog).
  • September 22, 2015: Spoon 4.3.0 is released (changelog).
  • June 15, 2015: Spoon 4.2.0 is released (changelog).
  • May 7, 2015: Spoon 4.1.0 is released (changelog).
  • April 8, 2015: Spoon 4.0.0 is released (changelog).
  • February 11, 2015: Spoon 3.1 is released (changelog).
  • December 9, 2014: Spoon 3.0 is released (changelog).
  • November 12, 2014: Spoon 2.4 is released (changelog).
  • October 9, 2014: Spoon 2.3.1 is released (changelog).
  • September 12, 2014: Spoon 2.1 is released (changelog).
  • April 2, 2014: Spoon 2.0 is released (changelog).
  • September 30, 2013: Spoon 1.6 is released.
  • April 12, 2012: Spoon 1.5 is released.

License

Spoon is Free and Open Source, double-licensed under the (CeCILL-C license - French equivalent to LGPL) and the MIT license.

JProfiler

Spoon is developed with the help of JProfiler, a Java profiler by ej-technologies GmbH. JProfiler supports the development of Spoon by providing its full-featured Java Profiler for free. We thank ej-technologies GmbH for this support.

JProfiler

Powered by

JetBrains logo.

Github Contributors

This list is generated by chore/generate-contributor-list.py. If you're not listed or you'd like to have your full name, please post to https://github.com/INRIA/spoon/issues/3909.

  • adamjryan
  • Alcides Fonseca
  • Alexander Shopov
  • Aman Sharma
  • andrewbwogi
  • André Cruz
  • André Silva
  • Antoine Mottier
  • Anton Lyxell
  • argius
  • Arnaud Blouin
  • arsenkhy
  • Artamm
  • Artur Bosch
  • Arvid Siberov
  • aryan
  • Ashutosh Kumar Verma
  • aveuiller
  • Axel Howind
  • Benjamin DANGLOT
  • Benoit Cornu
  • Carlos Noguera
  • Ceki Gülcü
  • chammp
  • Charm
  • ChrisSquare
  • Christophe Dufour
  • Christopher Stokes
  • Clemens Bartz
  • Clément Fournier
  • César Soto Valero
  • Daniel Bobbert
  • Darius Sas
  • David Bernard
  • Didier Donsez
  • Diorcet Yann
  • Dorota Kopczyk
  • dufaux
  • dwayneb
  • dya-tel
  • Eddie T
  • Egor Bredikhin
  • Fabien DUMINY
  • Fan Long
  • fangzhen
  • fav
  • Favio DeMarco
  • Fernanda Madeiral
  • Filip Krakowski
  • Gabriel Chaperon Burgos
  • gibahjoe
  • GitHub Actions Bot
  • GluckZhang
  • Gregor Zeitlinger
  • gtoison
  • Guillaume Toison
  • Gérard Paligot
  • Hannes Greule
  • Haris Adzemovic
  • HectorSM
  • Henry Chu
  • Hervé Boutemy
  • Horia Constantin
  • I-Al-Istannen
  • intrigus-lgtm
  • jakobbraun
  • Jan Galinski
  • jon
  • Kai Luo
  • Lakshya A Agrawal
  • leventov
  • Lionel Seinturier
  • lodart
  • Lucas
  • Lukas Krejci
  • Luke Merrick
  • Marcel Manseer
  • Marcel Steinbeck
  • Martin Monperrus
  • Martin Wittlinger
  • MartinWitt
  • Matias Martinez
  • Maxim Stefanov
  • Maxime CLEMENT
  • Mehdi Kaytoue
  • Michael Täge
  • Mickael Istria
  • Miguel Sozinho Ramalho
  • Mikael Forsberg
  • Mr. Pine
  • Muhammet Ali AKBAY
  • Nicolas Harrand
  • Nicolas Pessemier
  • Nicolas Petitprez
  • Noah Santschi-Cooney
  • Olivier Barais
  • Ondřej Šebek
  • Patrick Schmitt
  • Pavel Vojtechovsky
  • peroksid90
  • Philippe Ombredanne
  • Phillip Schichtel
  • priyanka-28
  • Quentin LE DILAVREC
  • raymogg
  • Renaud Pawlak
  • Reza Gharibi
  • Rhys Compton
  • Rick Kellogg
  • Rijnard van Tonder
  • Rohitesh Kumar Jain
  • Roman Leventov
  • Ryota Hiyoshi
  • Sander Ploegsma
  • santos-samuel
  • scootafew
  • Scott Dickerson
  • Scott Pinwell
  • Sebastian Lamelas Marcote
  • Sergey Fedorov
  • Shantanu
  • Simon Larsén
  • Simon Urli
  • Spencer Williams
  • srlm
  • ST0NEWALL
  • Stefan Wolf
  • StepSecurity Bot
  • Sébastien Bertrand
  • The Spoon Bot
  • Thimo Seitz
  • Thomas Durieux
  • tiagodrcarvalho
  • Tomasz Zieliński
  • Urs Keller
  • Viktor
  • Vincenzo Musco
  • Wolfgang Schmiesing
  • Wouter Smeenk
  • Wreulicke
  • Yann Diorcet
  • Yogya Tulip Gamage
  • Zhang Xindong
  • Дмитрий

Owner

  • Name: Inria
  • Login: INRIA
  • Kind: organization
  • Email: Nicolas.Rougier@inria.fr
  • Location: France

Inria, the French national research institute for the digital sciences

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 4,913
  • Total Committers: 157
  • Avg Commits per committer: 31.293
  • Development Distribution Score (DDS): 0.758
Past Year
  • Commits: 517
  • Committers: 25
  • Avg Commits per committer: 20.68
  • Development Distribution Score (DDS): 0.3
Top Committers
Name Email Commits
renovate[bot] 2****] 1,190
Martin Monperrus m****s 738
GerardPaligot g****t@g****m 378
Pavel Vojtechovsky p****y 361
MartinWitt w****n@g****m 300
Tomasz Zieliński t****e@g****m 277
Simon Urli s****i@g****m 231
renaud r****d@b****2 161
Simon Larsén s****e@s****e 107
GitHub Actions Bot 107
I-Al-Istannen I****n 104
Thomas Durieux t****x 93
Hannes Greule S****l 78
Nicolas Harrand n****d@g****m 66
Egor Bredikhin 3****8 48
Lionel Seinturier L****r@u****r 48
dwayneb d****b@b****2 42
petitpre p****e@b****2 40
Rohitesh Kumar Jain t****n@g****m 33
leventov l****v@y****u 31
Stefan Wolf b****1@g****m 30
Aman Sharma m****0@g****m 26
Nicolas Petitprez n****z@g****m 25
Benjamin DANGLOT b****t@g****m 25
bcornu b****u@b****2 23
noguera n****a@b****2 21
Marcel g****b@r****e 15
andrewbwogi b****w@g****m 15
Ryota Hiyoshi 1****6 12
srlm c****o@g****m 12
and 127 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 212
  • Total pull requests: 1,582
  • Average time to close issues: 8 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 88
  • Total pull request authors: 45
  • Average comments per issue: 5.0
  • Average comments per pull request: 0.51
  • Merged pull requests: 1,375
  • Bot issues: 6
  • Bot pull requests: 1,240
Past Year
  • Issues: 40
  • Pull requests: 579
  • Average time to close issues: 16 days
  • Average time to close pull requests: 4 days
  • Issue authors: 22
  • Pull request authors: 23
  • Average comments per issue: 0.98
  • Average comments per pull request: 0.35
  • Merged pull requests: 485
  • Bot issues: 1
  • Bot pull requests: 490
Top Authors
Issue Authors
  • monperrus (32)
  • Luro02 (26)
  • renovate[bot] (14)
  • honghao12 (12)
  • MartinWitt (9)
  • slarse (5)
  • spoon-bot (5)
  • sretake (5)
  • MaxAtoms (5)
  • CoreRasurae (4)
  • vmassol (4)
  • tenax66 (3)
  • Vardhamansankar (3)
  • algomaster99 (3)
  • anto-christo (2)
Pull Request Authors
  • renovate[bot] (1,325)
  • MartinWitt (67)
  • I-Al-Istannen (64)
  • SirYwell (45)
  • monperrus (39)
  • rishivijayv (22)
  • Mr-Pine (13)
  • tenax66 (13)
  • algomaster99 (12)
  • Luro02 (12)
  • randomicecube (6)
  • LogFlames (4)
  • treenwang (4)
  • CoreRasurae (4)
  • nikunjagarwal321 (4)
Top Labels
Issue Labels
bug (100) good first issue (7) spoon-maven-plugin (7) discussion (5) feature (3) refactor (3) documentation (3) roadmap (2) mastersthesis (2) question (2) information-needed (2) java17 (2) chore (2) help wanted (1) test (1) wontfix (1)
Pull Request Labels
bug (16) chore (11) java17 (2) documentation (2) dependencies (1) review (1) breaking_pr (1)

Packages

  • Total packages: 4
  • Total downloads: unknown
  • Total docker downloads: 689
  • Total dependent packages: 56
    (may contain duplicates)
  • Total dependent repositories: 247
    (may contain duplicates)
  • Total versions: 565
repo1.maven.org: fr.inria.gforge.spoon:spoon-core

Spoon is a tool for meta-programming, analysis and transformation of Java programs.

  • Versions: 355
  • Dependent Packages: 56
  • Dependent Repositories: 245
  • Docker Downloads: 689
Rankings
Dependent repos count: 1.0%
Dependent packages count: 1.3%
Docker downloads count: 5.5%
Average: 5.7%
Stargazers count: 9.5%
Forks count: 11.0%
Last synced: 6 months ago
repo1.maven.org: fr.inria.gforge.spoon:spoon-decompiler

Extension of spoon for bytecode through decompilation

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 2
Rankings
Stargazers count: 9.7%
Forks count: 11.2%
Dependent repos count: 16.1%
Average: 21.8%
Dependent packages count: 50.1%
Last synced: 6 months ago
repo1.maven.org: fr.inria.gforge.spoon:spoon-pom

Common Maven config for Spoon modules

  • Versions: 105
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 7.6%
Forks count: 8.3%
Average: 24.2%
Dependent repos count: 32.0%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: fr.inria.gforge.spoon:spoon-javadoc

A javadoc parser for the java source code analysis tool spoon.

  • Versions: 104
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 8.7%
Forks count: 10.3%
Average: 25.9%
Dependent repos count: 34.9%
Dependent packages count: 49.8%
Last synced: 6 months ago

Dependencies

pom.xml maven
  • com.fasterxml.jackson.core:jackson-databind 2.13.3
  • com.martiansoftware:jsap 2.1
  • commons-io:commons-io 2.11.0
  • org.apache.commons:commons-compress 1.21
  • org.apache.commons:commons-lang3 3.12.0
  • org.apache.maven.shared:maven-invoker 3.2.0
  • org.apache.maven:maven-model [3.6.0,)
  • org.eclipse.jdt:org.eclipse.jdt.core 3.30.0
  • org.slf4j:slf4j-api 1.7.36
  • ch.qos.logback:logback-classic 1.2.11 test
  • com.google.guava:guava 31.1-jre test
  • com.mysema.querydsl:querydsl-core 3.7.4 test
  • javax.validation:validation-api 2.0.1.Final test
  • org.kohsuke.metainf-services:metainf-services 1.9 test
  • org.tukaani:xz 1.9 test
  • uk.org.lidalia:slf4j-test 1.2.0 test
spoon-control-flow/pom.xml maven
  • fr.inria.gforge.spoon:spoon-core 10.1.1
  • org.jgrapht:jgrapht-core 0.9.2
  • junit:junit 4.13.2 test
spoon-dataflow/build.gradle maven
  • org.junit.jupiter:junit-jupiter 5.8.2 testImplementation
spoon-decompiler/pom.xml maven
  • fr.inria.gforge.spoon:spoon-core 10.1.1
  • org.benf:cfr 0.152
  • org.bitbucket.mstrobel:procyon-compilertools 0.6.0
  • org.jboss.windup.decompiler.fernflower:fernflower 2.5.0.Final
spoon-decompiler/src/test/resources/jarLauncher/pom.xml maven
  • org.json:json 20090211
  • junit:junit 4.11 test
spoon-pom/pom.xml maven
  • com.github.stefanbirkner:system-rules 1.19.0 test
  • org.junit.jupiter:junit-jupiter-engine 5.8.2 test
  • org.junit.jupiter:junit-jupiter-params 5.8.2 test
  • org.junit.platform:junit-platform-launcher 1.8.2 test
  • org.mockito:mockito-core 4.6.1 test
  • org.mockito:mockito-junit-jupiter 4.6.1 test
spoon-smpl/pom.xml maven
  • fr.inria.gforge.spoon:spoon-control-flow 0.0.2-SNAPSHOT
  • fr.inria.gforge.spoon:spoon-core 10.1.1
spoon-visualisation/pom.xml maven
  • org.jetbrains:annotations 23.0.0 compile
  • fr.inria.gforge.spoon:spoon-core 10.1.1
  • io.github.interacto:interacto-javafx 4.3.1
  • org.openjfx:javafx-base 11.0.2
  • org.openjfx:javafx-controls 11.0.2
  • org.openjfx:javafx-fxml 11.0.2
  • org.openjfx:javafx-graphics 11.0.2
  • org.junit.jupiter:junit-jupiter-engine 5.8.2 test
  • org.testfx:openjfx-monocle jdk-11+26 test
  • org.testfx:testfx-junit5 4.0.15-alpha test
src/test/resources/maven-launcher/null-build/pom.xml maven
  • com.fasterxml.jackson.core:jackson-databind 2.10.3
  • commons-io:commons-io 2.6
  • io.jsonwebtoken:jjwt-api 0.11.1
  • io.jsonwebtoken:jjwt-impl 0.11.1
  • io.jsonwebtoken:jjwt-jackson 0.11.1
  • io.springfox:springfox-swagger-ui 2.9.2
  • io.springfox:springfox-swagger2 2.9.2
  • javax.xml.bind:jaxb-api 2.4.0-b180830.0359
  • jaxen:jaxen
  • org.codehaus.groovy:groovy-all 2.4.15
  • org.fenixedu:feaf4j-api 2.3.1
  • org.fenixedu:feaf4j-okhttp 2.3.1
  • org.jdom:jdom2
  • org.postgresql:postgresql
  • org.springframework.boot:spring-boot-configuration-processor
  • org.springframework.boot:spring-boot-devtools
  • org.springframework.boot:spring-boot-starter
  • org.springframework.boot:spring-boot-starter-data-jpa
  • org.springframework.boot:spring-boot-starter-security
  • org.springframework.boot:spring-boot-starter-web 2.2.5.RELEASE
  • org.springframework.retry:spring-retry 1.2.5.RELEASE
  • org.springframework:spring-aspects
  • com.h2database:h2 1.4.200 test
  • org.objenesis:objenesis 2.6 test
  • org.spockframework:spock-core 1.3-groovy-2.5 test
  • org.spockframework:spock-spring 1.3-groovy-2.5 test
  • org.springframework.boot:spring-boot-starter-test test
  • org.springframework.security:spring-security-test test
src/test/resources/maven-launcher/pac4j/pac4j-cas/pom.xml maven
  • javax.servlet:javax.servlet-api provided
  • com.google.guava:guava
  • org.jasig.cas.client:cas-client-core 3.4.1
  • org.jasig.cas.client:cas-client-support-saml 3.4.1
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-config/pom.xml maven
  • com.zaxxer:HikariCP 2.6.1
  • junit:junit ${junit.version}
  • org.apache.shiro:shiro-core
  • org.pac4j:pac4j-cas
  • org.pac4j:pac4j-core
  • org.pac4j:pac4j-http
  • org.pac4j:pac4j-ldap
  • org.pac4j:pac4j-oauth
  • org.pac4j:pac4j-oidc
  • org.pac4j:pac4j-saml
  • org.pac4j:pac4j-sql
  • org.springframework.security:spring-security-crypto
  • ch.qos.logback:logback-classic test
  • com.unboundid:unboundid-ldapsdk test
  • org.pac4j:pac4j-core test
  • org.pac4j:pac4j-ldap test
  • org.pac4j:pac4j-sql test
src/test/resources/maven-launcher/pac4j/pac4j-core/pom.xml maven
  • javax.servlet:javax.servlet-api provided
  • com.google.guava:guava
  • org.apache.shiro:shiro-core
  • org.slf4j:slf4j-api
  • org.springframework.security:spring-security-crypto
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.mockito:mockito-core test
  • org.slf4j:jcl-over-slf4j test
  • org.springframework:spring-test test
src/test/resources/maven-launcher/pac4j/pac4j-couch/pom.xml maven
  • com.fasterxml.jackson.core:jackson-databind 2.3.3
  • org.ektorp:org.ektorp 1.4.4
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • io.bdrc:mcouch-ektorp 1.0.0 test
  • junit:junit test
  • org.apache.shiro:shiro-core test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-gae/pom.xml maven
  • javax.servlet:javax.servlet-api provided
  • com.google.appengine:appengine-api-1.0-sdk 1.9.50
  • com.google.appengine:appengine-jsr107cache 1.9.50
  • net.sf.jsr107cache:jsr107cache 1.1
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • com.google.appengine:appengine-api-labs 1.9.50 test
  • com.google.appengine:appengine-api-stubs 1.9.50 test
  • com.google.appengine:appengine-testing 1.9.50 test
  • junit:junit test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-http/pom.xml maven
  • com.fasterxml.jackson.core:jackson-databind
  • commons-codec:commons-codec
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • com.google.guava:guava test
  • junit:junit test
  • org.mockito:mockito-core test
  • org.nanohttpd:nanohttpd 2.3.1 test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-jwt/pom.xml maven
  • com.nimbusds:nimbus-jose-jwt
  • org.bouncycastle:bcprov-jdk15on 1.56
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.pac4j:pac4j-core test
  • org.pac4j:pac4j-oauth test
src/test/resources/maven-launcher/pac4j/pac4j-kerberos/pom.xml maven
  • javax.servlet:javax.servlet-api provided
  • org.pac4j:pac4j-core
  • org.springframework:spring-core ${spring.version}
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.apache.kerby:integration-test 1.0.0 test
  • org.apache.kerby:kerb-client 1.0.0 test
  • org.apache.kerby:kerb-simplekdc 1.0.0 test
  • org.apache.kerby:kerby-kdc 1.0.0 test
  • org.apache.kerby:token-provider 1.0.0 test
  • org.mockito:mockito-core test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-ldap/pom.xml maven
  • org.ldaptive:ldaptive 1.2.1
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • com.unboundid:unboundid-ldapsdk test
  • junit:junit test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-mongo/pom.xml maven
  • org.mongodb:mongo-java-driver 3.4.2
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • de.flapdoodle.embed:de.flapdoodle.embed.mongo 2.0.0 test
  • junit:junit test
  • org.apache.shiro:shiro-core test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-oauth/pom.xml maven
  • javax.servlet:javax.servlet-api provided
  • com.fasterxml.jackson.core:jackson-databind
  • com.github.scribejava:scribejava-apis 3.3.0
  • commons-codec:commons-codec
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-oidc/pom.xml maven
  • com.nimbusds:nimbus-jose-jwt
  • com.nimbusds:oauth2-oidc-sdk 5.24.2
  • org.pac4j:pac4j-core
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-openid/pom.xml maven
  • javax.servlet:javax.servlet-api provided
  • org.openid4java:openid4java 1.0.0
  • org.pac4j:pac4j-core
  • org.slf4j:jcl-over-slf4j
  • xml-apis:xml-apis 2.0.2
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.pac4j:pac4j-core test
src/test/resources/maven-launcher/pac4j/pac4j-saml/pom.xml maven
  • net.shibboleth.utilities:java-support 7.3.0 compile
  • org.opensaml:opensaml-core 3.3.0 compile
  • org.opensaml:opensaml-saml-api 3.3.0 compile
  • org.opensaml:opensaml-saml-impl 3.3.0 compile
  • org.opensaml:opensaml-soap-api 3.3.0 compile
  • org.springframework:spring-core ${spring.version} compile
  • javax.servlet:javax.servlet-api provided
  • com.google.guava:guava
  • commons-collections:commons-collections 3.2.2
  • joda-time:joda-time 2.9.2
  • org.apache.velocity:velocity 1.7
  • org.cryptacular:cryptacular 1.1.0
  • org.opensaml:opensaml-messaging-api 3.3.0
  • org.opensaml:opensaml-messaging-impl 3.3.0
  • org.opensaml:opensaml-profile-api 3.3.0
  • org.opensaml:opensaml-profile-impl 3.3.0
  • org.opensaml:opensaml-security-api 3.3.0
  • org.opensaml:opensaml-security-impl 3.3.0
  • org.opensaml:opensaml-xmlsec-api 3.3.0
  • org.opensaml:opensaml-xmlsec-impl 3.3.0
  • org.pac4j:pac4j-core
  • org.slf4j:jcl-over-slf4j
  • xalan:xalan 2.7.2
  • ch.qos.logback:logback-classic test
  • junit:junit test
  • org.mockito:mockito-core test
  • org.pac4j:pac4j-core test
  • org.springframework:spring-test test
  • org.springframework:spring-web ${spring.version} test
src/test/resources/maven-launcher/pac4j/pac4j-sql/pom.xml maven
  • org.jdbi:jdbi 2.78
  • org.pac4j:pac4j-core
  • com.h2database:h2 ${h2.version} test
  • junit:junit test
  • org.pac4j:pac4j-core test
  • org.springframework.security:spring-security-crypto test
src/test/resources/maven-launcher/pac4j/pom.xml maven
  • ch.qos.logback:logback-classic 1.2.2
  • com.fasterxml.jackson.core:jackson-databind 2.8.7
  • com.google.guava:guava 21.0
  • com.h2database:h2 1.4.194
  • com.nimbusds:nimbus-jose-jwt 4.35
  • com.unboundid:unboundid-ldapsdk 3.2.1
  • commons-codec:commons-codec 1.10
  • javax.servlet:javax.servlet-api 3.1.0
  • junit:junit 4.12
  • org.apache.shiro:shiro-core 1.3.2
  • org.mockito:mockito-core 2.7.19
  • org.pac4j:pac4j-cas 3.0.0
  • org.pac4j:pac4j-core 3.0.0
  • org.pac4j:pac4j-http 3.0.0
  • org.pac4j:pac4j-ldap 3.0.0
  • org.pac4j:pac4j-oauth 3.0.0
  • org.pac4j:pac4j-oidc 3.0.0
  • org.pac4j:pac4j-saml 3.0.0
  • org.pac4j:pac4j-sql 3.0.0
  • org.slf4j:jcl-over-slf4j 1.7.25
  • org.slf4j:slf4j-api 1.7.25
  • org.springframework.security:spring-security-crypto 4.2.2.RELEASE
  • org.springframework:spring-test 4.3.7.RELEASE
src/test/resources/maven-launcher/system-dependency/pom.xml maven
  • com.infradna.tool:bridge-method-annotation 1.13 system
doc/_release/changelog_generator/package.json npm
  • git-log-parser ^1.2.0
  • request ^2.72.0
  • through2 ^4.0.0
.github/workflows/qodana.yml actions
  • JetBrains/qodana-action 3fdeefa830a7634a5c04f1cd70fcfb69956137a2 composite
  • actions/checkout ac593985615ec2ede58e132d2e21d2b1cbd6127c composite
  • github/codeql-action/upload-sarif 515828d97454b8354517688ddc5b48402b723750 composite
.github/workflows/sbom.yml actions
  • actions/cache 58c146cc91c5b9e778e71775dfe9bf1442ad9a12 composite
  • actions/checkout ac593985615ec2ede58e132d2e21d2b1cbd6127c composite
  • actions/setup-java 1df8dbefe2a8cbc99770194893dd902763bee34b composite
  • slsa-framework/github-actions-demo 9474e92bbf825d5b4b46810fc9367dfc73429a2a composite
.github/workflows/tests.yml actions
  • actions/cache 58c146cc91c5b9e778e71775dfe9bf1442ad9a12 composite
  • actions/checkout ac593985615ec2ede58e132d2e21d2b1cbd6127c composite
  • actions/setup-java 1df8dbefe2a8cbc99770194893dd902763bee34b composite
  • actions/setup-python d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 composite
doc/jenkins/Dockerfile docker
  • stackbrew/ubuntu 16.04 build
src/test/resources/maven-launcher/with-environment-variables/pom.xml maven
  • fr.inria.gforge.spoon:spoon-core ${env.SPOON_VERSION}