From ccb65c399625a96feb027b941790eeb0bba5da33 Mon Sep 17 00:00:00 2001 From: Julian Eggers Date: Tue, 4 Dec 2018 14:42:20 +0100 Subject: [PATCH] LIBS-412 - complete renewal (#3) --- .travis.yml | 19 ++ Jenkinsfile | 83 +++++++ README.md | 17 ++ pom.xml | 233 +++++++++++++++--- .../saxxomparser/DocumentCallbackHandler.java | 2 +- .../xml/saxxomparser/DocumentHelper.java | 8 +- .../xml/saxxomparser/DocumentSaxParser.java | 2 +- .../StringDocumentCallbackHandler.java | 4 +- 8 files changed, 321 insertions(+), 47 deletions(-) create mode 100644 .travis.yml create mode 100644 Jenkinsfile create mode 100644 README.md diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..97f970f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,19 @@ +sudo: required + +language: java + +jdk: + - oraclejdk8 + - oraclejdk11 + +cache: + directories: + - $HOME/.m2 + +install: mvn verify -Dgpg.skip=true + +before_install: + - wget -O ~/codacy-coverage-reporter-assembly.jar https://github.com/codacy/codacy-coverage-reporter/releases/download/4.0.5/codacy-coverage-reporter-4.0.5-assembly.jar + +after_success: + - java -jar ~/codacy-coverage-reporter-assembly.jar report -l Java -r target/site/jacoco/jacoco.xml diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..91304da --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,83 @@ +pipeline +{ + agent any + + environment + { + deploymentBranch = "master" + mavenExecutable = "mvn-jdk8" + } + + triggers + { + cron('H H(0-5) * * *') + pollSCM('@hourly') + } + + options + { + buildDiscarder(logRotator(numToKeepStr:'10')) + disableConcurrentBuilds() + skipStagesAfterUnstable() + timeout(time: 1, unit: 'HOURS') + } + + stages + { + stage('Compile') + { + steps + { + sh '${mavenExecutable} clean compile test-compile' + } + } + + stage('Unit-Tests') + { + steps + { + sh '${mavenExecutable} surefire:test' + } + } + + stage('Integration-Tests') + { + when { branch "${env.deploymentBranch}" } + + steps + { + sh '${mavenExecutable} failsafe:integration-test failsafe:verify' + } + } + + stage('Release') + { + when { branch "${env.deploymentBranch}" } + + steps + { + sh '${mavenExecutable} clean deploy -Dmaven.test.skip=true' + } + } + + stage('SonarQube') + { + when { branch "${env.deploymentBranch}" } + + steps + { + sh '${mavenExecutable} clean verify sonar:sonar -Dsonar.host.url=http://sonarqube.avidesmedia/' + } + } + + stage('POM-Analysis') + { + when { branch "${env.deploymentBranch}" } + + steps + { + sh '${mavenExecutable} enforcer:enforce' + } + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..f2c5d17 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# sax-xom-parser + +[![Maven Central](https://img.shields.io/maven-metadata/v/http/central.maven.org/maven2/com/avides/xml/sax-xom-parser/maven-metadata.xml.svg)](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.avides.xml%22%20AND%20a%3A%22sax-xom-parser%22) +[![Codacy Badge](https://api.codacy.com/project/badge/Grade/742e793231bd406eba2befe532e5a3c1)](https://www.codacy.com/app/avides-builds/sax-xom-parser) +[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/742e793231bd406eba2befe532e5a3c1)](https://www.codacy.com/app/avides-builds/sax-xom-parser) +[![Build Status](https://travis-ci.com/avides/sax-xom-parser.svg?branch=master)](https://travis-ci.com/avides/sax-xom-parser) + +XML-streaming-parser with [XOM](http://www.xom.nu/ "XOM")-support + +## Dependency +```xml + + com.avides.xml + sax-xom-parser + 1.0.0-RELEASE + +``` diff --git a/pom.xml b/pom.xml index 45fbdfd..43dceff 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,9 @@ com.avides.xml sax-xom-parser sax-xom-parser - 0.1.2-RELEASE + XML-streaming-parser with xom-support + https://github.com/avides/sax-xom-parser + 1.0.0-RELEASE @@ -12,21 +14,47 @@ UTF-8 1.8 - 0.7.9 - 1.6.6 - 3.4 - 2.7 - 4.1.0 + 0.8.2 + 2.0.0-RC.3 + 4.0.1 + + 3.8.0 + 3.0.1 + 3.0.1 + 1.6 + 2.22.1 + 2.22.1 + 2.5.3 + 1.11.1 + 0.0.6 + 1.2.0 + 1.6.8 - com.itelg - xpath-helper - 0.4.6-RELEASE + com.io7m.xom + xom + 1.2.10 + + + xalan + xalan + + + xercesImpl + xerces + + + + org.assertj + assertj-core + 3.11.1 + test + org.easymock easymock @@ -46,9 +74,16 @@ test - org.easytesting - fest-assert - 1.4 + org.jacoco + org.jacoco.agent + runtime + ${jacoco.version} + test + + + com.itelg + xpath-helper + 0.5.3-RELEASE test @@ -62,7 +97,7 @@ Julian Eggers - jeggers@avides.com + eggers.julian@gmail.com @@ -78,21 +113,22 @@ maven-compiler-plugin - 3.6.1 + ${maven-compiler-plugin.version} ${java.version} ${java.version} + UTF-8 org.apache.maven.plugins maven-source-plugin - 3.0.1 + ${maven-source-plugin.version} attach-sources - jar + jar-no-fork @@ -100,7 +136,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.10.3 + ${maven-javadoc-plugin.version} attach-javadocs @@ -113,7 +149,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + ${maven-gpg-plugin.version} sign-artifacts @@ -126,22 +162,122 @@ - org.codehaus.mojo - cobertura-maven-plugin - ${cobertura.version} + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + -Duser.timezone=Europe/Berlin + + target/jacoco.exec + + + + + org.apache.maven.plugins + maven-failsafe-plugin + ${maven-failsafe-plugin.version} - xml + target/surefire-reports + + + + integration-test + verify + + + - org.eluder.coveralls - coveralls-maven-plugin - ${coveralls.version} + org.apache.maven.plugins + maven-enforcer-plugin + + + + + false + + + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + default-instrument + + instrument + + + + default-restore-instrumented-classes + + restore-instrumented-classes + + + + default-report + prepare-package + + report + + + target/jacoco-ut.exec + target/jacoco-ut + + + + integration-test-report + post-integration-test + + report + + + target/jacoco-it.exec + target/jacoco-it + + + + agent + + prepare-agent + + + + merge-results + verify + + merge + + + + + target + + *.exec + + + + target/jacoco.exec + + + + post-merge-report + verify + + report + + + target/jacoco.exec + target/site/jacoco + + + maven-release-plugin - 2.5.3 + ${maven-release-plugin.version} true false @@ -152,14 +288,30 @@ org.apache.maven.scm maven-scm-provider-gitexe - 1.9.4 + ${maven-scm-provider-gitexe.version} + + org.honton.chas + exists-maven-plugin + ${exists-maven-plugin.version} + + skip-deploy-to-central + http://central.maven.org/maven2/ + + + + + remote + + + + de.jutzig github-release-plugin - 1.1.1 + ${github-release-plugin.version} github-upload @@ -175,17 +327,18 @@ + + org.sonatype.plugins + nexus-staging-maven-plugin + ${nexus-staging-maven-plugin.version} + true + + ossrh + https://oss.sonatype.org/ + true + ${skip-deploy-to-central} + + - - - - libs-release-internal - http://mvnrepository.app.avidesmedia/libs-release-internal - - - libs-snapshot-internal - http://mvnrepository.app.avidesmedia/libs-snapshot-internal - - - \ No newline at end of file + diff --git a/src/main/java/com/avides/xml/saxxomparser/DocumentCallbackHandler.java b/src/main/java/com/avides/xml/saxxomparser/DocumentCallbackHandler.java index 6f223b9..5bd8474 100644 --- a/src/main/java/com/avides/xml/saxxomparser/DocumentCallbackHandler.java +++ b/src/main/java/com/avides/xml/saxxomparser/DocumentCallbackHandler.java @@ -5,4 +5,4 @@ public interface DocumentCallbackHandler { void process(Document document); -} \ No newline at end of file +} diff --git a/src/main/java/com/avides/xml/saxxomparser/DocumentHelper.java b/src/main/java/com/avides/xml/saxxomparser/DocumentHelper.java index 06f28d8..8b2faa4 100644 --- a/src/main/java/com/avides/xml/saxxomparser/DocumentHelper.java +++ b/src/main/java/com/avides/xml/saxxomparser/DocumentHelper.java @@ -17,12 +17,14 @@ public static void parse(final InputStream inputStream, final String elementTagN buildAndParse(inputStream, elementTagName, callbackHandler, true); } - public static void parseWithoutValidation(final InputStream inputStream, final String elementTagName, final DocumentCallbackHandler callbackHandler) throws Exception + public static void parseWithoutValidation(final InputStream inputStream, final String elementTagName, final DocumentCallbackHandler callbackHandler) + throws Exception { buildAndParse(inputStream, elementTagName, callbackHandler, false); } - private static void buildAndParse(final InputStream inputStream, final String elementTagName, final DocumentCallbackHandler callbackHandler, final boolean withValidation) throws Exception + private static void buildAndParse(final InputStream inputStream, final String elementTagName, final DocumentCallbackHandler callbackHandler, + final boolean withValidation) throws Exception { SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); @@ -35,4 +37,4 @@ private static void buildAndParse(final InputStream inputStream, final String el SAXParser parser = saxParserFactory.newSAXParser(); parser.parse(inputStream, handler); } -} \ No newline at end of file +} diff --git a/src/main/java/com/avides/xml/saxxomparser/DocumentSaxParser.java b/src/main/java/com/avides/xml/saxxomparser/DocumentSaxParser.java index 68f88aa..200e13d 100644 --- a/src/main/java/com/avides/xml/saxxomparser/DocumentSaxParser.java +++ b/src/main/java/com/avides/xml/saxxomparser/DocumentSaxParser.java @@ -80,4 +80,4 @@ private Element createElement(String name, Attributes attributes) return element; } -} \ No newline at end of file +} diff --git a/src/main/java/com/avides/xml/saxxomparser/StringDocumentCallbackHandler.java b/src/main/java/com/avides/xml/saxxomparser/StringDocumentCallbackHandler.java index 8c0c72a..ea48e96 100644 --- a/src/main/java/com/avides/xml/saxxomparser/StringDocumentCallbackHandler.java +++ b/src/main/java/com/avides/xml/saxxomparser/StringDocumentCallbackHandler.java @@ -9,6 +9,6 @@ public void process(Document document) { process(document.toXML()); } - + public abstract void process(String xml); -} \ No newline at end of file +}