├── .github
├── FUNDING.yml
├── dependabot.yml
└── workflows
│ ├── stale.yml
│ ├── experimental.yml
│ ├── trigger.yml
│ ├── docs.yml
│ └── pr.yml
├── core
├── impl
│ └── src
│ │ └── test
│ │ └── webapp
│ │ └── resourcepaths
│ │ ├── welcome.html
│ │ ├── catalog
│ │ ├── index.html
│ │ ├── products.html
│ │ └── offers
│ │ │ ├── books.html
│ │ │ └── music.html
│ │ └── customer
│ │ └── login.jsp
└── api
│ └── pom.xml
├── test
├── embedded
│ ├── soteria-basic
│ │ └── src
│ │ │ └── test
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── beans.xml
│ ├── soteria-form
│ │ └── src
│ │ │ └── test
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── beans.xml
│ ├── springboot
│ │ └── src
│ │ │ └── main
│ │ │ └── resources
│ │ │ └── application.properties
│ ├── classloader
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── webapp
│ │ │ │ └── META-INF
│ │ │ │ └── context.xml
│ │ └── pom.xml
│ ├── web-fragment-in-jar-webapp
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── webapp
│ │ │ │ ├── META-INF
│ │ │ │ └── context.xml
│ │ │ │ └── index.html
│ │ └── pom.xml
│ ├── weld
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── index.xhtml
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ ├── faces-config.xml
│ │ │ └── web.xml
│ ├── eclipselink
│ │ └── src
│ │ │ └── main
│ │ │ ├── webapp
│ │ │ ├── index.xhtml
│ │ │ └── WEB-INF
│ │ │ │ ├── beans.xml
│ │ │ │ ├── faces-config.xml
│ │ │ │ └── web.xml
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── persistence.xml
│ ├── hazelcast
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── web.xml
│ │ │ └── index.xhtml
│ ├── web-fragment-in-jar
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── resources
│ │ │ │ └── META-INF
│ │ │ │ └── web-fragment.xml
│ │ └── pom.xml
│ ├── helloworld
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ └── pom.xml
├── server
│ ├── wasp
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── tags
│ │ │ │ └── hellotag.tag
│ │ │ ├── web.xml
│ │ │ └── tld
│ │ │ │ ├── hellotag.tld
│ │ │ │ └── hellotld.tld
│ │ │ ├── hellotld2.jsp
│ │ │ ├── hellotag.jsp
│ │ │ ├── hellotld.jsp
│ │ │ ├── hellotag2.jsp
│ │ │ └── index.jsp
│ ├── wasp2
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── resources
│ │ │ │ └── META-INF
│ │ │ │ ├── hellotag2.tag
│ │ │ │ └── hellotag2.tld
│ │ └── pom.xml
│ ├── helloworld
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── helloworld.html
│ ├── programmatic
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ └── pom.xml
├── tck
│ ├── coreprofile
│ │ ├── cdi
│ │ │ ├── runner
│ │ │ │ ├── core
│ │ │ │ │ └── src
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ ├── META-INF
│ │ │ │ │ │ ├── services
│ │ │ │ │ │ │ └── org.jboss.arquillian.core.spi.LoadableExtension
│ │ │ │ │ │ └── cdi-tck.properties
│ │ │ │ │ │ └── arquillian.xml
│ │ │ │ └── pom.xml
│ │ │ └── pom.xml
│ │ ├── coreprofile
│ │ │ ├── runner
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ ├── META-INF
│ │ │ │ │ └── services
│ │ │ │ │ │ └── org.jboss.arquillian.core.spi.LoadableExtension
│ │ │ │ │ └── arquillian.xml
│ │ │ └── pom.xml
│ │ ├── rest
│ │ │ ├── runner
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── arquillian.xml
│ │ │ └── pom.xml
│ │ ├── inject
│ │ │ └── pom.xml
│ │ ├── jsonb
│ │ │ └── pom.xml
│ │ ├── jsonp
│ │ │ └── pom.xml
│ │ └── annotations
│ │ │ └── pom.xml
│ └── pom.xml
├── micro
│ ├── microprofile-config
│ │ └── src
│ │ │ └── main
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── microprofile-config.properties
│ ├── snoop
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── web.xml
│ ├── protected-servlet
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── web.xml
│ ├── helloworld
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ └── pom.xml
├── servlet
│ ├── pages
│ │ ├── README.md
│ │ └── src
│ │ │ ├── main
│ │ │ └── webapp
│ │ │ │ └── hello.jsp
│ │ │ └── test
│ │ │ └── java
│ │ │ └── hello
│ │ │ └── HelloIT.java
│ ├── helloworld
│ │ └── src
│ │ │ ├── main
│ │ │ └── webapp
│ │ │ │ └── helloworld.html
│ │ │ └── test
│ │ │ └── java
│ │ │ └── helloworld
│ │ │ └── HelloWorldIT.java
│ ├── hello
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── helloworld.html
│ │ │ ├── hellojsp.jsp
│ │ │ ├── helloel.jsp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ ├── crac
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── web.xml
│ │ │ └── crac.xhtml
│ └── pom.xml
├── webprofile
│ ├── helloworld
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── index.html
│ │ │ ├── WEB-INF
│ │ │ └── beans.xml
│ │ │ └── helloworld.jsp
│ ├── integration
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ ├── pages.jsp
│ │ │ ├── WEB-INF
│ │ │ ├── beans.xml
│ │ │ └── web.xml
│ │ │ ├── expression.jsp
│ │ │ ├── jstl.jsp
│ │ │ └── faces.xhtml
│ └── pom.xml
├── coreprofile
│ ├── integration
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── beans.xml
│ ├── rest
│ │ └── src
│ │ │ └── main
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ ├── no_servlet_class
│ │ └── src
│ │ │ ├── main
│ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── cloud
│ │ │ └── piranha
│ │ │ └── test
│ │ │ └── coreprofile
│ │ │ └── no_servlet_class
│ │ │ └── EchoIT.java
│ ├── pom.xml
│ ├── json
│ │ └── src
│ │ │ └── test
│ │ │ └── java
│ │ │ └── temperature
│ │ │ └── TemperatureIT.java
│ └── arquillian
│ │ └── src
│ │ └── test
│ │ └── java
│ │ └── helloarquillian
│ │ └── HelloArquillianIT.java
├── common
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── module-info.java
└── jpms
│ └── src
│ └── test
│ └── java
│ ├── package1
│ ├── Utils.java
│ ├── Library.java
│ ├── Servlet.java
│ └── Service.java
│ ├── package2
│ ├── Library.java
│ └── Listener.java
│ └── package3
│ ├── Filter.java
│ ├── Library.java
│ └── DefaultService.java
├── extension
├── wasp
│ └── src
│ │ ├── test
│ │ └── webapp
│ │ │ ├── waspinitializer
│ │ │ └── WEB-INF
│ │ │ │ ├── lib
│ │ │ │ └── KEEPME
│ │ │ │ └── classes
│ │ │ │ └── KEEPME
│ │ │ └── jspwriter
│ │ │ ├── close.jsp
│ │ │ ├── close3.jsp
│ │ │ ├── close2.jsp
│ │ │ ├── clearBuffer.jsp
│ │ │ └── close4.jsp
│ │ └── site
│ │ └── site.xml
├── weld
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── services
│ │ ├── org.jboss.weld.bootstrap.api.Service
│ │ └── org.jboss.weld.environment.servlet.Container
├── jersey
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── services
│ │ └── jakarta.enterprise.inject.spi.Extension
├── micro
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── services
│ │ └── cloud.piranha.core.api.WebApplicationExtension
├── eclipselink
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── services
│ │ └── jakarta.enterprise.inject.spi.Extension
├── hazelcast
│ ├── src
│ │ └── main
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── services
│ │ │ └── jakarta.servlet.ServletContainerInitializer
│ ├── README.md
│ └── pom.xml
├── welcomefile
│ └── src
│ │ └── test
│ │ └── webapp
│ │ ├── welcomefile1
│ │ └── index.html
│ │ └── welcomefile2
│ │ └── custom.html
├── datasource
│ └── src
│ │ └── site
│ │ └── site.xml
├── fileupload
│ ├── src
│ │ └── site
│ │ │ ├── site.xml
│ │ │ └── markdown
│ │ │ └── index.md
│ └── pom.xml
├── tempdir
│ └── src
│ │ └── site
│ │ ├── site.xml
│ │ └── markdown
│ │ └── index.md
├── soteria
│ └── src
│ │ └── test
│ │ └── webapp
│ │ └── WEB-INF
│ │ └── beans.xml
├── webxml
│ └── src
│ │ └── test
│ │ └── webxml
│ │ ├── parse2
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── effectiveMajorVersion1
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── metadataComplete
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── denyUncoveredMethods
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── defaultContextPath
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── parse3
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── welcomeFile
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── init3
│ │ └── WEB-INF
│ │ │ └── classes
│ │ │ └── META-INF
│ │ │ └── web-fragment.xml
│ │ ├── contextParam
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── mimeMapping
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── jspConfig
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── dataSource
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── errorPage
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── withoutLeadingSlash1
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── filterMappings
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── init2
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ ├── init
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── parse4
│ │ └── WEB-INF
│ │ └── web.xml
├── servletannotations
│ └── src
│ │ └── test
│ │ └── webapp
│ │ └── webservlet
│ │ └── WEB-INF
│ │ └── web.xml
├── expressly
│ └── pom.xml
├── omnifaces-omniutils
│ └── pom.xml
├── omnifish-omnibeans
│ └── pom.xml
├── omnifaces-config
│ └── pom.xml
├── omnifaces-omniservices
│ └── pom.xml
├── omnifaces-microprofile-jwt-auth
│ └── pom.xml
├── mojarra
│ └── pom.xml
├── parsson
│ └── pom.xml
├── jstl
│ └── pom.xml
├── yasson
│ └── pom.xml
├── epicyro
│ └── pom.xml
├── hibernate-validator
│ └── pom.xml
├── jaxb
│ └── pom.xml
└── declared
│ └── pom.xml
├── multi
└── src
│ └── main
│ ├── zip
│ ├── bin
│ │ ├── start.cmd
│ │ ├── stop.cmd
│ │ ├── run.sh
│ │ ├── stop.sh
│ │ └── start.sh
│ ├── etc
│ │ ├── keystore.jks
│ │ └── truststore.jks
│ ├── tmp
│ │ └── README
│ └── webapps
│ │ └── README
│ ├── docker
│ └── Dockerfile
│ └── assembly
│ └── zip.xml
├── dist
├── server
│ └── src
│ │ ├── main
│ │ ├── zip
│ │ │ ├── bin
│ │ │ │ ├── start.cmd
│ │ │ │ ├── stop.cmd
│ │ │ │ ├── run.sh
│ │ │ │ ├── stop.sh
│ │ │ │ └── start.sh
│ │ │ ├── etc
│ │ │ │ ├── keystore.jks
│ │ │ │ └── truststore.jks
│ │ │ ├── tmp
│ │ │ │ └── README
│ │ │ └── webapps
│ │ │ │ └── README
│ │ ├── docker
│ │ │ └── Dockerfile
│ │ └── assembly
│ │ │ └── zip.xml
│ │ └── site
│ │ └── site.xml
├── isolated
│ └── src
│ │ └── main
│ │ ├── zip
│ │ ├── bin
│ │ │ ├── run.sh
│ │ │ ├── start.cmd
│ │ │ ├── stop.cmd
│ │ │ ├── stop.sh
│ │ │ └── start.sh
│ │ ├── etc
│ │ │ └── keystore.jks
│ │ ├── tmp
│ │ │ └── README
│ │ └── webapps
│ │ │ └── README
│ │ ├── docker
│ │ └── Dockerfile
│ │ └── assembly
│ │ └── zip.xml
├── platform
│ └── src
│ │ └── main
│ │ ├── zip
│ │ ├── bin
│ │ │ ├── run.sh
│ │ │ ├── start.cmd
│ │ │ ├── stop.cmd
│ │ │ ├── stop.sh
│ │ │ └── start.sh
│ │ ├── etc
│ │ │ ├── keystore.jks
│ │ │ └── truststore.jks
│ │ ├── tmp
│ │ │ └── README
│ │ └── webapps
│ │ │ └── README
│ │ ├── docker
│ │ └── Dockerfile
│ │ └── assembly
│ │ └── zip.xml
├── micro
│ └── src
│ │ ├── main
│ │ ├── javadoc
│ │ │ └── cloud.piranha.dist.micro
│ │ │ │ └── cloud
│ │ │ │ └── piranha
│ │ │ │ └── dist
│ │ │ │ └── micro
│ │ │ │ └── doc-files
│ │ │ │ ├── request-response.png
│ │ │ │ └── request-response.pptx
│ │ └── docker
│ │ │ └── Dockerfile
│ │ └── site
│ │ ├── markdown
│ │ └── index.md
│ │ └── site.xml
├── servlet
│ └── src
│ │ ├── main
│ │ └── docker
│ │ │ └── Dockerfile
│ │ └── site
│ │ └── site.xml
├── webprofile
│ └── src
│ │ ├── main
│ │ └── docker
│ │ │ └── Dockerfile
│ │ └── site
│ │ ├── site.xml
│ │ └── markdown
│ │ └── index.md
├── microprofile
│ └── src
│ │ └── main
│ │ └── docker
│ │ └── Dockerfile
└── coreprofile
│ └── src
│ └── site
│ └── site.xml
├── micro
├── core
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── services
│ │ ├── jakarta.enterprise.inject.spi.Extension
│ │ └── org.jboss.weld.environment.deployment.discovery.BeanArchiveHandler
└── pom.xml
├── resource
├── impl
│ ├── src
│ │ └── main
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── services
│ │ │ └── java.net.spi.URLStreamHandlerProvider
│ └── pom.xml
└── api
│ └── pom.xml
├── arquillian
├── server
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── META-INF
│ │ └── services
│ │ └── org.jboss.arquillian.core.spi.LoadableExtension
└── managed
│ └── src
│ ├── main
│ └── resources
│ │ └── META-INF
│ │ └── services
│ │ └── org.jboss.arquillian.core.spi.LoadableExtension
│ └── test
│ ├── webapp
│ └── test
│ │ └── WEB-INF
│ │ └── web.xml
│ └── java
│ └── cloud
│ └── piranha
│ └── arquillian
│ └── managed
│ └── ManagedPiranhaContainerTest.java
├── SECURITY.md
├── debug
└── modules.sh
├── embedded
└── src
│ ├── main
│ └── javadoc
│ │ └── cloud.piranha.embedded
│ │ └── cloud
│ │ └── piranha
│ │ └── embedded
│ │ └── doc-files
│ │ ├── request-response.png
│ │ └── request-response.pptx
│ └── site
│ ├── markdown
│ └── index.md
│ └── site.xml
├── docker
├── coreprofile
│ └── src
│ │ ├── main
│ │ └── docker
│ │ │ └── Dockerfile
│ │ └── test
│ │ └── java
│ │ └── cloud
│ │ └── piranha
│ │ └── docker
│ │ └── coreprofile
│ │ └── CoreProfileIT.java
└── pom.xml
├── maven
├── plugin
│ └── src
│ │ └── site
│ │ └── site.xml
├── archetypes
│ └── pom.xml
└── pom.xml
├── .gitignore
├── http
├── crac
│ ├── README.md
│ ├── Dockerfile
│ └── pom.xml
├── api
│ └── pom.xml
├── jdk
│ └── pom.xml
├── undertow
│ └── pom.xml
├── tests
│ └── pom.xml
└── grizzly
│ └── pom.xml
├── feature
├── api
│ └── pom.xml
├── pid
│ └── pom.xml
├── webapps
│ └── pom.xml
├── impl
│ └── pom.xml
├── logging
│ └── pom.xml
├── exitonstop
│ └── pom.xml
├── http
│ └── pom.xml
├── https
│ └── pom.xml
└── webapp
│ └── pom.xml
├── README.md
├── LICENSE
└── spring
└── spring-boot-starter-piranha-embedded
└── pom.xml
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: mnriem
2 |
--------------------------------------------------------------------------------
/core/impl/src/test/webapp/resourcepaths/welcome.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/core/impl/src/test/webapp/resourcepaths/catalog/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/core/impl/src/test/webapp/resourcepaths/customer/login.jsp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/core/impl/src/test/webapp/resourcepaths/catalog/products.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/core/impl/src/test/webapp/resourcepaths/catalog/offers/books.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/core/impl/src/test/webapp/resourcepaths/catalog/offers/music.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/embedded/soteria-basic/src/test/resources/META-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/embedded/soteria-form/src/test/resources/META-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/waspinitializer/WEB-INF/lib/KEEPME:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/test/embedded/springboot/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/waspinitializer/WEB-INF/classes/KEEPME:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/multi/src/main/zip/bin/start.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | java -jar lib\piranha-multi.jar %*
3 |
--------------------------------------------------------------------------------
/multi/src/main/zip/bin/stop.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | move tmp\piranha.pid tmp\piranha.pid.old
3 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/bin/start.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | java -jar lib\piranha-dist-server.jar %*
3 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/bin/stop.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | move tmp\piranha.pid tmp\piranha.pid.old
3 |
--------------------------------------------------------------------------------
/multi/src/main/zip/bin/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | exec ./start.sh --run $*
5 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/bin/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | exec ./start.sh --run $*
5 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/bin/start.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | java -jar lib\piranha-dist-isolated.jar
3 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/bin/stop.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | move tmp\piranha.pid tmp\piranha.pid.old
3 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/bin/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | exec ./start.sh --run $*
5 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/bin/start.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | java -jar lib\piranha-dist-platform.jar
3 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/bin/stop.cmd:
--------------------------------------------------------------------------------
1 | cd ..
2 | move tmp\piranha.pid tmp\piranha.pid.old
3 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/bin/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | exec ./start.sh --run $*
5 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/WEB-INF/tags/hellotag.tag:
--------------------------------------------------------------------------------
1 | <%@tag pageEncoding="UTF-8"%>
2 | Hello Tag
3 |
--------------------------------------------------------------------------------
/test/server/wasp2/src/main/resources/META-INF/hellotag2.tag:
--------------------------------------------------------------------------------
1 | <%@tag pageEncoding="UTF-8"%>
2 | Hello Tag #2
3 |
--------------------------------------------------------------------------------
/multi/src/main/zip/bin/stop.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 | mv tmp/piranha.pid tmp/piranha.pid.old
6 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/bin/stop.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 | mv tmp/piranha.pid tmp/piranha.pid.old
6 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/bin/stop.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 | mv tmp/piranha.pid tmp/piranha.pid.old
6 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/bin/stop.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 | mv tmp/piranha.pid tmp/piranha.pid.old
6 |
--------------------------------------------------------------------------------
/multi/src/main/zip/etc/keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/multi/src/main/zip/etc/keystore.jks
--------------------------------------------------------------------------------
/micro/core/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension:
--------------------------------------------------------------------------------
1 | cloud.piranha.micro.core.CdiExtension
2 |
--------------------------------------------------------------------------------
/multi/src/main/zip/etc/truststore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/multi/src/main/zip/etc/truststore.jks
--------------------------------------------------------------------------------
/dist/server/src/main/zip/etc/keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/server/src/main/zip/etc/keystore.jks
--------------------------------------------------------------------------------
/extension/weld/src/main/resources/META-INF/services/org.jboss.weld.bootstrap.api.Service:
--------------------------------------------------------------------------------
1 | cloud.piranha.extension.weld.WeldSecurityService
--------------------------------------------------------------------------------
/extension/weld/src/main/resources/META-INF/services/org.jboss.weld.environment.servlet.Container:
--------------------------------------------------------------------------------
1 | cloud.piranha.extension.weld.WeldContainer
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/etc/keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/isolated/src/main/zip/etc/keystore.jks
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/etc/keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/platform/src/main/zip/etc/keystore.jks
--------------------------------------------------------------------------------
/dist/server/src/main/zip/etc/truststore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/server/src/main/zip/etc/truststore.jks
--------------------------------------------------------------------------------
/extension/jersey/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension:
--------------------------------------------------------------------------------
1 | cloud.piranha.extension.jersey.JerseyExtension
--------------------------------------------------------------------------------
/extension/micro/src/main/resources/META-INF/services/cloud.piranha.core.api.WebApplicationExtension:
--------------------------------------------------------------------------------
1 | cloud.piranha.extension.micro.MicroExtension
--------------------------------------------------------------------------------
/test/embedded/classloader/src/main/webapp/META-INF/context.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/etc/truststore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/platform/src/main/zip/etc/truststore.jks
--------------------------------------------------------------------------------
/resource/impl/src/main/resources/META-INF/services/java.net.spi.URLStreamHandlerProvider:
--------------------------------------------------------------------------------
1 | cloud.piranha.resource.impl.ByteArrayResourceStreamHandlerProvider
--------------------------------------------------------------------------------
/extension/eclipselink/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension:
--------------------------------------------------------------------------------
1 | cloud.piranha.extension.eclipselink.EclipseLinkCdiExtension
2 |
--------------------------------------------------------------------------------
/extension/hazelcast/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer:
--------------------------------------------------------------------------------
1 | cloud.piranha.extension.hazelcast.HazelcastInitializer
2 |
--------------------------------------------------------------------------------
/extension/welcomefile/src/test/webapp/welcomefile1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | index.html
5 |
6 |
7 |
--------------------------------------------------------------------------------
/extension/welcomefile/src/test/webapp/welcomefile2/custom.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | custom.html
5 |
6 |
7 |
--------------------------------------------------------------------------------
/arquillian/server/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension:
--------------------------------------------------------------------------------
1 | cloud.piranha.arquillian.server.PiranhaServerLoadableExtension
--------------------------------------------------------------------------------
/test/embedded/web-fragment-in-jar-webapp/src/main/webapp/META-INF/context.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/cdi/runner/core/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension:
--------------------------------------------------------------------------------
1 | org.jboss.weld.tck.piranha.PiranhaExtension
--------------------------------------------------------------------------------
/arquillian/managed/src/main/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension:
--------------------------------------------------------------------------------
1 | cloud.piranha.arquillian.managed.ManagedPiranhaContainerExtension
2 |
--------------------------------------------------------------------------------
/micro/core/src/main/resources/META-INF/services/org.jboss.weld.environment.deployment.discovery.BeanArchiveHandler:
--------------------------------------------------------------------------------
1 | cloud.piranha.micro.core.PiranhaBeanArchiveHandler
2 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/coreprofile/runner/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension:
--------------------------------------------------------------------------------
1 | cloud.piranha.tck.core.CustomJsonbSerializationITFix
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Reporting a Vulnerability
4 |
5 | Please email info@piranha.cloud describing the issue
6 | (preferably with a reproducer and/or a fix)
7 |
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/jspwriter/close.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/plain" pageEncoding="UTF-8" import="java.io.*" autoFlush="false"%>
2 | <%
3 | out.close();
4 | out.flush();%>
5 |
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/jspwriter/close3.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/plain" pageEncoding="UTF-8" import="java.io.*" autoFlush="false"%>
2 | <%
3 | out.close();
4 | out.close();%>
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/jspwriter/close2.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/plain" pageEncoding="UTF-8" import="java.io.*" autoFlush="false"%>
2 | <%
3 | out.close();
4 | out.println();%>
5 |
--------------------------------------------------------------------------------
/extension/wasp/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/test/micro/microprofile-config/src/main/resources/META-INF/microprofile-config.properties:
--------------------------------------------------------------------------------
1 | # Example application properties file
2 | file.property=File Property
3 | date.property=2000-01-01
4 | application.property=Some value
5 |
--------------------------------------------------------------------------------
/debug/modules.sh:
--------------------------------------------------------------------------------
1 | mvn --also-make dependency:tree | grep "cloud.piranha" | grep -v "cloud.piranha.test" | sed -E 's|.*(cloud)|cloud|' | sed -E 's|>.*||' | awk -F ":" -v OFS=':' '{print $1, $2}' | sed 's/ *$//' | awk '!a[$0]++' | sort
2 |
--------------------------------------------------------------------------------
/embedded/src/main/javadoc/cloud.piranha.embedded/cloud/piranha/embedded/doc-files/request-response.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/embedded/src/main/javadoc/cloud.piranha.embedded/cloud/piranha/embedded/doc-files/request-response.png
--------------------------------------------------------------------------------
/embedded/src/main/javadoc/cloud.piranha.embedded/cloud/piranha/embedded/doc-files/request-response.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/embedded/src/main/javadoc/cloud.piranha.embedded/cloud/piranha/embedded/doc-files/request-response.pptx
--------------------------------------------------------------------------------
/multi/src/main/zip/tmp/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for temporary files by Piranha. If the server is NOT
6 | running you can safely delete the contents of the directory, but do NOT delete
7 | the directory itself.
8 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/tmp/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for temporary files by Piranha. If the server is NOT
6 | running you can safely delete the contents of the directory, but do NOT delete
7 | the directory itself.
8 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/tmp/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for temporary files by Piranha. If the server is NOT
6 | running you can safely delete the contents of the directory, but do NOT delete
7 | the directory itself.
8 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/tmp/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for temporary files by Piranha. If the server is NOT
6 | running you can safely delete the contents of the directory, but do NOT delete
7 | the directory itself.
8 |
--------------------------------------------------------------------------------
/dist/micro/src/main/javadoc/cloud.piranha.dist.micro/cloud/piranha/dist/micro/doc-files/request-response.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/micro/src/main/javadoc/cloud.piranha.dist.micro/cloud/piranha/dist/micro/doc-files/request-response.png
--------------------------------------------------------------------------------
/extension/datasource/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/dist/micro/src/main/javadoc/cloud.piranha.dist.micro/cloud/piranha/dist/micro/doc-files/request-response.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/piranhacloud/piranha/HEAD/dist/micro/src/main/javadoc/cloud.piranha.dist.micro/cloud/piranha/dist/micro/doc-files/request-response.pptx
--------------------------------------------------------------------------------
/extension/fileupload/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/extension/tempdir/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/multi/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-multi.tar.gz /home/piranha/
4 | RUN chown -R piranha:piranha /home/piranha
5 | WORKDIR /home/piranha/piranha/bin
6 | USER piranha
7 | CMD ["/bin/bash", "./run.sh"]
8 |
--------------------------------------------------------------------------------
/multi/src/main/zip/webapps/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for your web applications. If a file ends with the .war
6 | extension, or it is a sub directory it will be considered a web application,
7 | anything else will be ignored.
8 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/webapps/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for your web applications. If a file ends with the .war
6 | extension, or it is a sub directory it will be considered a web application,
7 | anything else will be ignored.
8 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/webapps/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for your web applications. If a file ends with the .war
6 | extension, or it is a sub directory it will be considered a web application,
7 | anything else will be ignored.
8 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/webapps/README:
--------------------------------------------------------------------------------
1 |
2 | README
3 | ------
4 |
5 | This directory is used for your web applications. If a file ends with the .war
6 | extension, or it is a sub directory it will be considered a web application,
7 | anything else will be ignored.
8 |
--------------------------------------------------------------------------------
/dist/server/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-server.tar.gz /home/piranha/
4 | RUN chown -R piranha:piranha /home/piranha
5 | WORKDIR /home/piranha/piranha/bin
6 | USER piranha
7 | CMD ["/bin/bash", "./run.sh"]
8 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-isolated.tar.gz /home/piranha/
4 | RUN chown -R piranha:piranha /home/piranha
5 | WORKDIR /home/piranha/piranha/bin
6 | USER piranha
7 | CMD ["/bin/bash", "./run.sh"]
8 |
--------------------------------------------------------------------------------
/dist/micro/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-micro.jar /home/piranha
4 | WORKDIR /home/piranha
5 | RUN chown piranha:piranha piranha-dist-micro.jar
6 | USER piranha
7 | CMD ["java", "-jar", "piranha-dist-micro.jar"]
8 |
--------------------------------------------------------------------------------
/dist/platform/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-platform.tar.gz /home/piranha/
4 | RUN chown -R piranha:piranha /home/piranha
5 | WORKDIR /home/piranha/piranha/bin
6 | USER piranha
7 | CMD ["/bin/bash", "./run.sh"]
8 |
--------------------------------------------------------------------------------
/dist/servlet/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-servlet.jar /home/piranha
4 | WORKDIR /home/piranha
5 | RUN chown piranha:piranha piranha-dist-servlet.jar
6 | USER piranha
7 | CMD ["java", "-jar", "piranha-dist-servlet.jar"]
8 |
--------------------------------------------------------------------------------
/dist/webprofile/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-webprofile.jar /home/piranha
4 | WORKDIR /home/piranha
5 | RUN chown piranha:piranha piranha-dist-webprofile.jar
6 | USER piranha
7 | CMD ["java", "-jar", "piranha-dist-webprofile.jar"]
8 |
--------------------------------------------------------------------------------
/test/embedded/weld/src/main/webapp/index.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/test/servlet/pages/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Create a Jakarta Pages application on Piranha Servlet
3 |
4 | See [Create a Jakarta Pages application on Piranha Servlet](https://piranha.cloud/servlet/guides/pages)
5 | for the step by step guide. This repository contains the resulting project for
6 | your reference.
7 |
--------------------------------------------------------------------------------
/docker/coreprofile/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-coreprofile.jar /home/piranha
4 | WORKDIR /home/piranha
5 | RUN chown piranha:piranha piranha-dist-coreprofile.jar
6 | USER piranha
7 | CMD ["java", "-jar", "piranha-dist-coreprofile.jar"]
8 |
--------------------------------------------------------------------------------
/dist/microprofile/src/main/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:21
2 | RUN useradd -m piranha
3 | ADD target/piranha-dist-microprofile.jar /home/piranha
4 | WORKDIR /home/piranha
5 | RUN chown piranha:piranha piranha-dist-microprofile.jar
6 | USER piranha
7 | CMD ["java", "-jar", "piranha-dist-microprofile.jar"]
8 |
--------------------------------------------------------------------------------
/test/embedded/eclipselink/src/main/webapp/index.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/maven/plugin/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/dist/micro/src/site/markdown/index.md:
--------------------------------------------------------------------------------
1 | # Piranha Micro
2 |
3 | Piranha Micro is a distribution that bootstrap parts of itself using Maven
4 | Central. Beyond that it delivers the same integration as Piranha Web Profile.
5 |
6 | ## Documentation
7 |
8 | 1. [Create a Hello World web application](create_a_hello_world_web_application.html)
9 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/cdi/runner/core/src/test/resources/META-INF/cdi-tck.properties:
--------------------------------------------------------------------------------
1 | org.jboss.cdi.tck.cdiLiteMode=true
2 | org.jboss.cdi.tck.spi.Beans=org.jboss.weld.tck.piranha.WeldBeansImpl
3 | org.jboss.cdi.tck.spi.Contexts=org.jboss.weld.tck.piranha.WeldContextImpl
4 | org.jboss.cdi.tck.spi.EL=org.jboss.weld.tck.piranha.WeldELImpl
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath
2 | .factorypath
3 | .DS_Store
4 | .project
5 | .settings/
6 | .vscode
7 | dependency-reduced-pom.xml
8 | nb-configuration.xml
9 | nbactions.xml
10 | nbproject/
11 | target/
12 | .idea
13 | *.iml
14 | *.original~
15 | dist/server/tmp/
16 | dist/platform/tmp/
17 | .flattened-pom.xml
18 | bin/
19 | piranha.pid
20 |
--------------------------------------------------------------------------------
/extension/soteria/src/test/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/test/embedded/hazelcast/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/test/embedded/web-fragment-in-jar-webapp/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Start Page
5 |
6 |
7 |
8 | Hello World!
9 |
10 |
11 |
--------------------------------------------------------------------------------
/test/embedded/weld/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/test/embedded/eclipselink/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/test/servlet/pages/src/main/webapp/hello.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Hello from Jakarta Pages!
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/server/helloworld/src/main/webapp/helloworld.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello World
6 |
7 |
8 |
9 |
10 | Hello World!
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/servlet/helloworld/src/main/webapp/helloworld.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello World
6 |
7 |
8 |
9 |
10 | Hello World!
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/servlet/hello/src/main/webapp/helloworld.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello World
6 |
7 |
8 |
9 |
10 | Hello World!
11 |
12 |
13 |
--------------------------------------------------------------------------------
/arquillian/managed/src/test/webapp/test/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/test/micro/snoop/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/test/webprofile/helloworld/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello World!
6 |
7 |
8 |
9 |
10 | Hello World!
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/servlet/crac/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/parse2/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/test/webprofile/integration/src/main/webapp/pages.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 | Pages works!
8 |
9 |
10 | Pages works!
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/micro/protected-servlet/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/test/servlet/hello/src/main/webapp/hellojsp.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 |
8 | Hello JSP
9 |
10 |
11 | Hello JSP!
12 |
13 |
14 |
--------------------------------------------------------------------------------
/test/webprofile/helloworld/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/effectiveMajorVersion1/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/test/coreprofile/integration/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/test/webprofile/integration/src/main/webapp/WEB-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/test/servlet/hello/src/main/webapp/helloel.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 |
8 | Hello EL
9 |
10 |
11 | Hello ${param['name']}!
12 |
13 |
14 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/cdi/runner/core/src/test/resources/arquillian.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/test/embedded/hazelcast/src/main/webapp/index.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hello Hazelcast
6 |
7 |
8 | Hello Hazelcast, your session id is:
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/webprofile/helloworld/src/main/webapp/helloworld.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 |
8 | Hello World!
9 |
10 |
11 | Hello World!
12 |
13 |
14 |
--------------------------------------------------------------------------------
/test/webprofile/integration/src/main/webapp/expression.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 | ${expressionBean.message}
8 |
9 |
10 | ${expressionBean.message}
11 |
12 |
13 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/metadataComplete/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/test/embedded/eclipselink/src/main/webapp/WEB-INF/faces-config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/dist/micro/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/denyUncoveredMethods/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | # Enable version updates for Maven
4 | - package-ecosystem: "maven"
5 | directory: "/"
6 | schedule:
7 | interval: "weekly"
8 | open-pull-requests-limit: 10
9 |
10 | # Enable version updates for GitHub Actions
11 | - package-ecosystem: "github-actions"
12 | directory: "/"
13 | schedule:
14 | interval: "weekly"
15 | open-pull-requests-limit: 10
16 |
--------------------------------------------------------------------------------
/extension/hazelcast/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Piranha HTTP Session - Hazelcast Integration
3 |
4 | The Piranha HTTP Session - Hazelcast integration module is a module that
5 | can be used to have Hazelcast be the session manager.
6 |
7 | ## How to use?
8 |
9 | webApplication.setHttpSessionManager(new HazelcastHttpSessionManager());
10 |
11 | This snippet above makes your web application use the Hazelcast HTTP session
12 | manager.
13 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/hellotld2.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 | <%@taglib prefix="hellotld2" uri="http://hello.tld"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 | Testing tag configured in web.xml
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/hellotag.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 | <%@taglib prefix="hellotag" uri="/WEB-INF/tld/hellotag"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 | Testing tag coming from tag file
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/test/webprofile/integration/src/main/webapp/jstl.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 | <%@taglib uri="jakarta.tags.core" prefix="c"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/hellotld.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 | <%@taglib prefix="hellotld" uri="/WEB-INF/tld/hellotld"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 | Testing tag configured in TLD descriptor
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/hellotag2.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 | <%@taglib prefix="hellotag2" uri="/META-INF/hellotag2"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 | Testing tag coming from a tag file in a JAR
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/test/coreprofile/rest/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | 30
9 |
10 |
11 |
--------------------------------------------------------------------------------
/test/embedded/web-fragment-in-jar/src/main/resources/META-INF/web-fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | /webfragmentInJar
8 |
9 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/coreprofile/runner/src/test/resources/arquillian.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/defaultContextPath/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | /defaultContextPath
9 |
10 |
--------------------------------------------------------------------------------
/http/crac/README.md:
--------------------------------------------------------------------------------
1 | ## CRaC integration
2 |
3 | Make sure you are using a CRaC enabled JDK available from
4 | https://github.com/CRaC/openjdk-builds/releases
5 |
6 | To create the checkpoint:
7 |
8 | 1. java -XX:CRaCCheckpointTo=cr -jar piranha-dist-servlet.jar --enable-crac --write-pid --war-file your.war &
9 | 2. jcmd piranha-dist-servlet.jar JDK.checkpoint
10 | 3. files should be in the cr directory
11 |
12 | To restore from checkpoint:
13 |
14 | 1. java -XX:CRaCRestoreFrom=cr
15 |
--------------------------------------------------------------------------------
/test/webprofile/integration/src/main/webapp/faces.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | #{facesBean.message}
9 |
10 |
11 | #{facesBean.message}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/parse3/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | index.html
6 | default.jsp
7 |
8 |
9 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/welcomeFile/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | index.xhtml
9 |
10 |
11 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/init3/WEB-INF/classes/META-INF/web-fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | /webfragmentInClassesMetaInf
8 |
9 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/contextParam/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | myname
9 | myvalue
10 |
11 |
12 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/mimeMapping/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | class
9 | application/x-java-class
10 |
11 |
12 |
--------------------------------------------------------------------------------
/embedded/src/site/markdown/index.md:
--------------------------------------------------------------------------------
1 | # Piranha Embedded
2 |
3 | Piranha Embedded can be used to integrate Piranha into your application.
4 |
5 | ## Documentation
6 |
7 | 1. [Create a Piranha Embedded GraalVM application](create_a_piranha_embedded_graalvm_application.html)
8 | 1. [Create a Hello World web application](create_a_hello_world_web_application.html)
9 | 1. [Create an embedded JLink application](create_an_embedded_jlink_application.html)
10 | 1. [Running Piranha Embedded with Spring Boot](running_piranha_embedded_with_spring_boot.html)
--------------------------------------------------------------------------------
/test/embedded/weld/src/main/webapp/WEB-INF/faces-config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | org.jboss.weld.module.jsf.ConversationAwareViewHandler
9 |
10 |
11 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 | /WEB-INF/tld/hellotld.tld
10 | http://hello.tld
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/extension/tempdir/src/site/markdown/index.md:
--------------------------------------------------------------------------------
1 | # Piranha TEMPDIR Extension
2 |
3 | The TEMPDIR extension delivers the ability for a Piranha runtime to support
4 | the Servlet temporary directory. This extension is available by default for the
5 | following runtimes:
6 |
7 | 1. Piranha Server
8 | 1. Piranha Servlet
9 | 1. Piranha Web Profile
10 |
11 | ## Configuration parameters
12 |
13 | The following configuration parameter is available:
14 |
15 | 1. `cloud.piranha.extension.tempdir.location` - the directory where the temporary files will be stored. The default is `tmp`.
16 |
17 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/jspConfig/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 | http://tag.lib
10 | /WEB-INF/taglib.tld
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/test/server/wasp2/src/main/resources/META-INF/hellotag2.tld:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1.0
5 | hellotag2
6 | /META-INF/hellotag2
7 |
8 | hellotag2
9 | hellotag2.tag
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/WEB-INF/tld/hellotag.tld:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1.0
5 | hellotag
6 | /WEB-INF/tld/hellotag
7 |
8 | hellotag
9 | /WEB-INF/tags/hellotag.tag
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/WEB-INF/tld/hellotld.tld:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1.0
4 | hellotld
5 | /WEB-INF/tld/hellotld
6 |
7 | hellotld
8 | wasp.HelloTldTag
9 | JSP
10 |
11 |
12 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/rest/runner/src/test/resources/arquillian.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 | 8080
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/test/common/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.test
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | test-common
12 |
13 | Piranha - Test - Common functionality
14 |
15 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/dataSource/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | jdbc/demo
9 | org.h2.jdbcx.JdbcDataSource
10 | jdbc:h2:mem:webxml;DB_CLOSE_DELAY=-1
11 | sa
12 |
13 |
14 |
--------------------------------------------------------------------------------
/feature/api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.feature
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-feature-api
13 | jar
14 |
15 | Piranha - Feature - API
16 |
17 |
--------------------------------------------------------------------------------
/test/server/wasp/src/main/webapp/index.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/html" pageEncoding="UTF-8"%>
2 |
3 |
4 |
5 |
6 |
7 |
8 | Index page
9 |
10 |
11 | This web application contains the following tests:
12 |
13 | - Testing the <hello-tld> tag using taglib config
14 | - Testing the <hello-tld> tag using web.xml config
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/dist/server/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/resource/api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.resource
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-resource-api
13 | jar
14 |
15 | Piranha - Resource - API
16 |
17 |
--------------------------------------------------------------------------------
/test/servlet/crac/src/main/webapp/crac.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 | Jakarta Faces application
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/errorPage/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | 404
9 | /notfound.jsp
10 |
11 |
12 | java.lang.IllegalStateException
13 | /error.jsp
14 |
15 |
16 |
--------------------------------------------------------------------------------
/http/crac/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu
2 |
3 | #
4 | # Put the piranha-servlet.jar in the directory where this Dockerfile resides.
5 | #
6 | ADD piranha-dist-servlet.jar /root
7 |
8 | #
9 | # Download JDK from https://github.com/CRaC/openjdk-builds/releases and put it
10 | # in the directory where this Dockerfile resides. Adjust the filenames below if
11 | # you are using a newer release.
12 | #
13 | ADD openjdk-17-crac+3_linux-x64.tar.gz /opt
14 | ENV JAVA_HOME=/opt/openjdk-17-crac+3_linux-x64
15 | ENV PATH=$PATH:/opt/openjdk-17-crac+3_linux-x64/bin
16 |
17 | #
18 | # Add checkpoint directory.
19 | #
20 | ADD cr cr
21 |
22 | #
23 | # Restore java process from checkpoint.
24 | #
25 | CMD ["java", "-XX:CRaCRestoreFrom=cr"]
26 |
--------------------------------------------------------------------------------
/test/embedded/web-fragment-in-jar/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.test.embedded
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-test-embedded-web-fragment-in-jar
12 | jar
13 |
14 | Piranha - Test - Embedded - web-fragment in JAR
15 |
16 |
--------------------------------------------------------------------------------
/test/embedded/weld/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 | Faces Servlet
8 | jakarta.faces.webapp.FacesServlet
9 | 1
10 |
11 |
12 | Faces Servlet
13 | *.html
14 |
15 |
16 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/withoutLeadingSlash1/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TestServlet
6 | cloud.piranha.extension.webxml.internal.TestWithoutLeadingSlashServlet
7 |
8 |
9 | TestServlet
10 | thisIsWithoutALeadingSlash
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/embedded/hazelcast/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 | Faces Servlet
8 | jakarta.faces.webapp.FacesServlet
9 | 1
10 |
11 |
12 | Faces Servlet
13 | *.html
14 |
15 |
16 |
--------------------------------------------------------------------------------
/test/servlet/crac/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 | Faces Servlet
8 | jakarta.faces.webapp.FacesServlet
9 | 1
10 |
11 |
12 | Faces Servlet
13 | *.xhtml
14 |
15 |
16 |
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/jspwriter/clearBuffer.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/plain" pageEncoding="UTF-8" import="java.io.*" autoFlush="false"%>
2 | <%
3 | if (out.getBufferSize() > 0) {
4 | out.println("Arbitrary text");
5 | out.flush();
6 | out.println("Test FAILED");
7 | try {
8 | out.clearBuffer();
9 | } catch (Throwable t) {
10 | if (t instanceof IOException) {
11 | out.println("Test FAILED");
12 | return;
13 | } else {
14 | out.println("Test PASSED");
15 | }
16 | }
17 | out.println("Test PASSED");
18 | } else {
19 | out.println("Test PASSED");
20 | }
21 | %>
22 |
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: stale
2 | on:
3 | schedule:
4 | - cron: "0 0 * * *"
5 | workflow_dispatch:
6 | jobs:
7 | stale:
8 | if: github.repository == 'piranhacloud/piranha'
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/stale@v10
12 | with:
13 | repo-token: ${{ secrets.GITHUB_TOKEN }}
14 | stale-issue-message: 'This issue is stale because it has been open 170 days with no activity. Remove stale label or comment or this will be closed in 10 days'
15 | stale-pr-message: 'This PR is stale because it has been open 170 days with no activity. Remove stale label or comment or this will be closed in 10 days'
16 | days-before-stale: 170
17 | days-before-close: 10
18 |
--------------------------------------------------------------------------------
/test/coreprofile/no_servlet_class/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | cloud.piranha.test.coreprofile.no_servlet_class.EchoApplication
4 |
5 |
6 | cloud.piranha.test.coreprofile.no_servlet_class.EchoApplication
7 | /*
8 |
9 |
10 | 30
11 |
12 |
13 |
--------------------------------------------------------------------------------
/test/servlet/hello/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HelloServlet
6 | hello.HelloServlet
7 |
8 |
9 | HelloServlet
10 | /helloservlet
11 |
12 |
13 | 30
14 |
15 |
16 |
--------------------------------------------------------------------------------
/test/micro/helloworld/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HelloWorldServlet
6 | helloworld.HelloWorldServlet
7 |
8 |
9 | HelloWorldServlet
10 | /index.html
11 |
12 |
13 | 30
14 |
15 |
16 |
--------------------------------------------------------------------------------
/test/tck/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck
14 | project
15 | pom
16 | Piranha - Test - TCK
17 |
18 | coreprofile
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extension/wasp/src/test/webapp/jspwriter/close4.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/plain" pageEncoding="UTF-8" import="java.io.*" autoFlush="false"%>
2 | <%
3 | out.close();
4 | ServletContext ctx = (ServletContext) application;
5 | try {
6 | out.flush();
7 | } catch (Throwable t) {
8 | if (t instanceof IOException) {
9 | ctx.setAttribute("flush.exception", t);
10 | }
11 | }
12 |
13 | try {
14 | out.println();
15 | } catch (Throwable t) {
16 | if (t instanceof IOException) {
17 | ctx.setAttribute("write.exception", t);
18 | }
19 | }
20 |
21 | try {
22 | out.close();
23 | } catch (Throwable t) {
24 | ctx.setAttribute("close.exception", t);
25 | }
26 | %>
27 |
--------------------------------------------------------------------------------
/test/micro/snoop/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | SnoopServlet
9 | snoop.SnoopServlet
10 |
11 |
12 | SnoopServlet
13 | /Snoop
14 |
15 |
16 | 30
17 |
18 |
19 |
--------------------------------------------------------------------------------
/test/embedded/helloworld/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | HelloWorldServlet
9 | helloworld.HelloWorldServlet
10 |
11 |
12 | HelloWorldServlet
13 | /index.html
14 |
15 |
16 | 30
17 |
18 |
19 |
--------------------------------------------------------------------------------
/test/server/programmatic/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | ProgrammaticServlet
9 | programmatic.ProgrammaticServlet
10 |
11 |
12 | ProgrammaticServlet
13 | /index.html
14 |
15 |
16 | 30
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extension/servletannotations/src/test/webapp/webservlet/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | TestServlet
9 | cloud.piranha.extension.servletannotations.TestServlet
10 |
11 |
12 | TestServlet
13 | /url1b
14 | /url2b/*
15 | *.url3b
16 |
17 |
18 |
--------------------------------------------------------------------------------
/embedded/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/cdi/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.cdi
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - CDI TCK - Project
17 |
18 | installer
19 | runner
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/rest/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.rest
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - REST TCK - Project
17 |
18 | installer
19 | runner
20 |
21 |
22 |
--------------------------------------------------------------------------------
/http/api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.http
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-http-api
13 | jar
14 |
15 | Piranha - HTTP - API
16 |
17 |
18 |
19 | org.junit.jupiter
20 | junit-jupiter-api
21 | test
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/inject/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.inject
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - Inject TCK - Project
17 |
18 | installer
19 | runner
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/jsonb/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.jsonb
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - JSON Binding TCK - Project
17 |
18 | installer
19 | runner
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/jsonp/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.jsonp
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - JSON Processing TCK - Project
17 |
18 | installer
19 | runner
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/coreprofile/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.coreprofile
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - Core Profile TCK - Project
17 |
18 | installer
19 | runner
20 |
21 |
22 |
--------------------------------------------------------------------------------
/dist/coreprofile/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/cdi/runner/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.test.tck.coreprofile.cdi
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | cloud.piranha.test.tck.coreprofile.cdi.runner
11 | project
12 | pom
13 | Piranha - Test - TCK - Core Profile - CDI TCK - Runner - Project
14 |
15 | core
16 | model
17 | signature
18 |
19 |
20 |
--------------------------------------------------------------------------------
/maven/archetypes/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.maven
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | cloud.piranha.maven.archetypes
13 | project
14 | pom
15 |
16 | Piranha - Maven - Archetypes
17 |
18 |
19 |
20 | default
21 | file:///tmp/piranha/maven/archetypes/
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/test/webprofile/integration/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Faces Servlet
6 | jakarta.faces.webapp.FacesServlet
7 | 1
8 |
9 |
10 | Faces Servlet
11 | *.xhtml
12 |
13 |
14 | 30
15 |
16 |
17 | index.xhtml
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/filterMappings/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | TestFilter
9 | cloud.piranha.extension.webxml.TestFilter
10 | true
11 |
12 | name
13 | value
14 |
15 |
16 |
17 | TestFilter
18 | /*
19 | REQUEST
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/embedded/eclipselink/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | org.eclipse.persistence.jpa.PersistenceProvider
6 | jdbc/demo
7 | eclipselink.EclipseLinkTable
8 | false
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/init2/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 | SecureServlet
9 | /SecureServlet
10 | GET
11 | POST
12 |
13 |
14 | someRole
15 |
16 |
17 | NONE
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/feature/pid/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.feature
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-feature-pid
12 | jar
13 |
14 | Piranha - Feature - PID
15 |
16 |
17 |
18 | cloud.piranha.feature
19 | piranha-feature-impl
20 | ${project.version}
21 | compile
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/test/micro/protected-servlet/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 | ProtectedServlet
10 | /protected/servlet
11 | GET
12 |
13 |
14 |
15 | architect
16 |
17 |
18 |
19 |
20 | BASIC
21 | some
22 |
23 |
24 |
--------------------------------------------------------------------------------
/dist/servlet/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
11 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/feature/webapps/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.feature
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-feature-webapps
12 | jar
13 |
14 | Piranha - Feature - WebApps
15 |
16 |
17 |
18 | cloud.piranha.feature
19 | piranha-feature-webapp
20 | ${project.version}
21 | compile
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/resource/impl/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.resource
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-resource-impl
13 | jar
14 |
15 | Piranha - Resource - Implementation
16 |
17 |
18 |
19 |
20 | cloud.piranha.resource
21 | piranha-resource-api
22 | ${project.version}
23 | compile
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/test/coreprofile/no_servlet_class/src/test/java/cloud/piranha/test/coreprofile/no_servlet_class/EchoIT.java:
--------------------------------------------------------------------------------
1 | package cloud.piranha.test.coreprofile.no_servlet_class;
2 |
3 | import java.net.URI;
4 | import java.net.http.HttpClient;
5 | import java.net.http.HttpRequest;
6 | import java.net.http.HttpResponse;
7 | import java.net.http.HttpResponse.BodyHandlers;
8 | import static org.junit.jupiter.api.Assertions.assertEquals;
9 | import org.junit.jupiter.api.Test;
10 |
11 | class EchoIT {
12 |
13 | private String httpPort = System.getProperty("httpPort");
14 |
15 | @Test
16 | void testEcho() throws Exception {
17 | HttpClient client = HttpClient.newHttpClient();
18 | HttpRequest request = HttpRequest
19 | .newBuilder(new URI("http://localhost:" + httpPort + "/piranha-test-coreprofile-no_servlet_class/echo"))
20 | .build();
21 | HttpResponse response = client.send(request, BodyHandlers.ofString());
22 | assertEquals("echo", response.body());
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/init/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | myservletcontext
8 |
9 | myname
10 | myvalue
11 |
12 |
13 | Test Servlet
14 | cloud.piranha.extension.webxml.TestServlet
15 | 1
16 |
17 |
18 | Test Servlet
19 | *.html
20 |
21 |
22 | 30
23 |
24 |
25 |
--------------------------------------------------------------------------------
/test/servlet/helloworld/src/test/java/helloworld/HelloWorldIT.java:
--------------------------------------------------------------------------------
1 | package helloworld;
2 |
3 | import java.net.URI;
4 | import java.net.http.HttpClient;
5 | import java.net.http.HttpRequest;
6 | import java.net.http.HttpResponse;
7 | import java.net.http.HttpResponse.BodyHandlers;
8 | import static org.junit.jupiter.api.Assertions.assertTrue;
9 | import org.junit.jupiter.api.Disabled;
10 | import org.junit.jupiter.api.Test;
11 |
12 | class HelloWorldIT {
13 |
14 | @Disabled
15 | @Test
16 | void testHelloWorldHtml() throws Exception {
17 | HttpClient client = HttpClient.newHttpClient();
18 | HttpRequest request = HttpRequest
19 | .newBuilder(new URI("http://localhost:"
20 | + Integer.valueOf(System.getProperty("httpPort"))
21 | + "/helloworld/helloworld.html"))
22 | .build();
23 | HttpResponse response = client.send(request, BodyHandlers.ofString());
24 | assertTrue(response.body().contains("Hello World!"));
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/http/crac/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.http
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-http-crac
11 | Piranha - HTTP - CRaC integration
12 |
13 |
14 | cloud.piranha.http
15 | piranha-http-api
16 | ${project.version}
17 |
18 |
19 | io.github.crac
20 | org-crac
21 | compile
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/test/embedded/eclipselink/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | Faces Servlet
9 | jakarta.faces.webapp.FacesServlet
10 | 1
11 |
12 |
13 | Faces Servlet
14 | *.html
15 |
16 |
17 | 30
18 |
19 |
20 | jdbc/demo
21 | org.h2.jdbcx.JdbcDataSource
22 | jdbc:h2:mem:eclipselink;DB_CLOSE_DELAY=-1
23 | sa
24 |
25 |
26 |
--------------------------------------------------------------------------------
/test/server/wasp2/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.test.server
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-test-server-wasp2
12 | jar
13 |
14 | Piranha - Test - Server - WaSP #2
15 |
16 |
17 | UTF-8
18 |
19 |
20 |
21 |
22 |
23 | jakarta.platform
24 | jakarta.jakartaee-web-api
25 | provided
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Piranha Project
4 |
5 | 
6 |
7 | The Piranha Project delivers you with Cloud ready containers and useful add-on /
8 | integration modules.
9 |
10 | ## Quickstart
11 |
12 | Download a JAR based distribution from Maven Central.
13 |
14 | And run your web application using:
15 |
16 | ```
17 | java -jar piranha-dist-XXX.jar --war-file your-webapplication.war
18 | ```
19 |
20 | ## Getting Started
21 |
22 | To get started with Piranha please go
23 | [here](https://piranha.cloud/release/index.html).
24 |
25 | ## How do I contribute?
26 |
27 | See [Contributing](CONTRIBUTING.md)
28 |
29 | ## Our code of Conduct
30 |
31 | See [Code of Conduct](CODE_OF_CONDUCT.md)
32 |
33 | ## Important notice
34 |
35 | Note if you file issues or answer questions on the issue tracker and/or issue
36 | pull requests you agree that those contributions will be owned by Manorrock.com
37 | and that Manorrock.com can use those contributions in any manner Manorrock.com
38 | so desires.
39 |
--------------------------------------------------------------------------------
/dist/webprofile/src/site/site.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
11 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extension/expressly/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-expressly
11 | jar
12 | Piranha - Extension - Expressly
13 |
14 |
15 | cloud.piranha.core
16 | piranha-core-api
17 | ${project.version}
18 | compile
19 |
20 |
21 | org.glassfish.expressly
22 | expressly
23 | compile
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/test/embedded/web-fragment-in-jar-webapp/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.test.embedded
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-test-embedded-web-fragment-in-jar-webapp
12 | war
13 |
14 | Piranha - Test - Embedded - web-fragment in JAR webapp
15 |
16 |
17 | UTF-8
18 |
19 |
20 |
21 |
22 | cloud.piranha.test.embedded
23 | piranha-test-embedded-web-fragment-in-jar
24 | ${project.version}
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/extension/fileupload/src/site/markdown/index.md:
--------------------------------------------------------------------------------
1 | # Piranha File Upload Extension
2 |
3 | The File Upload extension delivers the ability for a Piranha runtime to support
4 | file upload. This extension is available by default for the following runtimes:
5 |
6 | 1. Piranha Server
7 | 1. Piranha Servlet
8 | 1. Piranha Web Profile
9 |
10 | ## Configuration parameters
11 |
12 | The following configuration parameters are available:
13 |
14 | 1. `cloud.piranha.extension.fileupload.outputDirectory` - the directory where
15 | the file upload will store temporary files. The default is the location as
16 |
17 | 1. `cloud.piranha.extension.fileupload.fileSizeTreshold` - the file size
18 | threshold (in bytes) before the runtime will create a temporary file on the
19 | filesystem to store the upload. The default is 10240 (10 KB).
20 |
21 | ## Setting the configuration parameters using web.xml
22 |
23 | You can set the configuration parameter in the web.xml as illustrated below:
24 |
25 | ```xml
26 |
27 | cloud.piranha.extension.fileupload.fileSizeTreshold
28 | 1048576
29 |
30 | ```
31 |
--------------------------------------------------------------------------------
/test/servlet/pages/src/test/java/hello/HelloIT.java:
--------------------------------------------------------------------------------
1 | package hello;
2 |
3 | import java.net.URI;
4 | import java.net.http.HttpClient;
5 | import static java.net.http.HttpClient.Redirect.ALWAYS;
6 | import java.net.http.HttpRequest;
7 | import java.net.http.HttpResponse;
8 | import java.net.http.HttpResponse.BodyHandlers;
9 | import java.time.Duration;
10 | import static org.junit.jupiter.api.Assertions.assertTrue;
11 | import org.junit.jupiter.api.Test;
12 |
13 | public class HelloIT {
14 |
15 | private final String portNumber = System.getProperty("httpPort");
16 |
17 | @Test
18 | public void testPagesHelloJsp() throws Exception {
19 | HttpClient client = HttpClient
20 | .newBuilder()
21 | .connectTimeout(Duration.ofSeconds(60))
22 | .followRedirects(ALWAYS)
23 | .build();
24 | HttpRequest request = HttpRequest
25 | .newBuilder(new URI("http://localhost:" + portNumber + "/pages/hello.jsp"))
26 | .build();
27 | HttpResponse response = client.send(request, BodyHandlers.ofString());
28 | assertTrue(response.body().contains("Hello from Jakarta Pages!"));
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/extension/omnifaces-omniutils/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-omnifaces-omniutils
11 | jar
12 | Piranha - Extension - OmniFaces OmniUtils
13 |
14 |
15 |
16 | cloud.piranha.core
17 | piranha-core-impl
18 | ${project.version}
19 | compile
20 |
21 |
22 | org.omnifaces
23 | omniutils
24 | compile
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/multi/src/main/zip/bin/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 |
6 | if [ -z ${JAVA_HOME} ]; then
7 | echo Using default java
8 | JAVA_BIN=java
9 | else
10 | echo Using JAVA_HOME: ${JAVA_HOME}
11 | JAVA_BIN=${JAVA_HOME}/bin/java
12 | fi
13 |
14 | if [[ "${PIRANHA_JPMS}" == "true" ]]; then
15 | INIT_OPTIONS="--module-path lib -m cloud.piranha.multi"
16 | else
17 | INIT_OPTIONS="-jar lib/piranha-multi.jar"
18 | fi
19 |
20 |
21 | if [[ "$*" == *"--suspend"* ]]; then
22 | JAVA_ARGS="${JAVA_ARGS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:9009"
23 | fi
24 |
25 | #
26 | # Set the SSL debug mode which is useful for debugging SSL connections.
27 | #
28 | # SSL_DEBUG=-Djavax.net.debug=ssl
29 |
30 | CMD="${JAVA_BIN} ${JAVA_ARGS} ${SSL_DEBUG} \
31 | -Djava.util.logging.config.file=etc/logging.properties \
32 | ${INIT_OPTIONS} $*"
33 |
34 | echo Starting Piranha using command: ${CMD}
35 |
36 | touch tmp/piranha.pid
37 |
38 | if [[ "$*" == *"--verbose"* ]]; then
39 | ${CMD}
40 | else
41 | if [[ "$*" == *"--run"* ]]; then
42 | echo $$ > tmp/piranha.pid
43 | ${CMD}
44 | else
45 | ${CMD} &
46 | echo $! > tmp/piranha.pid
47 | fi
48 | fi
49 |
--------------------------------------------------------------------------------
/extension/omnifish-omnibeans/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-omnifish-omnibeans
13 | jar
14 |
15 | Piranha - Extension - OmniFish OmniBeans
16 |
17 |
18 |
19 | cloud.piranha.core
20 | piranha-core-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | ee.omnifish
26 | omnibeans
27 | compile
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/extension/omnifaces-config/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-omnifaces-config
13 | jar
14 |
15 | Piranha - Extension - OmniFaces Config
16 |
17 |
18 |
19 | cloud.piranha.core
20 | piranha-core-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.omnifaces
26 | omni-mp-config
27 | compile
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/dist/server/src/main/zip/bin/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 |
6 | if [ -z ${JAVA_HOME} ]; then
7 | echo Using default java
8 | JAVA_BIN=java
9 | else
10 | echo Using JAVA_HOME: ${JAVA_HOME}
11 | JAVA_BIN=${JAVA_HOME}/bin/java
12 | fi
13 |
14 | if [[ "${PIRANHA_JPMS}" == "true" ]]; then
15 | INIT_OPTIONS="--module-path lib -m cloud.piranha.dist.server"
16 | else
17 | INIT_OPTIONS="-jar lib/piranha-dist-server.jar"
18 | fi
19 |
20 |
21 | if [[ "$*" == *"--suspend"* ]]; then
22 | JAVA_ARGS="${JAVA_ARGS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:9009"
23 | fi
24 |
25 | #
26 | # Set the SSL debug mode which is useful for debugging SSL connections.
27 | #
28 | # SSL_DEBUG=-Djavax.net.debug=ssl
29 |
30 | CMD="${JAVA_BIN} ${JAVA_ARGS} ${SSL_DEBUG} \
31 | -Djava.util.logging.config.file=etc/logging.properties \
32 | ${INIT_OPTIONS} $*"
33 |
34 | echo Starting Piranha using command: ${CMD}
35 |
36 | touch tmp/piranha.pid
37 |
38 | if [[ "$*" == *"--verbose"* ]]; then
39 | ${CMD}
40 | else
41 | if [[ "$*" == *"--run"* ]]; then
42 | echo $$ > tmp/piranha.pid
43 | ${CMD}
44 | else
45 | ${CMD} &
46 | echo $! > tmp/piranha.pid
47 | fi
48 | fi
49 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/zip/bin/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 |
6 | if [ -z ${JAVA_HOME} ]; then
7 | echo Using default java
8 | JAVA_BIN=java
9 | else
10 | echo Using JAVA_HOME: ${JAVA_HOME}
11 | JAVA_BIN=${JAVA_HOME}/bin/java
12 | fi
13 |
14 | if [[ "${PIRANHA_JPMS}" == "true" ]]; then
15 | INIT_OPTIONS="--module-path lib -m cloud.piranha.dist.isolated"
16 | else
17 | INIT_OPTIONS="-jar lib/piranha-dist-isolated.jar"
18 | fi
19 |
20 |
21 | if [[ "$*" == *"--suspend"* ]]; then
22 | JAVA_ARGS="${JAVA_ARGS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:9009"
23 | fi
24 |
25 | #
26 | # Set the SSL debug mode which is useful for debugging SSL connections.
27 | #
28 | # SSL_DEBUG=-Djavax.net.debug=ssl
29 |
30 | CMD="${JAVA_BIN} ${JAVA_ARGS} ${SSL_DEBUG} \
31 | -Djava.util.logging.config.file=etc/logging.properties \
32 | ${INIT_OPTIONS} $*"
33 |
34 | echo Starting Piranha using command: ${CMD}
35 |
36 | touch tmp/piranha.pid
37 |
38 | if [[ "$*" == *"--verbose"* ]]; then
39 | ${CMD}
40 | else
41 | if [[ "$*" == *"--run"* ]]; then
42 | echo $$ > tmp/piranha.pid
43 | ${CMD}
44 | else
45 | ${CMD} &
46 | echo $! > tmp/piranha.pid
47 | fi
48 | fi
49 |
--------------------------------------------------------------------------------
/dist/platform/src/main/zip/bin/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -m
3 |
4 | cd ..
5 |
6 | if [ -z ${JAVA_HOME} ]; then
7 | echo Using default java
8 | JAVA_BIN=java
9 | else
10 | echo Using JAVA_HOME: ${JAVA_HOME}
11 | JAVA_BIN=${JAVA_HOME}/bin/java
12 | fi
13 |
14 | if [[ "${PIRANHA_JPMS}" == "true" ]]; then
15 | INIT_OPTIONS="--module-path lib -m cloud.piranha.dist.platform"
16 | else
17 | INIT_OPTIONS="-jar lib/piranha-dist-platform.jar"
18 | fi
19 |
20 |
21 | if [[ "$*" == *"--suspend"* ]]; then
22 | JAVA_ARGS="${JAVA_ARGS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:9009"
23 | fi
24 |
25 | #
26 | # Set the SSL debug mode which is useful for debugging SSL connections.
27 | #
28 | # SSL_DEBUG=-Djavax.net.debug=ssl
29 |
30 | CMD="${JAVA_BIN} ${JAVA_ARGS} ${SSL_DEBUG} \
31 | -Djava.util.logging.config.file=etc/logging.properties \
32 | ${INIT_OPTIONS} $*"
33 |
34 | echo Starting Piranha using command: ${CMD}
35 |
36 | touch tmp/piranha.pid
37 |
38 | if [[ "$*" == *"--verbose"* ]]; then
39 | ${CMD}
40 | else
41 | if [[ "$*" == *"--run"* ]]; then
42 | echo $$ > tmp/piranha.pid
43 | ${CMD}
44 | else
45 | ${CMD} &
46 | echo $! > tmp/piranha.pid
47 | fi
48 | fi
49 |
--------------------------------------------------------------------------------
/extension/omnifaces-omniservices/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-omnifaces-omniservices
13 | jar
14 |
15 | Piranha - Extension - OmniFaces OmniServices
16 |
17 |
18 |
19 | cloud.piranha.core
20 | piranha-core-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.omnifaces
26 | omniservices
27 | compile
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/test/tck/coreprofile/annotations/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test.tck.coreprofile
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.tck.coreprofile.annotations
14 | project
15 | pom
16 | Piranha - Test - TCK - Core Profile - Annotations TCK
17 |
18 |
19 |
20 | jakarta.annotation
21 | jakarta-annotations-tck
22 | ${annotations.tck.version}
23 |
24 |
25 |
26 |
27 | installer
28 | runner
29 |
30 |
31 |
--------------------------------------------------------------------------------
/extension/omnifaces-microprofile-jwt-auth/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-omnifaces-microprofile-jwt-auth
13 | jar
14 |
15 | Piranha - Extension - OmniFaces Micro Profile JWT Auth
16 |
17 |
18 |
19 | cloud.piranha.core
20 | piranha-core-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.omnifaces
26 | microprofile-jwt-auth
27 | compile
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/http/jdk/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.http
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-http-jdk
13 | jar
14 |
15 | Piranha - HTTP - JDK HTTP Server Integration
16 |
17 |
18 |
19 |
20 | cloud.piranha.http
21 | piranha-http-api
22 | ${project.version}
23 | compile
24 |
25 |
26 |
27 | cloud.piranha.http
28 | piranha-http-tests
29 | ${project.version}
30 | test
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/.github/workflows/experimental.yml:
--------------------------------------------------------------------------------
1 | name: experimental
2 | on:
3 | schedule:
4 | - cron: "0 0 * * 0"
5 | workflow_dispatch:
6 | jobs:
7 | build:
8 | if: github.repository == 'piranhacloud/piranha'
9 | runs-on: ${{ matrix.os }}
10 | strategy:
11 | fail-fast: false
12 | matrix:
13 | distribution: [ 'temurin' ]
14 | java: [ '23', '24-ea', '25-ea' ]
15 | os: [ubuntu-latest, macos-latest, windows-latest]
16 | steps:
17 | - name: Checkout Sources
18 | uses: actions/checkout@v5
19 | - name: Setup Java ${{ matrix.java }}
20 | uses: actions/setup-java@v4
21 | with:
22 | distribution: ${{ matrix.distribution }}
23 | java-version: ${{ matrix.java }}
24 | - name: Build with Maven
25 | run: mvn -B -ntp -T 1 install
26 | result:
27 | if: ${{ always() }} && github.repository == 'piranhacloud/piranha'
28 | runs-on: ubuntu-latest
29 | needs: build
30 | steps:
31 | - name: Check build results
32 | run: |
33 | result="${{ needs.build.result }}"
34 | if [[ $result == "success" || $result == "skipped" ]]; then
35 | echo "All matrix jobs were successful or skipped."
36 | exit 0
37 | else
38 | echo "One or more matrix jobs failed."
39 | exit 0
40 | fi
41 |
--------------------------------------------------------------------------------
/test/embedded/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.test
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | cloud.piranha.test.embedded
12 | project
13 | pom
14 |
15 | Piranha - Test - Embedded - Project
16 |
17 |
18 | classloader
19 | classloader2
20 | eclipselink
21 | exousia
22 | hazelcast
23 | helloworld
24 | soteria-basic
25 | soteria-form
26 | springboot
27 | springboot-virtualthreads
28 | web-fragment-in-jar
29 | web-fragment-in-jar-test
30 | web-fragment-in-jar-webapp
31 | weld
32 |
33 |
34 |
--------------------------------------------------------------------------------
/.github/workflows/trigger.yml:
--------------------------------------------------------------------------------
1 | name: trigger
2 | on:
3 | workflow_dispatch:
4 | inputs:
5 | branch:
6 | description: 'Branch to release from'
7 | required: true
8 | default: 'current'
9 | version:
10 | description: 'Release version'
11 | required: true
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Checkout sources
17 | uses: actions/checkout@v5
18 | with:
19 | token: ${{ secrets.GIT_PASSWORD }}
20 | - name: Release from given branch with given version
21 | run: |
22 | git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
23 | BRANCH=${{ github.event.inputs.branch }}
24 | TAG=${GITHUB_REF}
25 | VERSION=${{ github.event.inputs.version }}
26 | echo "Releasing $VERSION from $BRANCH branch"
27 | git checkout $BRANCH
28 | git checkout -b release
29 | mvn -B versions:set versions:commit -DnewVersion=$VERSION
30 | git config --global user.email "noreply@piranha.cloud"
31 | git config --global user.name "Automated release"
32 | git commit -a -m "Releasing version $VERSION from $BRANCH branch"
33 | git tag v$VERSION -f
34 | git push origin v$VERSION -f
35 | git checkout $BRANCH
36 | git branch -D release
37 |
--------------------------------------------------------------------------------
/test/webprofile/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.test
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | cloud.piranha.test.webprofile
11 | project
12 | pom
13 | Piranha - Test - Web Profile - Project
14 |
15 |
21 |
22 | cloud.piranha.dist
23 | piranha-dist-webprofile
24 | ${project.version}
25 | provided
26 | pom
27 |
28 |
29 |
30 | helloworld
31 | integration
32 |
33 |
34 |
--------------------------------------------------------------------------------
/test/server/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.test
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | cloud.piranha.test.server
11 | project
12 | pom
13 | Piranha - Test - Server - Project
14 |
15 | helloworld
16 | programmatic
17 | wasp
18 | wasp2
19 |
20 |
26 |
27 |
28 | cloud.piranha.dist
29 | piranha-dist-server
30 | ${project.version}
31 | pom
32 | provided
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/core/api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.core
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-core-api
13 | jar
14 |
15 | Piranha - Core - API
16 |
17 |
18 |
19 |
20 | jakarta.servlet
21 | jakarta.servlet-api
22 | compile
23 |
24 |
25 | cloud.piranha.resource
26 | piranha-resource-api
27 | ${project.version}
28 | compile
29 |
30 |
31 |
32 |
33 |
34 | default
35 | file:///tmp/piranha/core/api/
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/maven/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | cloud.piranha.maven
13 | project
14 | pom
15 |
16 | Piranha - Maven
17 |
18 |
19 | archetypes
20 | plugin
21 |
22 |
23 |
24 |
25 |
26 | cloud.piranha
27 | bom
28 | ${project.version}
29 | pom
30 | import
31 |
32 |
33 |
34 |
35 |
36 | default
37 | file:///tmp/piranha/maven/
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/test/micro/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.test
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | cloud.piranha.test.micro
13 | project
14 | pom
15 |
16 | Piranha - Test - Micro - Project
17 |
18 |
19 | helloworld
20 | microprofile-config
21 | protected-servlet
22 | snoop
23 |
24 |
25 |
26 |
27 | cloud.piranha.dist
28 | piranha-dist-micro
29 | ${project.version}
30 | test
31 |
32 |
33 | me.alexpanov
34 | free-port-finder
35 | test
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/.github/workflows/docs.yml:
--------------------------------------------------------------------------------
1 | name: docs
2 | on:
3 | workflow_dispatch:
4 | inputs:
5 | version:
6 | description: 'Release version'
7 | required: true
8 | jobs:
9 | docs:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout Piranha
13 | uses: actions/checkout@v5
14 | with:
15 | ref: v${{ github.event.inputs.version }}
16 | - name: Checkout Piranha Website
17 | uses: actions/checkout@v5
18 | with:
19 | repository: piranhacloud/piranha-website
20 | token: ${{ secrets.GIT_PASSWORD }}
21 | path: piranha-website
22 | ref: 'gh-pages'
23 | - name: Setup Java
24 | uses: actions/setup-java@v4
25 | with:
26 | distribution: 'temurin'
27 | java-version: 21
28 | - name: Build with Maven
29 | run: |
30 | mvn -B -DskipTests -DskipITs -DstagingDirectory=$PWD/target/staging -ntp -P '!test' -T 1 install site site:stage
31 | rm -rf piranha-website/release || true
32 | mkdir -p piranha-website/release || true
33 | cp -R target/staging/* piranha-website/release/
34 | cd piranha-website
35 | git config --global user.email "noreply@piranha.cloud"
36 | git config --global user.name "Automated publish"
37 | git add .
38 | git commit -a -m "Publishing ${{ github.event.inputs.version }} documentation" || true
39 | git push
40 |
--------------------------------------------------------------------------------
/extension/webxml/src/test/webxml/parse4/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Test Servlet
6 | cloud.piranha.extension.webxml.tests.TestServlet
7 |
8 | mydescription
9 | myrole
10 | myrole
11 |
12 |
13 |
14 | Test Servlet
15 | /foo
16 | /bar
17 |
18 |
19 | myrole
20 |
21 |
22 |
23 | mywebresourcename
24 | mydescription
25 | /*
26 |
27 |
28 | myrole
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/micro/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.micro
14 | project
15 | pom
16 | Piranha - Micro
17 |
18 | builder
19 | core
20 | loader
21 |
22 |
23 |
24 |
25 | cloud.piranha
26 | bom
27 | ${project.version}
28 | pom
29 | import
30 |
31 |
32 |
33 |
34 |
35 | default
36 | file:///tmp/piranha/micro/
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/extension/hazelcast/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-hazelcast
11 | jar
12 | Piranha - Extension - Hazelcast
13 |
14 |
15 |
16 | com.hazelcast
17 | hazelcast
18 | compile
19 |
20 |
21 |
22 | cloud.piranha.core
23 | piranha-core-impl
24 | ${project.version}
25 | provided
26 |
27 |
28 |
29 | org.junit.jupiter
30 | junit-jupiter-api
31 | test
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/http/undertow/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.http
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-http-undertow
11 | jar
12 | Piranha - HTTP - Undertow Integration
13 |
14 |
15 |
16 | cloud.piranha.http
17 | piranha-http-api
18 | ${project.version}
19 | compile
20 |
21 |
22 | io.undertow
23 | undertow-core
24 | compile
25 |
26 |
27 |
28 | cloud.piranha.http
29 | piranha-http-tests
30 | ${project.version}
31 | test
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/multi/src/main/assembly/zip.xml:
--------------------------------------------------------------------------------
1 |
4 | zip
5 | piranha
6 |
7 | zip
8 | tar.gz
9 |
10 |
11 |
12 | ${project.basedir}/src/main/zip
13 |
14 |
15 |
16 | ${project.build.directory}/webapps
17 | webapps
18 |
19 |
20 |
21 |
22 | ${project.build.directory}/piranha-multi.jar
23 | lib
24 |
25 |
26 |
27 |
28 |
29 | ${project.groupId}:${project.artifactId}:jar:*
30 |
31 | lib
32 | true
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/test/coreprofile/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.coreprofile
14 | project
15 | pom
16 | Piranha - Test - Core Profile - Project
17 |
18 |
24 |
25 | cloud.piranha.dist
26 | piranha-dist-coreprofile
27 | ${project.version}
28 | test
29 |
30 |
31 |
32 | arquillian
33 | integration
34 | json
35 | no_servlet_class
36 | rest
37 |
38 |
39 |
--------------------------------------------------------------------------------
/dist/server/src/main/assembly/zip.xml:
--------------------------------------------------------------------------------
1 |
4 | zip
5 | piranha
6 |
7 | zip
8 | tar.gz
9 |
10 |
11 |
12 | ${project.basedir}/src/main/zip
13 |
14 |
15 |
16 | ${project.build.directory}/webapps
17 | webapps
18 |
19 |
20 |
21 |
22 | ${project.build.directory}/piranha-dist-server.jar
23 | lib
24 |
25 |
26 |
27 |
28 |
29 | ${project.groupId}:${project.artifactId}:jar:*
30 |
31 | lib
32 | true
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/dist/isolated/src/main/assembly/zip.xml:
--------------------------------------------------------------------------------
1 |
4 | zip
5 | piranha
6 |
7 | zip
8 | tar.gz
9 |
10 |
11 |
12 | ${project.basedir}/src/main/zip
13 |
14 |
15 |
16 | ${project.build.directory}/webapps
17 | webapps
18 |
19 |
20 |
21 |
22 | ${project.build.directory}/piranha-dist-isolated.jar
23 | lib
24 |
25 |
26 |
27 |
28 |
29 | ${project.groupId}:${project.artifactId}:jar:*
30 |
31 | lib
32 | true
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/dist/platform/src/main/assembly/zip.xml:
--------------------------------------------------------------------------------
1 |
4 | zip
5 | piranha
6 |
7 | zip
8 | tar.gz
9 |
10 |
11 |
12 | ${project.basedir}/src/main/zip
13 |
14 |
15 |
16 | ${project.build.directory}/webapps
17 | webapps
18 |
19 |
20 |
21 |
22 | ${project.build.directory}/piranha-dist-platform.jar
23 | lib
24 |
25 |
26 |
27 |
28 |
29 | ${project.groupId}:${project.artifactId}:jar:*
30 |
31 | lib
32 | true
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/test/coreprofile/json/src/test/java/temperature/TemperatureIT.java:
--------------------------------------------------------------------------------
1 | package temperature;
2 |
3 | import java.net.URI;
4 | import java.net.http.HttpClient;
5 | import java.net.http.HttpRequest;
6 | import java.net.http.HttpResponse;
7 | import java.net.http.HttpResponse.BodyHandlers;
8 | import static org.junit.jupiter.api.Assertions.assertEquals;
9 | import org.junit.jupiter.api.Test;
10 |
11 | class TemperatureIT {
12 |
13 | private String httpPort = System.getProperty("httpPort");
14 |
15 | @Test
16 | void testCelsius() throws Exception {
17 | HttpClient client = HttpClient.newHttpClient();
18 | HttpRequest request = HttpRequest
19 | .newBuilder(new URI("http://localhost:" + httpPort + "/temperature/celsius/18.5"))
20 | .build();
21 | HttpResponse response = client.send(request, BodyHandlers.ofString());
22 | assertEquals("{\"scale\":\"CELSIUS\",\"temperature\":18.5}", response.body());
23 | }
24 |
25 | @Test
26 | void testFahrenheit() throws Exception {
27 | HttpClient client = HttpClient.newHttpClient();
28 | HttpRequest request = HttpRequest
29 | .newBuilder(new URI("http://localhost:" + httpPort + "/temperature/fahrenheit/68.0"))
30 | .build();
31 | HttpResponse response = client.send(request, BodyHandlers.ofString());
32 | assertEquals("{\"scale\":\"FAHRENHEIT\",\"temperature\":68.0}", response.body());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/test/embedded/classloader/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.test.embedded
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-test-embedded-classloader
12 | war
13 |
14 | Piranha - Test - Embedded - Classloader
15 |
16 |
17 | UTF-8
18 |
19 |
20 |
21 |
22 | jakarta.platform
23 | jakarta.jakartaee-web-api
24 | provided
25 |
26 |
27 |
28 |
29 |
30 |
31 | org.apache.maven.plugins
32 | maven-war-plugin
33 |
34 | false
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/test/servlet/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 4.0.0
8 |
9 | cloud.piranha.test
10 | project
11 | 25.4.0-SNAPSHOT
12 |
13 | cloud.piranha.test.servlet
14 | project
15 | pom
16 | Piranha - Test - Servlet - Project
17 |
23 |
24 |
25 | cloud.piranha.dist
26 | piranha-dist-servlet
27 | ${project.version}
28 | pom
29 | provided
30 |
31 |
32 |
33 | crac
34 | hello
35 | helloworld
36 | integration
37 | pages
38 | websocket
39 |
40 |
41 |
--------------------------------------------------------------------------------
/dist/webprofile/src/site/markdown/index.md:
--------------------------------------------------------------------------------
1 | # Piranha Web Profile
2 |
3 | Piranha Web Profile is our distribution that delivers Jakarta EE Web Profile
4 | support. If you are looking for Jakarta EE Web Profile support this distribution
5 | is the best match!
6 |
7 | The following list of components are available in the Piranha Web Profile
8 | distribution:
9 |
10 | 1. Jakarta Annotations
11 | 1. Jakarta Authentication
12 | 1. Jakarta Bean Validation
13 | 1. Jakarta Concurrency
14 | 1. Jakarta Contexts and Dependency Injection
15 | 1. Jakarta Debugging Support for Other Languages
16 | 1. Jakarta Dependency Injection
17 | 1. Jakarta Enterprise Beans Lite
18 | 1. Jakarta Expression Language
19 | 1. Jakarta Interceptors
20 | 1. Jakarta JSON Binding
21 | 1. Jakarta JSON Processing
22 | 1. Jakarta Persistence
23 | 1. Jakarta RESTful Web Services
24 | 1. Jakarta Security
25 | 1. Jakarta Server Faces
26 | 1. Jakarta Server Pages
27 | 1. Jakarta Servlet
28 | 1. Jakarta Standard Tag Library
29 | 1. Jakarta Transactions
30 | 1. Jakarta WebSocket
31 |
32 | ## Documentation
33 |
34 | 1. [Create a Faces application](create_a_faces_application.html)
35 | 1. [Create a Hello World application](create_a_hello_world_application.html)
36 | 1. [Create a Jakarta REST service](create_a_jakarta_rest_service.html)
37 | 1. [Create a Pages application](create_a_pages_application.html)
38 | 1. [Testing with JUnit5 and Playwright](testing_with_junit5_and_playwright.html)
39 | 1. [Testing with our container image](testing_with_our_container_image.html)
40 |
--------------------------------------------------------------------------------
/extension/mojarra/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-mojarra
11 | jar
12 | Piranha - Extension - Mojarra
13 |
14 |
15 |
16 | cloud.piranha.core
17 | piranha-core-api
18 | ${project.version}
19 | compile
20 |
21 |
22 |
23 | cloud.piranha.extension
24 | piranha-extension-scinitializer
25 | ${project.version}
26 | provided
27 |
28 |
29 |
30 | org.glassfish
31 | jakarta.faces
32 | runtime
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/extension/parsson/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-parsson
11 | jar
12 | Piranha - Extension - Parsson
13 |
14 |
15 |
16 | cloud.piranha.core
17 | piranha-core-api
18 | ${project.version}
19 | compile
20 |
21 |
22 |
23 | cloud.piranha.extension
24 | piranha-extension-scinitializer
25 | ${project.version}
26 | provided
27 |
28 |
29 |
30 | org.eclipse.parsson
31 | parsson
32 | runtime
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/extension/jstl/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-jstl
11 | jar
12 | Piranha - Extension - JSTL
13 |
14 |
15 |
16 | cloud.piranha.core
17 | piranha-core-api
18 | ${project.version}
19 | compile
20 |
21 |
22 |
23 | cloud.piranha.extension
24 | piranha-extension-scinitializer
25 | ${project.version}
26 | provided
27 |
28 |
29 |
30 | org.glassfish.web
31 | jakarta.servlet.jsp.jstl
32 | runtime
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/extension/yasson/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-yasson
13 | jar
14 |
15 | Piranha - Extension - Yasson
16 |
17 |
18 |
19 | cloud.piranha.core
20 | piranha-core-api
21 | ${project.version}
22 | compile
23 |
24 |
25 |
26 | cloud.piranha.extension
27 | piranha-extension-scinitializer
28 | ${project.version}
29 | provided
30 |
31 |
32 |
33 | org.eclipse
34 | yasson
35 | runtime
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/http/tests/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.http
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-http-tests
13 | jar
14 |
15 | Piranha - HTTP - Tests
16 |
17 |
18 |
19 | cloud.piranha.http
20 | piranha-http-api
21 | ${project.version}
22 | compile
23 |
24 |
25 | me.alexpanov
26 | free-port-finder
27 | compile
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-api
32 | compile
33 |
34 |
35 | org.junit-pioneer
36 | junit-pioneer
37 | compile
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/feature/impl/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.feature
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-feature-impl
13 | jar
14 |
15 | Piranha - Feature - Implementation
16 |
17 |
18 |
19 | cloud.piranha.feature
20 | piranha-feature-api
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.junit.jupiter
26 | junit-jupiter-api
27 | test
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-params
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-engine
37 | test
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/feature/logging/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.feature
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-feature-logging
13 | jar
14 |
15 | Piranha - Feature - Logging
16 |
17 |
18 |
19 | cloud.piranha.feature
20 | piranha-feature-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.junit.jupiter
26 | junit-jupiter-api
27 | test
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-params
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-engine
37 | test
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/feature/exitonstop/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.feature
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-feature-exitonstop
13 | jar
14 |
15 | Piranha - Feature - Exit on Stop
16 |
17 |
18 |
19 | cloud.piranha.feature
20 | piranha-feature-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.junit.jupiter
26 | junit-jupiter-api
27 | test
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-params
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-engine
37 | test
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/arquillian/managed/src/test/java/cloud/piranha/arquillian/managed/ManagedPiranhaContainerTest.java:
--------------------------------------------------------------------------------
1 | package cloud.piranha.arquillian.managed;
2 |
3 | import java.io.File;
4 | import org.jboss.arquillian.container.spi.client.container.DeploymentException;
5 | import org.jboss.arquillian.container.spi.client.protocol.ProtocolDescription;
6 | import org.jboss.shrinkwrap.api.ShrinkWrap;
7 | import org.jboss.shrinkwrap.api.spec.WebArchive;
8 | import org.junit.jupiter.api.AfterEach;
9 | import org.junit.jupiter.api.BeforeEach;
10 | import org.junit.jupiter.api.Disabled;
11 | import org.junit.jupiter.api.Test;
12 | import static org.junit.jupiter.api.Assertions.*;
13 |
14 | /**
15 | * The JUnit tests for the ManagedPiranhaContainer class.
16 | *
17 | * @author Manfred Riem (mriem@manorrock.com)
18 | */
19 | class ManagedPiranhaContainerTest {
20 |
21 | /**
22 | * Test getContainerConfiguration method.
23 | */
24 | @Test
25 | void testGetConfigurationClass() {
26 | ManagedPiranhaContainer container = new ManagedPiranhaContainer();
27 | assertEquals(ManagedPiranhaContainerConfiguration.class, container.getConfigurationClass());
28 | }
29 |
30 | /**
31 | * TEst getDefaulProtocol method.
32 | */
33 | @Test
34 | void testGetDefaultProtocol() {
35 | ManagedPiranhaContainer container = new ManagedPiranhaContainer();
36 | container.setup(new ManagedPiranhaContainerConfiguration());
37 | ProtocolDescription protocolDescription = container.getDefaultProtocol();
38 | assertEquals("Servlet 6.0", protocolDescription.getName());
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/docker/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | cloud.piranha.docker
13 | project
14 | pom
15 |
16 | Piranha - Docker
17 |
18 |
19 | coreprofile
20 |
21 |
22 |
23 |
24 |
25 | org.junit.jupiter
26 | junit-jupiter-api
27 | test
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-engine
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-params
37 | test
38 |
39 |
40 |
41 |
42 |
43 | default
44 | file:///tmp/piranha/docker/
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/extension/epicyro/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-epicyro
11 | jar
12 | Piranha - Extension - Epicyro
13 |
14 |
15 |
16 | org.glassfish.epicyro
17 | epicyro
18 | compile
19 |
20 |
21 | jakarta.servlet
22 | jakarta.servlet-api
23 |
24 |
25 |
26 |
27 | cloud.piranha.core
28 | piranha-core-impl
29 | ${project.version}
30 | compile
31 |
32 |
33 | jakarta.authentication
34 | jakarta.authentication-api
35 | provided
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/extension/hibernate-validator/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-hibernate-validator
13 | jar
14 |
15 | Piranha - Extension - Hibernate Validator
16 |
17 |
18 |
19 | UTF-8
20 |
21 |
22 |
23 |
24 |
25 | cloud.piranha.core
26 | piranha-core-api
27 | ${project.version}
28 | compile
29 |
30 |
31 |
32 | org.hibernate.validator
33 | hibernate-validator
34 | runtime
35 |
36 |
37 | org.hibernate.validator
38 | hibernate-validator-cdi
39 | runtime
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Copyright (c) 2002-2021 Manorrock.com. All Rights Reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 |
7 | 1. Redistributions of source code must retain the above copyright notice,
8 | this list of conditions and the following disclaimer.
9 | 2. Redistributions in binary form must reproduce the above copyright
10 | notice, this list of conditions and the following disclaimer in the
11 | documentation and/or other materials provided with the distribution.
12 | 3. Neither the name of the copyright holder nor the names of its
13 | contributors may be used to endorse or promote products derived from
14 | this software without specific prior written permission.
15 |
16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | POSSIBILITY OF SUCH DAMAGE.
27 |
--------------------------------------------------------------------------------
/spring/spring-boot-starter-piranha-embedded/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.spring
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-embedded-spring-boot-starter
13 | jar
14 |
15 | Piranha - Spring - Piranha Embedded Spring Boot Starter
16 |
17 | This module delivers the Spring Boot starter for Piranha Embedded.
18 |
19 |
20 |
21 |
22 | cloud.piranha
23 | piranha-embedded
24 | ${project.version}
25 |
26 |
27 | cloud.piranha.http
28 | piranha-http-impl
29 | ${project.version}
30 |
31 |
32 | cloud.piranha.http
33 | piranha-http-webapp
34 | ${project.version}
35 |
36 |
37 | org.springframework.boot
38 | spring-boot
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/extension/jaxb/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-jaxb
11 | jar
12 | Piranha - Extension - JAXB
13 |
14 |
15 |
16 | cloud.piranha.core
17 | piranha-core-api
18 | ${project.version}
19 | compile
20 |
21 |
22 |
23 | cloud.piranha.extension
24 | piranha-extension-angus
25 | ${project.version}
26 | provided
27 |
28 |
29 |
30 | cloud.piranha.extension
31 | piranha-extension-scinitializer
32 | ${project.version}
33 | provided
34 |
35 |
36 |
37 | org.glassfish.jaxb
38 | jaxb-runtime
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package1/Utils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package1;
29 |
30 | public class Utils {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package1/Library.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package1;
29 |
30 | public class Library {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package1/Servlet.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package1;
29 |
30 | public class Servlet {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package2/Library.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package2;
29 |
30 | public class Library {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package3/Filter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package3;
29 |
30 | public class Filter {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package3/Library.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package3;
29 |
30 | public class Library {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package1/Service.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package1;
29 |
30 | public interface Service {
31 | }
32 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package2/Listener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package2;
29 |
30 | public class Listener {
31 | }
32 |
--------------------------------------------------------------------------------
/feature/http/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.feature
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-feature-http
12 | jar
13 |
14 | Piranha - Feature - HTTP
15 |
16 |
17 |
18 | cloud.piranha.feature
19 | piranha-feature-impl
20 | ${project.version}
21 | compile
22 |
23 |
24 | cloud.piranha.http
25 | piranha-http-impl
26 | ${project.version}
27 | compile
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-api
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-params
37 | test
38 |
39 |
40 | org.junit.jupiter
41 | junit-jupiter-engine
42 | test
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/feature/https/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.feature
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-feature-https
12 | jar
13 |
14 | Piranha - Feature - HTTPS
15 |
16 |
17 |
18 | cloud.piranha.feature
19 | piranha-feature-impl
20 | ${project.version}
21 | compile
22 |
23 |
24 | cloud.piranha.http
25 | piranha-http-impl
26 | ${project.version}
27 | compile
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-api
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-params
37 | test
38 |
39 |
40 | org.junit.jupiter
41 | junit-jupiter-engine
42 | test
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/test/common/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | module cloud.piranha.test.common {
30 |
31 | exports cloud.piranha.test.common;
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/feature/webapp/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 |
5 |
6 | cloud.piranha.feature
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 |
11 | piranha-feature-webapp
12 | jar
13 |
14 | Piranha - Feature - WebApp
15 |
16 |
17 |
18 | cloud.piranha.feature
19 | piranha-feature-impl
20 | ${project.version}
21 | compile
22 |
23 |
24 | cloud.piranha.http
25 | piranha-http-webapp
26 | ${project.version}
27 | compile
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-api
32 | test
33 |
34 |
35 | org.junit.jupiter
36 | junit-jupiter-params
37 | test
38 |
39 |
40 | org.junit.jupiter
41 | junit-jupiter-engine
42 | test
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/test/coreprofile/arquillian/src/test/java/helloarquillian/HelloArquillianIT.java:
--------------------------------------------------------------------------------
1 | package helloarquillian;
2 |
3 | import arquillian.HelloArquillianApplication;
4 | import arquillian.HelloArquillianBean;
5 | import java.net.URI;
6 | import java.net.URL;
7 | import java.net.http.HttpClient;
8 | import java.net.http.HttpRequest;
9 | import java.net.http.HttpResponse;
10 | import java.net.http.HttpResponse.BodyHandlers;
11 | import org.jboss.arquillian.container.test.api.Deployment;
12 | import org.jboss.arquillian.container.test.api.RunAsClient;
13 | import org.jboss.arquillian.junit5.ArquillianExtension;
14 | import org.jboss.arquillian.test.api.ArquillianResource;
15 | import static org.jboss.shrinkwrap.api.ShrinkWrap.create;
16 | import org.jboss.shrinkwrap.api.spec.WebArchive;
17 | import static org.junit.jupiter.api.Assertions.assertTrue;
18 | import org.junit.jupiter.api.Test;
19 | import org.junit.jupiter.api.extension.ExtendWith;
20 |
21 | @ExtendWith(ArquillianExtension.class)
22 | public class HelloArquillianIT {
23 |
24 | @ArquillianResource
25 | private URL baseUrl;
26 |
27 | @Deployment(testable = false)
28 | public static WebArchive createDeployment() {
29 | return create(WebArchive.class)
30 | .addClass(HelloArquillianApplication.class)
31 | .addClass(HelloArquillianBean.class);
32 | }
33 |
34 | @Test
35 | @RunAsClient
36 | public void testHelloArquillian() throws Exception {
37 | HttpClient client = HttpClient.newHttpClient();
38 | HttpRequest request = HttpRequest
39 | .newBuilder(new URI(baseUrl + "helloarquillian"))
40 | .build();
41 | HttpResponse response = client.send(request, BodyHandlers.ofString());
42 | assertTrue(response.body().contains("Hello Arquillian!"));
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/test/jpms/src/test/java/package3/DefaultService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2002-2025 Manorrock.com. All Rights Reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * 1. Redistributions of source code must retain the above copyright notice,
8 | * this list of conditions and the following disclaimer.
9 | * 2. Redistributions in binary form must reproduce the above copyright
10 | * notice, this list of conditions and the following disclaimer in the
11 | * documentation and/or other materials provided with the distribution.
12 | * 3. Neither the name of the copyright holder nor the names of its
13 | * contributors may be used to endorse or promote products derived from
14 | * this software without specific prior written permission.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 | * POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package package3;
29 |
30 | import package1.Service;
31 |
32 | public class DefaultService implements Service {
33 | }
34 |
--------------------------------------------------------------------------------
/docker/coreprofile/src/test/java/cloud/piranha/docker/coreprofile/CoreProfileIT.java:
--------------------------------------------------------------------------------
1 | package cloud.piranha.docker.coreprofile;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.testcontainers.containers.GenericContainer;
5 | import org.testcontainers.utility.DockerImageName;
6 |
7 | import java.io.IOException;
8 | import java.net.URI;
9 | import java.net.http.HttpClient;
10 | import java.net.http.HttpRequest;
11 | import java.net.http.HttpResponse;
12 |
13 | import static org.junit.jupiter.api.Assertions.assertEquals;
14 | import static org.junit.jupiter.api.Assertions.assertTrue;
15 |
16 | public class CoreProfileIT {
17 |
18 | /**
19 | * Test to verify that the Docker container for Piranha Core Profile starts correctly,
20 | * maps port 8080, and responds with a status code 200 when accessed via HTTP.
21 | *
22 | * @throws Exception when a serious error occurs.
23 | */
24 | @Test
25 | public void testBasicFunctionality() throws Exception {
26 | try (GenericContainer> container = new GenericContainer<>(
27 | DockerImageName.parse("ghcr.io/piranhacloud/coreprofile:latest"))
28 | .withExposedPorts(8080)) {
29 |
30 | container.start();
31 |
32 | Integer mappedPort = container.getMappedPort(8080);
33 | assertTrue(mappedPort != null && mappedPort > 0, "Port 8080 should be mapped");
34 |
35 | HttpClient client = HttpClient.newHttpClient();
36 | HttpRequest request = HttpRequest.newBuilder()
37 | .uri(URI.create("http://localhost:" + mappedPort))
38 | .build();
39 | HttpResponse response = client.send(request, HttpResponse.BodyHandlers.discarding());
40 | assertEquals(200, response.statusCode(), "Response code should be 200");
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/extension/declared/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.extension
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-extension-declared
11 | jar
12 | Piranha - Extension - Declared
13 |
14 |
15 |
16 | cloud.piranha.core
17 | piranha-core-api
18 | ${project.version}
19 | provided
20 |
21 |
22 |
23 | cloud.piranha.core
24 | piranha-core-impl
25 | ${project.version}
26 | test
27 |
28 |
29 | org.junit.jupiter
30 | junit-jupiter-api
31 | test
32 |
33 |
34 | org.junit.jupiter
35 | junit-jupiter-params
36 | test
37 |
38 |
39 | org.junit.jupiter
40 | junit-jupiter-engine
41 | test
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/http/grizzly/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | cloud.piranha.http
7 | project
8 | 25.4.0-SNAPSHOT
9 |
10 | piranha-http-grizzly
11 | jar
12 | Piranha - HTTP - Grizzly Integration
13 |
14 |
15 |
16 | cloud.piranha.http
17 | piranha-http-api
18 | ${project.version}
19 | compile
20 |
21 |
22 | org.glassfish.grizzly
23 | grizzly-http-server
24 | compile
25 |
26 |
27 | org.glassfish.grizzly
28 | grizzly-http2
29 | compile
30 |
31 |
32 | org.glassfish.grizzly
33 | grizzly-npn-api
34 | compile
35 |
36 |
37 |
38 | cloud.piranha.http
39 | piranha-http-tests
40 | ${project.version}
41 | test
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/.github/workflows/pr.yml:
--------------------------------------------------------------------------------
1 | name: pr
2 | on:
3 | pull_request:
4 | branches:
5 | - '*'
6 | jobs:
7 | build:
8 | runs-on: ${{ matrix.os }}
9 | strategy:
10 | matrix:
11 | java: [ 21 ]
12 | os: [ubuntu-latest, macos-latest, windows-latest]
13 | steps:
14 | - name: Checkout Sources
15 | uses: actions/checkout@v5
16 | - name: Setup Java ${{ matrix.java }}
17 | uses: actions/setup-java@v4
18 | with:
19 | distribution: 'temurin'
20 | java-version: ${{ matrix.java }}
21 | - name: Build with Maven
22 | run: mvn -B -ntp -T 1 install
23 | - name: Build Docker images
24 | if: matrix.os == 'ubuntu-latest'
25 | run: |
26 | cd docker
27 | mvn -B -ntp install
28 | codeql:
29 | name: codeql
30 | runs-on: ubuntu-latest
31 | permissions:
32 | actions: read
33 | contents: read
34 | security-events: write
35 | steps:
36 | - name: Checkout sources
37 | uses: actions/checkout@v5
38 | - name: Initialize CodeQL
39 | uses: github/codeql-action/init@v3
40 | with:
41 | languages: 'java'
42 | - name: Setup Java
43 | uses: actions/setup-java@v4
44 | with:
45 | distribution: 'temurin'
46 | java-version: '21'
47 | - name: Build with Maven
48 | run: mvn -B -DskipTests=true -DskipITs=true -ntp install
49 | - name: Perform CodeQL Analysis
50 | uses: github/codeql-action/analyze@v3
51 | docs:
52 | runs-on: ubuntu-latest
53 | steps:
54 | - name: Checkout Piranha
55 | uses: actions/checkout@v5
56 | - name: Setup Java
57 | uses: actions/setup-java@v4
58 | with:
59 | distribution: 'temurin'
60 | java-version: 21
61 | - name: Build with Maven
62 | run: |
63 | mvn -B -DskipTests=true -DskipITs=true -ntp -T 1 install site
64 |
--------------------------------------------------------------------------------
/extension/fileupload/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 |
7 | cloud.piranha.extension
8 | project
9 | 25.4.0-SNAPSHOT
10 |
11 |
12 | piranha-extension-fileupload
13 | jar
14 |
15 | Piranha - Extension - File Upload
16 |
17 |
18 |
19 | cloud.piranha.core
20 | piranha-core-impl
21 | ${project.version}
22 | compile
23 |
24 |
25 | org.apache.commons
26 | commons-fileupload2-jakarta-servlet6
27 | compile
28 |
29 |
30 |
31 | org.junit.jupiter
32 | junit-jupiter-api
33 | test
34 |
35 |
36 | org.junit.platform
37 | junit-platform-launcher
38 | test
39 |
40 |
41 |
42 |
43 | default
44 | file:///tmp/piranha/extension/file-upload/
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------