This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push: new f589986 CXF-7996: Jakarta EE TCKs and compatibility. Adding the template and initial Jenkinsfile definition f589986 is described below commit f5899862b61bc39a7e2bb7945071ebfa3e6a8153 Author: reta <drr...@gmail.com> AuthorDate: Sun Jan 12 20:32:42 2020 -0500 CXF-7996: Jakarta EE TCKs and compatibility. Adding the template and initial Jenkinsfile definition --- tck/Jenkinsfile | 59 ++++++++ tck/ts.jte.template | 414 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 473 insertions(+) diff --git a/tck/Jenkinsfile b/tck/Jenkinsfile new file mode 100644 index 0000000..fa8184f --- /dev/null +++ b/tck/Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent { + label 'ubuntu' + } + + tools { + maven 'Maven 3.6.2' + jdk 'JDK 1.8.0_191' + } + + stages { + stage("Prepare") { + steps { + cleanWs() + } + } + + stage ('Check tooling') { + steps { + sh ''' + echo "PATH = ${PATH}" + echo "M2_HOME = ${M2_HOME}" + echo "JAVA_HOME = ${JAVA_HOME}" + ''' + } + } + + stage('Download JakartaEE TCK') { + steps { + git 'https://github.com/eclipse-ee4j/jakartaee-tck' + } + } + + stage('Download Glassfish 5.1.0') { // for display purposes + steps { + sh 'wget https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/5.1.0/glassfish-5.1.0.zip' + sh 'unzip glassfish-5.1.0.zip' + sh 'rm glassfish-5.1.0.zip' + } + } + + stage('Download Apache CXF bits') { + steps { + echo "Using Apache CXF version: " + params.Version + sh "mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -DremoteRepositories=https://repository.apache.org/snapshots,https://repository.apache.org -Dartifact=org.apache.cxf:cxf-core:${params.Version}:jar -Dtransitive=false -Ddest=glassfish5/glassfish/lib" + sh "mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -DremoteRepositories=https://repository.apache.org/snapshots,https://repository.apache.org -Dartifact=org.apache.cxf:cxf-rt-frontend-jaxrs:${params.Version}:jar -Dtransitive=false -Ddest=glassfish5/glassfish/lib" + sh "mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -DremoteRepositories=https://repository.apache.org/snapshots,https://repository.apache.org -Dartifact=org.apache.cxf:cxf-rt-rs-client:${params.Version}:jar -Dtransitive=false -Ddest=glassfish5/glassfish/lib" + sh "mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -DremoteRepositories=https://repository.apache.org/snapshots,https://repository.apache.org -Dartifact=org.apache.cxf:cxf-rt-rs-sse:${params.Version}:jar -Dtransitive=false -Ddest=glassfish5/glassfish/lib" + sh "mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -DremoteRepositories=https://repository.apache.org/snapshots,https://repository.apache.org -Dartifact=org.apache.cxf:cxf-rt-transports-http:${params.Version}:jar -Dtransitive=false -Ddest=glassfish5/glassfish/lib" + } + } + } + + post { + always { + cleanWs() + } + } +} \ No newline at end of file diff --git a/tck/ts.jte.template b/tck/ts.jte.template new file mode 100644 index 0000000..4c97424 --- /dev/null +++ b/tck/ts.jte.template @@ -0,0 +1,414 @@ +# +# Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License v. 2.0, which is available at +# http://www.eclipse.org/legal/epl-2.0. +# +# This Source Code may also be made available under the following Secondary +# Licenses when the conditions for such availability set forth in the +# Eclipse Public License v. 2.0 are satisfied: GNU General Public License, +# version 2 with the GNU Classpath Exception, which is available at +# https://www.gnu.org/software/classpath/license.html. +# +# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 +# + +######################################################################### +# # +# JavaTest Environment file for JAX-RS Compatibility Test Suite # +# # +# Environment specific properties in this file will likely # +# have to be modified prior to running the JAX-RS TCK. Instructions # +# for modifying these properties are contained in this file. # +# # +######################################################################### + +######################################################################## +## Javatest batch mode work directory and report directory, and policy for +## handling existing work and report directories. These properties affects +## runclient and report targets, but not gui target. +## To disable generating test report, unset report.dir, or set it to "none" +## either here or from command line, as in the following command: +## ant runclient -Dreport.dir="none" +## +# @work.dir The directory used to store Javatest test results and test +# information. +# @report.dir The directory used to store Javatest summary reports of +# test results. +# @if.existing.work.report.dirs specifies how existing work.dir and +# report.dir will be handled, and it must be one of the following values: +# overwrite overwrites all content in work.dir and report.dir +# backup moves all content in work.dir and report.dir to +# work.dir_time_day_bak and report.dir_time_day_bak, +# respectively +# append reuses and preserves the existing work.dir and report.dir +# auto lets the build files decide which mode to use +# (overwrite, backup or append). the value is determined +# like this: +# if.existing.work.report.dirs == auto +# if in CTS workspace +# if.existing.work.report.dirs = overwrite +# else we are in a distribution bundle +# if.existing.work.report.dirs = append +# end if +# else +# if.existing.work.report.dirs = value in this file +# end if +######################################################################## +work.dir=/tmp/JTwork +report.dir=/tmp/JTreport +if.existing.work.report.dirs=auto + +######################################################################## +# @javatest.timeout.factor This property specifies the scale factor used by +# Javatest to adjust the time JavaTest will wait for a given test to +# complete before returning failure. For instance if the default test timeout +# is 5 minutes, this value will be multiplied by 5 minutes to determine +# the total timeout delay. Note: this value only works with Javatest's +# batch mode (runclient). When using the Javatest GUI users must change +# this timeout factor in the GUI. Configure -> Edit Configuration -> View +# -> choose Standard Values -> select tab Execution -> set Time Factor. +######################################################################## +javatest.timeout.factor=1 + +################################################################### +################################################################### +################################################################### +## RI SPECIFIC PROPERTIES LIVE BELOW +################################################################### +################################################################### +################################################################### + +################################################################### +## When installing JAX-RS TCK/RI on Windows, users must install JAXRS-TCK and +## the RI on the same drive. Also note that you should never +## specify drive letters in any path defined in this properties +## file. +## +# @ts.display -- location to display JAX-RS TCK output on Unix +############################################################### +ts.display=:0.0 + + +############################################################### +# @tz - your local timezone. For valid values, consult your +# Operating System documentation. +############################################################### +tz=US/Eastern + + +########################################################################## +# @alt.dtd.dir +# @alt.schema.dir specify the location of the Schemas used to package +# the TCK tests (web, j2ee, etc). These properties +# need not be set if only running the tests. +# DO NOT EDIT +########################################################################## +alt.dtd.dir=${ts.home}/lib/dtds +alt.schema.dir=${ts.home}/lib/schemas + +############################################################### +## Classpath properties required by JAX-RS TCK: +# @ts.run.classpath -- Classpath required by JAX-RS impl +# @ts.harness.classpath -- Classes required by javatest +# @ts.classpath -- Classes used to build the JAX-RS tests +############################################################### +ts.run.classpath=${jaxrs_impl.classes}${pathsep}${jaxrs.classes}${pathsep}${servlet.classes} + +ts.harness.classpath=${ts.home}/lib/tsharness.jar${pathsep}${ts.home}/lib/javatest.jar${pathsep}${ant.home}/lib/ant.jar${pathsep}${ts.home}/lib/jaxrstck.jar${pathsep}${ts.home}/lib/jaxb-xjc.jar + +apache.commons.classes=${pathsep}${ts.home}/lib/commons-httpclient-3.1.jar${pathsep}${ts.home}/lib/commons-logging-1.1.3.jar${pathsep}${ts.home}/lib/commons-codec-1.9.jar +local.classes=${ts.harness.classpath}${pathsep}${ts.home}/lib/jaxrstck.jar${pathsep}${ts.home}/classes${pathsep}${ts.home}/lib/sigtest.jar${pathsep}${apache.commons.classes} + +ts.classpath=${local.classes}${pathsep}${ts.run.classpath} + +######################################################################## +## Common environment for both ts_unix and ts_win32 +# +# @command.testExecute - This command is used to execute any test +# clients which are not run inside an +# application client container. For example, +# any URL clients or standalone java clients +# would be executed with this command. Some +# test directories which make use of this command +# are servlet and jsp. +######################################################################## +command.testExecute=com.sun.ts.lib.harness.ExecTSTestCmd \ + CLASSPATH=${ts.harness.classpath}:${ts.home}/classes:\ + ${JAVA_HOME}/../lib/tools.jar:\ + ${ts.home}/lib/commons-httpclient-3.1.jar:\ + ${ts.home}/lib/commons-logging-1.1.3.jar:\ + ${ts.home}/lib/commons-codec-1.9.jar:\ + ${ts.home}/lib/sigtest.jar:\ + ${jaxrs.classes}:\ + ${jaxrs_impl.classes} \ + DISPLAY=${ts.display} \ + HOME="${user.home}" \ + windir=${windir} \ + SYSTEMROOT=${SYSTEMROOT} \ + PATH="${javaee.home}/nativelib" \ + ${JAVA_HOME}/bin/java \ + -Dcts.tmp=$harness.temp.directory \ + -Djava.endorsed.dirs=${s1as.java.endorsed.dirs} \ + -Ddeliverable.class=${deliverable.class} $testExecuteClass $testExecuteArgs + + +######################################################################### +## Environment for ts_unix +## 3 test execution commands inherit from common environment +## defined above: testExecuteAppClient2, testExecuteAppClient, and +## testExecute. If you need to override them, uncomment them in the +## following section. +######################################################################### +env.ts_unix.menu=true +##env.ts_unix.command.testExecute= +##env.ts_unix.command.testExecuteAppClient= +##env.ts_unix.command.testExecuteAppClient2= + + +######################################################################## +## Environment for ts_win32 +## 3 test execution commands inherit from common environment +## defined above: testExecuteAppClient2, testExecuteAppClient, and +## testExecute. If you need to override them, uncomment them in the +## following section. +######################################################################## +env.ts_win32.menu=true +##env.ts_win32.command.testExecute= +##env.ts_win32.command.testExecuteAppClient= +##env.ts_win32.command.testExecuteAppClient2= + +########################################################################## +# @sigTestClasspath: This property must be set when running signature tests. +# +# The sigTestClasspath specifies a list of classes/jar files +# which contains jaxrs implementation and Java SE classes. +########################################################################## +sigTestClasspath=${java.home}/lib/rt.jar${pathsep}${jaxrs.classes} + + +######################################################################## +## These properties are used by the Javatest harness. +# +# @harness.log.port specifies the port that server components use +# to send logging output back to JavaTest. +# If the default port # is not available on the machine +# running JavaTest, then you can set it here. +# +# @harness.temp.directory directory location used by the +# harness to store temporary files +# +# @harness.log.port the port the harness listens on for log mesages +# from remote clients +# +# @harness.log.traceflag used to turn on/off verbose debugging output +# for the tests. +# +# @harness.executeMode used to run the harness in the following modes +# of execution: +# 0 - default (deploy, run, undeploy) +# 1 - deploy only +# 2 - run only +# 3 - undeploy only +# 4 - deploy and run only +# +# @harness.socket.retry.count - denotes the number of time we should +# attempt to create a server socket when intilizing a test +# client. The socket is used for logging purposes. +# +# @harness.log.delayseconds Number of seconds to delay to allow +# reporting from remote clients to finish. +######################################################################## +harness.temp.directory=${ts.home}/tmp +harness.log.port=2000 +harness.log.traceflag=false +harness.executeMode=0 +harness.socket.retry.count=10 +harness.log.delayseconds=1 + +ts_home=${TS_HOME} + +######################################################################## +# @deploy.delay.in.minutes This property can be used to specify the +# amount of time in minutes that the test harness will wait for the JSR-88 +# ProgressObject to return either failed or completed from a DeploymentManager +# API call. After the time has elapsed, the harness will report failure for +# the given action. +######################################################################## +deploy.delay.in.minutes=5 + + +############################################################### +## These properties must be set to tell the Test harness the +## class names of your porting class implementations. By default +## both property sets below point to Sun RI specific classes. +# +# @porting.ts.url.class.1 VI of +# com.sun.ts.lib.porting.TSURLInterface +# @porting.ts.HttpsURLConnection.class.1 VI of +# com.sun.ts.lib.porting.TSHttpsURLConnectionInterface +############################################################### +porting.ts.url.class.1=com.sun.ts.lib.implementation.sun.common.SunRIURL +porting.ts.HttpsURLConnection.class.1=com.sun.ts.lib.implementation.sun.javaee.SunRIHttpsURLConnection + + +##################################################################### +## The following properties must be set prior to running the JAX-RS +## tests. +## +## These properties must specify the host and port of the web server, +## in which the JAX-RS application deployed on. +# +# @webServerHost hostname for the Vendor's Java EE Web Server +# @webServerPort port number of the Vendor's Java EE Web Server +# +##################################################################### +webServerHost=localhost +webServerPort=8080 + +################################################################### +################################################################### +################################################################### +## PROPERTIES USERS WILL NOT HAVE TO SET LIVE BELOW +################################################################### +################################################################### +################################################################### + +## +## The directory seperator for the platform. User should not change +## this property. +## +dirsep=/ + +########################################################################## +# build level +# 1: compile only +# 2: compile and build component archives (e.g., jar's, war's) +# 3: compile and build component and application archives +# default is set to 2 +########################################################################## +build.level=2 + + +########################################################################## +# Needed for building/packaging +########################################################################## +deliverable.class=com.sun.ts.lib.deliverable.tck.TCKDeliverable + +########################################################################### +# tools.jar should be set to the location of the tools.jar from the installed +# jdk +########################################################################### +tools.jar=${jdk.home}/lib/tools.jar + + +########################################################################## +# Default client used for tests +########################################################################## +test.client=JAXRSClient.java + +#################################################################### +# For the webcontainer home properties defined above, if glassfish +# is selected these are the various additional properties that should +# be set for use with configuration setup. +#################################################################### +glassfish.instance.home=${web.home}/domains/domain1 +glassfish.admin.host=localhost +glassfish.admin.port=4848 +glassfish.admin.user=admin +glassfish.admin.pass= +glassfish.master.pass=changeit +glassfish.server.instance=server +glassfish.domain.name=domain1 + +################################################################# +#The following properties must be set prior to running the JAXRS +#TCK tests. These properties are used for the JAXRS security tests +#which test HTTP Authentication. +# +# @user User defined to exercise rolemapping feature +# @password Associated password for the user +# @authuser User defined to exercise rolemapping feature +# @authpassword Associated password for the authuser +################################################################# +user=j2ee +password=j2ee +authuser=javajoe +authpassword=javajoe + +################################################################# +# To Configure config.vi with security manager +################################################################# +javaee.home=${web.home} +############################################################### +## Config params needed for Sun Java System Application Server +## (SJSAS) asadmin. You must change these values as needed +## only if you are testing against SJSAS app server +## (javaee.home is pointing to SJSAS). +# +# @s1as.admin.host -- The SJSAS host +# @s1as.admin.port -- The SJSAS port +# @s1as.admin -- The SJSAS admin command +# @s1as.domain.dir -- Points to where your domains are installed. +# @s1as.domain.name -- The SJSAS domain being used +# @s1as.domain -- The SJSAS domain path being used +############################################################### +s1as.admin=${javaee.home}/bin/asadmin +s1as.domain.dir=${javaee.home}/domains +s1as.domain.name=${glassfish.domain.name} +s1as.domain=${s1as.domain.dir}/${s1as.domain.name} +s1as.admin.host=${glassfish.admin.host} +s1as.admin.port=${glassfish.admin.port} + +########################################################################## +# +# @web.home -- JavaEE 7 implementation installation home +# +# @jaxrs_impl.classes -- Used for running tests. +# @jaxrs_impl_lib -- Used for repackaging test application +# JAX-RS implementation classes by vendor +# Default to ${web.home}/modules/jersey-container-servlet-core.jar +# +# @jaxrs.classes -- The classes for the JAX-RS api's +# Default to ${web.home}/modules/javax.ws.rs-api.jar +# +# @servlet.classes -- The classes for the Servlet api's +# Default to ${web.home}/modules/javax.servlet.jar +# +# @servlet_adaptor -- servlet adaptor class provided by vendor, +# used to package resource in .war file and +# deploy resource classes in servlet container +# Default to org/glassfish/jersey/servlet/ServletContainer.class +# +# @impl.vi -- Name of JavaEE 7 implementation. +# All relevant porting files are located under +# $TS_HOME/bin/xml/impl/${impl.vi}/ +# Default to glassfish +# +# @impl.vi.deploy.dir -- For deployment. When web server supports autodeployment, +# this points to the autodeployment directory +# Default to ${web.home}/domains/domain1/autodeploy +# +# @jaxrs_impl_name -- Name of the JAX-RS implementation to be tested. +# A file bearing the name will be created under +# $TS_HOME/bin/xml/impl/${impl.vi}/${jaxrs_impl_name}.xml +# with instructions on how to package and deploy +# Default to jersey +########################################################################## +web.home=/home/reta/Workspaces/glassfish5/glassfish +jaxrs_impl.classes=${web.home}/lib/cxf-rt-rs-client-${version}.jar:${web.home}/lib/cxf-core-${version}.jar:${web.home}/lib/cxf-rt-transports-http-${version}.jar:${web.home}/lib/cxf-rt-frontend-jaxrs-${version}.jar:${web.home}/lib/cxf-rt-rs-sse-${version}.jar +jaxrs.classes=${web.home}/modules/jakarta.ws.rs-api.jar:${web.home}/modules/endorsed/jakarta.annotation-api.jar:${web.home}/modules/bean-validator.jar:${web.home}/modules/jakarta.json.jar:${web.home}/modules/jakarta.interceptor-api.jar:${web.home}/modules/jakarta.ejb-api.jar:${web.home}/modules/jakarta.inject.jar:${web.home}/modules/cdi-api.jar:${web.home}/modules/jakarta.json.bind-api.jar + +jaxrs_impl_lib=${web.home}/lib/cxf-rt-frontend-jaxrs-${version}.jar:${web.home}/lib/cxf-rt-rs-sse-${version}.jar +servlet_adaptor=org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.class + +jaxrs_impl_name=cxf + +servlet.classes=${web.home}/modules/jakarta.servlet-api.jar + +impl.vi=glassfish +impl.vi.deploy.dir=${web.home}/domains/domain1/autodeploy + + +tslib.name=jaxrstck