Skip to content

Commit

Permalink
[RELEASE] iText 7 pdfSweep - 2.0.6
Browse files Browse the repository at this point in the history
https://github.com/itext/i7j-pdfsweep/releases/tag/2.0.6

* release_branch:
  [RELEASE] pdfSweep 2.0.6
  Add tests for cleanup of skewed images
  Add test for indexed colorspace without white color
  Update copyright year to 2021
  Update dependencies
  Update CONTRIBUTING.md with latest information and links
  Get rid of using "LicenseKeyProductFeature" in ReflectionUtils class in cleanup module
  Make mutable final sets unmodifable
  Move reflection code to ReflectionUtils class
  Add PdfAutoSweep tests and change annotation name generator
  Update dependencies
  Pdf test files were changed. Added unit tests for openNotWrittenTags.
  Make PdfCleanUpFilter class autoportable
  [RELEASE] Update dependency versions
  Use generalized Jenkinsfile in pipeline-library
  Abort possible previous builds
  Update .mailmap
  Create new CleanUp comparing approach
  Add test for Java and.NET differences in line arts drawing on canvas
  Add missing category to a test
  [RELEASE] Update dependency versions
  Performance improvements of Jenkins builds
  add test case for "fix missing index and newlines in cleanup regexes" in itextcore repository
  [RELEASE] Update dependency versions
  Add test for circular references in form xObjects
  • Loading branch information
