Skip to content

Commit 8d87e56

Browse files
committed
[RELEASE] iText 7 Core - 7.1.8
https://github.com/itext/itext7-dotnet/releases/tag/7.1.8 * release/7.1.8: [RELEASE] 7.1.8-SNAPSHOT -> 7.1.8 Add missing copyright headers Allow font cache to be cleared Implement new pattern color tests Extract PdfCanvasColorTest from PdfCanvasTest Refactor according to findbugs Update port-hash Update port-hash Update port-hash Update autoported files Add configuration file for doxygen tool Add autogenerated configuration file for doxygen tool Update autoported files Improve some links in javadocs. Update port-hash Remove commented-out lines making the Quality Gate fail Implement xfdf support Make PdfPolyGeomAnnotation abstract Mark redundant LayoutRect and X509ExtensionBase classes as deprecated Improve itextcore's javadocs. Update page boundary keys that are used for VIEW_CLIP, PRINT_AREA, PRINT_CLIP constants. Add some PdfViewerPreferences tests. Refactor implementation of building hyphenation trees to avoid StackOverflowErrors Replace Throwable with SecurityException in ResourceUtil Remove leftover test Fix javadocs in order in order to make them portable to C# code documentation Fix C# code documentation in manual files Replace http links in Nuspec file with https ones Update port-hash Rework isIgnoredClassOrPackage method Increase waiting in DataHandlerTest Add hyphenation result test, add todo remark Expose TypographyUtils#isPdfCalligraphAvailable() Do not recalculate table's minmax width once the table has been split. Change structural comparison instead of visual. Add some link tests. Update port-hash Review checked exceptions softening in layout module Fix PdfLayer#getIntents in case of multiple intents; add new PdfLayer tests Add missing copyright headers Cover layer related logic with tests. Remove p tags from tables Remove empty tag Fix Barcodes java docs Separate tiff images testing Improve Javadocs of io Add missing copyright headers Add unit tests for font characteristics classes Improve Javadocs of io and styled-xml-parser Move svg path converting tests Update javadoc in FontProgramFactory and PdfFontFactory Add integration tests for BackgroundImage Improve porting of a piece of documentation Cover solid, dashed and dotted lines with tests. Add logmessages into unit tests Add missing copyright headers Move JFreeSvg tests from FT repository Remove StringTokenizer#HasMoreElements() to avoid collision Remove unnecessary log message throw. Add new LogMessageConstant. Prevent TableRenderer's applyVerticalAlignment from throwing NPE. Improve Javadocs for some of the members of PdfFormField class Move pie chart test from FT repository Update port-hash Update port-hash Add missing copyright headers Add test that produces non-conforming PDF/A Add test that produces non-conforming PDF/A Update port-hash Fix javadoc warnings in kernel Use initial bytes to check if byte[] is WmfImage Move svg clipPath Improve detection of a character's location. Update port-hash Remove WrapToTest annotation check. Remove unused IsLookLikeTest method Update port-hash Move svg simple samples Improve documentation and fix a few Javadoc warnings Add slack notifications to #ci channel Move svg ignored tags tests Add Jenkinsfile Update port-hash Update svg and cmp files Move svg css style tests [RELEASE] 7.1.7-SNAPSHOT -> 7.1.8-SNAPSHOT Move svg elliptical arc Add missing copyright headers Move svg mask tests Update autoported files Move svg path converting tests Remove redundant TODO in PdfImageXObject#flush() Add missing copyright headers Move svg opacity tests Move svg text converting tests Add missing copyright headers Move svg basic elements tests Add missing copyright headers Move google chart tests Update autoporting utils: FormsExtensions and StringTokenizer
2 parents 683cc4d + 4322bc8 commit 8d87e56

File tree

1,276 files changed

+117425
-2520
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,276 files changed

+117425
-2520
lines changed

Jenkinsfile

