Skip to content

Commit 7c5924c

Browse files
committed
[RELEASE] iText 7 pdfHTML - 2.1.5
https://github.com/itext/i7n-pdfhtml/releases/tag/2.1.5 * release/2.1.5: [RELEASE] 2.1.5-SNAPSHOT -> 2.1.5 Make first letter of resource file small Update port-hash Update autoported files Add configuration file for doxygen tool Add autogenerated configuration file for doxygen tool Update autoported files Do not use paragraph's end tags for separation reasons in Javadoc. Improve flushing of HtmlDocumentRenderer Call equals() for string literal, passing the variable as an argument, to avoid NPE Replace http links in Nuspec file with https ones Add functional ranges tests from html2pdf private Update port-hash Update README.md DEVSIX-3176 Fix a few SpotBugs warnings Add tests for generic font families Fix some typos in javadocs of CssConstants Add missing copyright headers Fix parsing named page size declarations with orientation in @page media Add new unit test for PageSizeParser Add test illustrating the issue Move html tests from FT repository Move test HTML_BlockElements from FT repository Add a test which demonstrates the issue with invalid font size processing. Move tests from FT repository Add .mailmap file Refactor Jenkinsfile Add missing copyright headers Fix counter(pages) calculation in case page is trimmed at the end Move tests from FT repository Add slack notifications to #ci channel Add a Jenkinsfile Update port-hash Move html with svg tests Move HTML_Tables tests Move HTML_Lists tests Move tests from FT repository Update port-hash after release [RELEASE] 2.1.4-SNAPSHOT -> 2.1.5-SNAPSHOT Update port-hash Update port-hash
2 parents 44650df + cb7f408 commit 7c5924c

File tree

274 files changed

+25535
-133
lines changed

Some content is hidden

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

274 files changed

+25535
-133
lines changed

.mailmap

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
2+
Alexander Chingarev <[email protected]> <[email protected]>
3+
Alexander Chingarev <[email protected]> <[email protected]>
4+
Alexander Chingarev <[email protected]> <[email protected]>
5+
6+
7+
8+
9+
10+
11+
Benoît Lagae <[email protected]> <benoit@iText-blagae>
12+
13+
14+
15+
16+
Bruno Lowagie <[email protected]> <iText@Catullus>
17+
18+
Dimitry Alexandrov <[email protected]> <[email protected]>
19+
20+
Dmitry Trusevich <dmitry.trusevich@duallab> <dmitry.trusevich@duallab>
21+
22+
23+
Ilya Idamkin <[email protected]> <ilya.idamkin@TeamCity>
24+
25+
26+
27+
28+
29+
iText Software <[email protected]> <teamcity.bot@TeamCity>
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+
43+
Michaël Demey <[email protected]> michael.demey <>
44+
45+
Michaël Demey <[email protected]> <michael.demey@TeamCity>
46+
47+
48+
49+
50+
Nadia Ivaniukovich <[email protected]> <[email protected]>
51+
Nadia Ivaniukovich <[email protected]> <[email protected]>
52+
53+
54+
55+
56+
57+
58+
Pavel Alay <[email protected]> pavel.alay <>
59+
60+
Pavel Alay <[email protected]> <pavel.alay@TeamCity>
61+
62+
63+
64+
65+
66+
67+
68+
69+
70+
71+
72+
73+
74+
75+
Veronika Lisovskaya <[email protected]> <veronika.lisovskaya@TeamCity>
76+
77+
Yanina Cheremisina <[email protected]> <[email protected]>
78+
Yulian Gaponenko <[email protected]> <duallab@DESKTOP-PG4L5J1>
79+
Yulian Gaponenko <[email protected]> <yulian.gaponenko@TeamCity>

Jenkinsfile

Lines changed: 182 additions & 0 deletions
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 itext.html2pdf.sln"
48+
bat "dotnet restore itext.html2pdf.sln"
49+
bat "dotnet build itext.html2pdf.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)