iText-CI committed Mar 30, 2021
2 parents 65d01ac + a02fe23 commit 698d8f8
Show file tree
Hide file tree
Showing 79 changed files with 1,960 additions and 786 deletions.
1 change: 0 additions & 1 deletion .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ Peter Goodman <pete@petegoo.com> <github@petegoo.co
Peter Goodman <pete@petegoo.com> <pete@petegoo.com>
Peter Goodman <pete@petegoo.com> <peter.goodman@pushpay.com>
Peter Kjuak <peter.kjuak@itextpdf.com> <peter.kjuak@itextpdf.com>
Richard Cohn <rcohn@adobe.com> <richard@cohns.org>
Richard Schwark <richard.schwark@planet.de> <richard.schwark@planet.de>
Roman Leonov <roman.leonov@duallab.com> <roman.leonov@duallab.com>
Roman Nadvodny <roman.nadvodniuk@duallab.com> <roman.nadvodniuk@duallab.com>
Expand Down
28 changes: 12 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ Before you submit your pull request consider the following guidelines:
* Verify that your proposed change hasn't already been addressed in the develop branch.
* Don't send a separate pull request for every single file you change.
* Please sign the [iText Contributor License Agreement (iCLA)](#cla) before sending pull
requests for any change of more than 20 significant lines of code (we're not counting curly braces and other syntactical sugar).
We cannot accept code without this agreement.
requests. We cannot accept code without this agreement.
* Fork the iText repository on GitHub.
* Clone your iText fork to your local machine.
* Make your changes, **including appropriate test cases**.
Expand Down Expand Up @@ -100,8 +99,7 @@ To ensure consistency throughout the source code, keep these rules in mind as yo

* We develop in Java first, and then port to .NET, so code submissions in Java are preferred.
Nevertheless this shouldn't stop you from making a good pull request to the .NET port.
* All Java code **must** be Java 7. Sorry, no lambda expressions or other Java 8 language features.
* All features or bug fixes **must be tested** by one or more [unit tests][unit-testing].
* All features or bug fixes **must be tested** by one or more unit tests.
* All public API methods **must be documented** with JavaDoc. To see how we document our APIs, please check
out the existing [javadocs][javadocs].
* We follow the rules contained in
Expand Down Expand Up @@ -151,8 +149,7 @@ reference JIRA or GitHub issues that this commit **Closes**.

## <a name="cla">Signing the iCLA</a>

Please sign the **iText Contributor License Agreement (iCLA)** before sending pull requests. For any larger code
changes (more than 20 lines of significant code) to be accepted, the iCLA must be signed. It's a quick process, we promise!
Please sign the [**iText Contributor License Agreement (iCLA)**][cla] before sending pull requests. For any code changes to be accepted, the iCLA must be signed. It's a quick process, we promise!

We'll need you to [(digitally) sign and then email, fax or mail the form][cla].

Expand All @@ -165,18 +162,17 @@ We use the [Stack Exchange][stackoverflow] network for free support and [GitHub]
* StackExchange: [http://stackexchange.com/legal](http://stackexchange.com/legal)
* Github: [https://help.github.com/articles/github-terms-of-service/](https://help.github.com/articles/github-terms-of-service/)

[cla]: http://itextpdf.com/policy
[cla]: https://itextpdf.com/en/how-buy/legal/itext-contributor-license-agreement
[coc]: CODE_OF_CONDUCT.md
[github]: https://github.com/itext/itext7
[java-style-guide]: http://www.oracle.com/technetwork/java/codeconvtoc-136057.html
[javadocs]: http://itextpdf.com/api
[pull]: https://github.com/itext/itext7/pulls
[github]: https://github.com/itext/i7j-pdfsweep
[java-style-guide]: https://www.oracle.com/technetwork/java/codeconvtoc-136057.html
[javadocs]: https://itextpdf.com/api
[pull]: https://github.com/itext/i7j-pdfsweep/pulls
[sscce]: http://sscce.org/
[stackoverflow]: http://stackoverflow.com/questions/tagged/itext7
[good-questions]: http://stackoverflow.com/help/how-to-ask
[mcve]: http://stackoverflow.com/help/mcve
[support]: http://itextpdf.com/support
[unit-testing]: http://junit.org/
[stackoverflow]: https://stackoverflow.com/questions/tagged/itext7
[good-questions]: https://stackoverflow.com/help/how-to-ask
[mcve]: https://stackoverflow.com/help/mcve
[support]: https://itextpdf.com/support
[git-commit]: https://chris.beams.io/posts/git-commit/
[git-commit-separate]: https://chris.beams.io/posts/git-commit/#separate
[git-commit-limit-50]: https://chris.beams.io/posts/git-commit/#limit-50
Expand Down
169 changes: 3 additions & 166 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,170 +1,7 @@
#!/usr/bin/env groovy
@Library('pipeline-library')_

def schedule = env.BRANCH_NAME.contains('master') ? '@monthly' : env.BRANCH_NAME == 'develop' ? '@midnight' : ''
def sonarBranchName = env.BRANCH_NAME.contains('master') ? '-Dsonar.branch.name=master' : '-Dsonar.branch.name=' + env.BRANCH_NAME
def sonarBranchTarget = env.BRANCH_NAME.contains('master') ? '' : env.BRANCH_NAME == 'develop' ? '-Dsonar.branch.target=master' : '-Dsonar.branch.target=develop'
def repoName = "pdfSweep"
def dependencyRegex = "itextcore"

pipeline {

agent any

environment {
JDK_VERSION = 'jdk-8-oracle'
}

options {
ansiColor('xterm')
buildDiscarder(logRotator(artifactNumToKeepStr: '1'))
parallelsAlwaysFailFast()
skipStagesAfterUnstable()
timeout(time: 60, unit: 'MINUTES')
timestamps()
}

triggers {
cron(schedule)
}

tools {
maven 'M3'
jdk "${JDK_VERSION}"
}

stages {
stage('Wait for blocking jobs') {
steps {
script {
properties([[$class: 'BuildBlockerProperty', blockLevel: 'GLOBAL', blockingJobs: ".*/itextcore/${env.JOB_BASE_NAME}", scanQueueFor: 'ALL', useBuildBlocker: true]])
}
}
}
stage('Build') {
options {
retry(2)
}
stages {
stage('Clean workspace') {
options {
timeout(time: 5, unit: 'MINUTES')
}
steps {
withMaven(jdk: "${JDK_VERSION}", maven: 'M3', mavenLocalRepo: '.repository') {
sh 'mvn clean'
sh 'mvn dependency:purge-local-repository -Dinclude=com.itextpdf -DresolutionFuzziness=groupId -DreResolve=false'
}
}
}
stage('Compile') {
options {
timeout(time: 5, unit: 'MINUTES')
}
steps {
withMaven(jdk: "${JDK_VERSION}", maven: 'M3', mavenLocalRepo: '.repository') {
sh 'mvn compile test-compile package -Dmaven.test.skip=true -Dmaven.javadoc.failOnError=false'
}
}
}
}
post {
failure {
sleep time: 2, unit: 'MINUTES'
}
success {
script { currentBuild.result = 'SUCCESS' }
}
}
}
stage('Run Tests') {
options {
timeout(time: 30, unit: 'MINUTES')
}
steps {
withMaven(jdk: "${JDK_VERSION}", maven: 'M3', mavenLocalRepo: '.repository') {
withSonarQubeEnv('Sonar') {
sh 'mvn --activate-profiles test -DgsExec="${gsExec}" -DcompareExec="${compareExec}" -Dmaven.test.skip=false -Dmaven.test.failure.ignore=false -Dmaven.javadoc.skip=true org.jacoco:jacoco-maven-plugin:prepare-agent verify org.jacoco:jacoco-maven-plugin:report -Dsonar.java.spotbugs.reportPaths="target/spotbugs.xml" sonar:sonar ' + sonarBranchName + ' ' + sonarBranchTarget
}
}
}
}
stage('Static Code Analysis') {
options {
timeout(time: 30, unit: 'MINUTES')
}
steps {
withMaven(jdk: "${JDK_VERSION}", maven: 'M3', mavenLocalRepo: '.repository') {
sh 'mvn --activate-profiles qa verify -Dpmd.analysisCache=true'
}
}
}
stage("Quality Gate") {
steps {
timeout(time: 1, unit: 'HOURS') {
waitForQualityGate abortPipeline: true
}
}
}
stage('Artifactory Deploy') {
options {
timeout(time: 5, unit: 'MINUTES')
}
when {
anyOf {
branch "master"
branch "develop"
}
}
steps {
script {
def server = Artifactory.server('itext-artifactory')
def rtMaven = Artifactory.newMavenBuild()
rtMaven.deployer server: server, releaseRepo: 'releases', snapshotRepo: 'snapshot'
rtMaven.tool = 'M3'
def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'install -Dmaven.test.skip=true -Dspotbugs.skip=true -Dmaven.javadoc.failOnError=false'
server.publishBuildInfo buildInfo
}
}
}
stage('Archive Artifacts') {
options {
timeout(time: 5, unit: 'MINUTES')
}
steps {
archiveArtifacts allowEmptyArchive: true, artifacts: 'target/*.jar, target/*.pom', excludes: '**/fb-contrib-*.jar, **/findsecbugs-plugin-*.jar'
}
}
}

post {
always {
echo 'One way or another, I have finished \uD83E\uDD16'
}
success {
echo 'I succeeeded! \u263A'
}
unstable {
echo 'I am unstable \uD83D\uDE2E'
}
failure {
echo 'I failed \uD83D\uDCA9'
}
changed {
echo 'Things were different before... \uD83E\uDD14'
}
fixed {
script {
if (env.BRANCH_NAME.contains('master') || (env.BRANCH_NAME == 'develop')) {
slackNotifier("#ci", currentBuild.currentResult, "${env.BRANCH_NAME} - Back to normal")
}
}
}
regression {
script {
if (env.BRANCH_NAME.contains('master') || (env.BRANCH_NAME == 'develop')) {
slackNotifier("#ci", currentBuild.currentResult, "${env.BRANCH_NAME} - First failure")
}
}
}
}

}
automaticJavaBuild(repoName, dependencyRegex)
Loading

0 comments on commit 698d8f8

Please sign in to comment.