+182
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
#!/usr/bin/env groovy
2+
@Library('pipeline-library')_
3+
4+
def schedule = env.BRANCH_NAME.contains('master') ? '@monthly' : env.BRANCH_NAME == 'develop' ? '@midnight' : ''
5+
6+
pipeline {
7+
8+
agent { label 'windows' }
9+
10+
options {
11+
ansiColor('xterm')
12+
buildDiscarder(logRotator(artifactNumToKeepStr: '1'))
13+
parallelsAlwaysFailFast()
14+
retry(1)
15+
skipStagesAfterUnstable()
16+
timeout(time: 60, unit: 'MINUTES')
17+
timestamps()
18+
}
19+
20+
triggers {
21+
cron(schedule)
22+
}
23+
24+
stages {
25+
stage('Clean workspace') {
26+
options {
27+
timeout(time: 5, unit: 'MINUTES')
28+
}
29+
steps {
30+
cleanWs deleteDirs: true, patterns: [
31+
[pattern: 'packages', type: 'INCLUDE'],
32+
[pattern: 'global-packages', type: 'INCLUDE'],
33+
[pattern: 'tmp/NuGetScratch', type: 'INCLUDE'],
34+
[pattern: 'http-cache', type: 'INCLUDE'],
35+
[pattern: 'plugins-cache', type: 'INCLUDE'],
36+
[pattern: '**/obj', type: 'INCLUDE'],
37+
[pattern: '**/bin', type: 'INCLUDE']
38+
]
39+
}
40+
}
41+
stage('Compile') {
42+
options {
43+
timeout(time: 20, unit: 'MINUTES')
44+
}
45+
steps {
46+
withEnv(["NUGET_PACKAGES=${env.WORKSPACE}/global-packages", "temp=${env.WORKSPACE}/tmp/NuGetScratch", "NUGET_HTTP_CACHE_PATH=${env.WORKSPACE}/http-cache", "NUGET_PLUGINS_CACHE_PATH=${env.WORKSPACE}/plugins-cache", "gsExec=${gsExec}", "compareExec=${compareExec}"]) {
47+
bat "\"${env.NuGet}\" restore iTextCore.netstandard.sln"
48+
bat "dotnet restore iTextCore.netstandard.sln"
49+
bat "dotnet build iTextCore.netstandard.sln --configuration Release --source ${env.WORKSPACE}/packages"
50+
script {
51+
createPackAllFile(findFiles(glob: '**/*.nuspec'))
52+
load 'packAll.groovy'
53+
}
54+
}
55+
}
56+
}
57+
stage('Run Tests') {
58+
options {
59+
timeout(time: 60, unit: 'MINUTES')
60+
}
61+
steps {
62+
withEnv(["NUGET_PACKAGES=${env.WORKSPACE}/global-packages", "temp=${env.WORKSPACE}/tmp/NuGetScratch", "NUGET_HTTP_CACHE_PATH=${env.WORKSPACE}/http-cache", "NUGET_PLUGINS_CACHE_PATH=${env.WORKSPACE}/plugins-cache", "gsExec=${gsExec}", "compareExec=${compareExec}"]) {
63+
script {
64+
createRunTestDllsFile(findFiles(glob: '**/itext.*.tests.dll'))
65+
load 'runTestDlls.groovy'
66+
createRunTestCsProjsFile(findFiles(glob: '**/itext.*.tests.netstandard.csproj'))
67+
load 'runTestCsProjs.groovy'
68+
}
69+
}
70+
}
71+
}
72+
stage('Artifactory Deploy') {
73+
options {
74+
timeout(time: 5, unit: 'MINUTES')
75+
}
76+
when {
77+
anyOf {
78+
branch "master"
79+
branch "develop"
80+
branch "7.0"
81+
branch "7.0-master"
82+
}
83+
}
84+
steps {
85+
script {
86+
getAndConfigureJFrogCLI()
87+
findFiles(glob: '*.nupkg').each { item ->
88+
upload(item)
89+
}
90+
}
91+
}
92+
}
93+
stage('Archive Artifacts') {
94+
options {
95+
timeout(time: 5, unit: 'MINUTES')
96+
}
97+
steps {
98+
archiveArtifacts allowEmptyArchive: true, artifacts: '*.nupkg'
99+
}
100+
}
101+
}
102+
103+
post {
104+
always {
105+
echo 'One way or another, I have finished \uD83E\uDD16'
106+
}
107+
success {
108+
echo 'I succeeeded! \u263A'
109+
cleanWs deleteDirs: true
110+
}
111+
unstable {
112+
echo 'I am unstable \uD83D\uDE2E'
113+
}
114+
failure {
115+
echo 'I failed \uD83D\uDCA9'
116+
}
117+
changed {
118+
echo 'Things were different before... \uD83E\uDD14'
119+
}
120+
fixed {
121+
script {
122+
if ((env.BRANCH_NAME == 'master') || (env.BRANCH_NAME == 'develop')) {
123+
slackNotifier("#ci", currentBuild.currentResult, "${env.BRANCH_NAME} - Back to normal")
124+
}
125+
}
126+
}
127+
regression {
128+
script {
129+
if ((env.BRANCH_NAME == 'master') || (env.BRANCH_NAME == 'develop')) {
130+
slackNotifier("#ci", currentBuild.currentResult, "${env.BRANCH_NAME} - First failure")
131+
}
132+
}
133+
}
134+
}
135+
136+
}
137+
138+
@NonCPS // has to be NonCPS or the build breaks on the call to .each
139+
def createPackAllFile(list) {
140+
// creates file because the bat command brakes the loop
141+
def cmd = ''
142+
list.each { item ->
143+
if (!item.path.contains("packages")) {
144+
cmd = cmd + "bat '\"${env.NuGet.replace('\\','\\\\')}\" pack \"${item.path.replace('\\','\\\\')}\"'\n"
145+
}
146+
}
147+
writeFile file: 'packAll.groovy', text: cmd
148+
}
149+
150+
@NonCPS // has to be NonCPS or the build breaks on the call to .each
151+
def createRunTestDllsFile(list) {
152+
// creates file because the bat command brakes the loop
153+
def ws = "${env.WORKSPACE.replace('\\','\\\\')}"
154+
def nunit = "${env.'Nunit3-console'.replace('\\','\\\\')}"
155+
def cmd = ''
156+
list.each { item ->
157+
if (!item.path.contains("netcoreapp1.0") && !item.path.contains("obj")) {
158+
cmd = cmd + "bat '\"${nunit}\" \"${ws}\\\\${item.path.replace('\\','\\\\')}\" --result=${item.name}-TestResult.xml'\n"
159+
}
160+
}
161+
writeFile file: 'runTestDlls.groovy', text: cmd
162+
}
163+
164+
@NonCPS // has to be NonCPS or the build breaks on the call to .each
165+
def createRunTestCsProjsFile(list) {
166+
// creates file because the bat command brakes the loop
167+
def ws = "${env.WORKSPACE.replace('\\','\\\\')}"
168+
def cmd = ''
169+
list.each { item ->
170+
cmd = cmd + "bat 'dotnet test ${ws}\\\\${item.path.replace('\\','\\\\')} --framework netcoreapp1.0 --configuration Release --no-build --logger \"trx;LogFileName=results.trx\"'\n"
171+
}
172+
writeFile file: 'runTestCsProjs.groovy', text: cmd
173+
}
174+
175+
@NonCPS
176+
def upload(item) {
177+
def itemArray = (item =~ /(.*?)(\.[0-9]*\.[0-9]*\.[0-9]*(-SNAPSHOT)?\.nupkg)/)
178+
def dir = itemArray[ 0 ][ 1 ]
179+
sh "./jfrog rt u \"${item.path}\" nuget/${dir}/ --flat=false --build-name="${env.BRANCH_NAME}" --build-number=${env.BUILD_NUMBER}"
180+
}
181+
182+

0 commit comments

Comments
 (0)