This is an automated email from the ASF dual-hosted git repository. nihaljain pushed a commit to branch jetty12 in repository https://gitbox.apache.org/repos/asf/hbase-thirdparty.git
commit 537b6c829fbf26a14e76ab5be1ae2df8b21cef2d Author: Nihal Jain <[email protected]> AuthorDate: Wed Mar 12 01:33:43 2025 +0530 HBASE-XXXX Add a jetty 12 module with EE8 --- hbase-shaded-jetty-ee8/pom.xml | 262 +++++++++++++++++++++++++++++++++++++++++ pom.xml | 3 + 2 files changed, 265 insertions(+) diff --git a/hbase-shaded-jetty-ee8/pom.xml b/hbase-shaded-jetty-ee8/pom.xml new file mode 100644 index 0000000..6d706a5 --- /dev/null +++ b/hbase-shaded-jetty-ee8/pom.xml @@ -0,0 +1,262 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <!-- +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + ON MVN COMPILE NOT WORKING + + If you wondering why 'mvn compile' does not work building HBase + (in particular, if you are doing it for the first time), instead do + 'mvn package'. If you are interested in the full story, see + https://issues.apache.org/jira/browse/HBASE-6795. + +--> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.hbase.thirdparty</groupId> + <artifactId>hbase-thirdparty</artifactId> + <version>${revision}</version> + <relativePath>..</relativePath> + </parent> + <artifactId>hbase-shaded-jetty-ee8</artifactId> + <name>Apache HBase Relocated (Shaded) Jetty Libs: EE8</name> + <description>Pulls down Jetty, relocates it and makes a far jar.</description> + <dependencies> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty.ee8</groupId> + <artifactId>jetty-ee8-servlet</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.eclipse.jetty</groupId> + <artifactId>servlet-api</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty.ee8</groupId> + <artifactId>jetty-ee8-security</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty.ee8</groupId> + <artifactId>jetty-ee8-nested</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-http</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-io</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-jmx</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty.ee8</groupId> + <artifactId>jetty-ee8-webapp</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util-ajax</artifactId> + <version>${jetty12.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + <version>${servlet4-api.version}</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>${basedir}</directory> + <includes> + <include>dependency-reduced-pom.xml</include> + </includes> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>shade</goal> + </goals> + <phase>package</phase> + <configuration> + <shadeSourcesContent>true</shadeSourcesContent> + <createSourcesJar>true</createSourcesJar> + <relocations> + <relocation> + <pattern>org.eclipse.jetty</pattern> + <shadedPattern>${rename.offset}.org.eclipse.jetty</shadedPattern> + </relocation> + <!-- + This is for relocating the blacklist in + org.eclipse.jetty.webapp.WebAppContext.__dftServerClasses, + where we have a '-' in front of the class name + --> + <relocation> + <pattern>-org.eclipse.jetty</pattern> + <shadedPattern>-${rename.offset}.org.eclipse.jetty</shadedPattern> + </relocation> + </relocations> + <artifactSet> + <excludes> + <!-- + Anything added here needs to be excluded from the jar that pulls it in + also else we give an odd signal in the META-INF/DEPENDENCIES that we + produce. See below for how to exclusion of transitive dependencies. + --> + <exclude>javax.servlet:javax.servlet-api</exclude> + <exclude>org.slf4j:slf4j-api</exclude> + <!-- On the "next" build, exclude a lingering shaded jar if it exists (user did not `clean`). + Maven will happily pick up the previous shaded jar and try to include that in the N+1th build + if we don't exclude it. This will result in a failure in the ServicesResourceTransformer claiming + that we've already packaged a services file once. --> + <exclude>org.apache.hbase.thirdparty:hbase-shaded-jetty</exclude> + </excludes> + </artifactSet> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/> + <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"> + <addHeader>false</addHeader> + </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> + </transformers> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <!-- + The webdefault.xml contains some jetty servlet classes which should also be relocated + --> + <execution> + <id>relocate-web-xml</id> + <goals> + <goal>run</goal> + </goals> + <phase>package</phase> + <configuration> + <target> + <echo message="unjar"/> + <unzip dest="${project.build.directory}/unpacked/" src="${project.build.directory}/${project.artifactId}-${project.version}.jar"/> + <echo message="Replace content in webdefault-ee8.xml"/> + <replace file="${project.build.directory}/unpacked/${rename.offset.dir}/org/eclipse/jetty/ee8/webapp/webdefault-ee8.xml"> + <replacetoken>org.eclipse.jetty</replacetoken> + <replacevalue>${rename.offset}.org.eclipse.jetty</replacevalue> + </replace> + <echo message="Redo jar"/> + <jar basedir="${project.build.directory}/unpacked" destfile="${project.build.directory}/${project.artifactId}-${project.version}.jar"/> + </target> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/pom.xml b/pom.xml index 89fe06d..ce96a35 100644 --- a/pom.xml +++ b/pom.xml @@ -100,6 +100,7 @@ <module>hbase-shaded-gson</module> <module>hbase-shaded-miscellaneous</module> <module>hbase-shaded-jetty</module> + <module>hbase-shaded-jetty-ee8</module> <module>hbase-shaded-jersey</module> <module>hbase-shaded-jackson-jaxrs-json-provider</module> <module>hbase-noop-htrace</module> @@ -139,7 +140,9 @@ <error_prone_annotations.version>2.36.0</error_prone_annotations.version> <gson.version>2.11.0</gson.version> <jetty.version>9.4.56.v20240826</jetty.version> + <jetty12.version>12.0.16</jetty12.version> <servlet-api.version>3.1.0</servlet-api.version> + <servlet4-api.version>4.0.1</servlet4-api.version> <jersey.version>2.46</jersey.version> <jakarta.inject.version>2.6.1</jakarta.inject.version> <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version>
