diff --git a/.github/GitHub-Actions.org b/.github/GitHub-Actions.org
new file mode 100644
index 0000000..1c882b8
--- /dev/null
+++ b/.github/GitHub-Actions.org
@@ -0,0 +1,41 @@
+* Deploying using Github Actions
+
+** Actions definition: workflow/sonatype-deploy.yml
+
+When a GitHub Release is created, usually from a tag, this action will trigger.
+
+Using JDK8 the software will be packaged, including running any tests.
+
+Then the Deploy script will sign the created artifacts then deploy them according to the distributionManagement configuration in the `pom.xml`.
+
+** Deploy Script
+
+Uses a signing key provided from the GitHub Actions Secrets as an environment variable to sign the artifact(s) before they are then deployed.
+
+*** Inputs
+
+**** DEPLOY_PROJECTS (optional)
+
+An optional list of modules in a multi-module project to be deployed. If this value is not specified, then all projects will be deployed.
+
+** Maven Configuration
+
+Picks up the credentials from Environment variables for authenticating both with GPG and with the target deployment server (e.g. sonatype-nexus).
+
+*** Inputs
+
+**** NEXUS_USERNAME
+
+The username for your account on the deployment server.
+
+**** NEXUS_PASSWORD
+
+The password for your account on the deployement server.
+
+**** GPG_KEYNAME
+
+The key to use when signing.
+
+**** GPG_PASSPHRASE
+
+The passphrase to unlock the key to use when signing.
diff --git a/.github/NOTES b/.github/NOTES
new file mode 100644
index 0000000..64253c9
--- /dev/null
+++ b/.github/NOTES
@@ -0,0 +1,53 @@
+Add subkeys:
+
+????
+
+Publish:
+
+gpg --send-keys --keyserver keyserver.ubuntu.com $KEYID
+gpg --send-keys --keyserver pgp.mit.edu $KEYID
+gpg --send-keys --keyserver pool.sks-keyservers.net $KEYID
+
+Backup:
+
+gpg --export --armor pcampbell@kemitix.net > gpg-key-backup.asc
+gpg --export-secret-keys --armor pcampbell@kemitix.net >> gpg-key-backup.asc
+
+Export sub-keys:
+
+gpg --export-secret-subkeys pcampbell@kemitix.net > subkeys
+
+Remove master keys:
+
+gpg --delete-secret-key pcampbell@kemitix.net
+
+Import sub-keys and clean up:
+
+gpg --import subkeys
+
+shred --remove subkeys
+
+Delete any encryption subkeys:
+
+gpg --edit-key pcampbell@kemitix.net
+
+2
+delkey
+save
+
+Change passphrase:
+
+gpg --edit-key pcampbell@kemitix.net
+passwd
+save
+
+Export keys:
+
+gpg --export --armor pcampbell@kemitix.net > codesigning.asc
+gpg --export-secret-keys --armor pcampbell@kemitix.net >> codesigning.asc
+
+Encrypt keys:
+
+gpg --symmetric --cipher-algo AES256 codesigning.asc
+
+shred codesigning.asc
diff --git a/.github/codesigning.asc.gpg b/.github/codesigning.asc.gpg
new file mode 100644
index 0000000..f5c71e0
Binary files /dev/null and b/.github/codesigning.asc.gpg differ
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..a217b34
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,7 @@
+version: 2
+updates:
+- package-ecosystem: maven
+ directory: "/"
+ schedule:
+ interval: daily
+ open-pull-requests-limit: 10
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 0000000..146ec7d
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,34 @@
+name-template: 'v$RESOLVED_VERSION 🌈'
+tag-template: 'v$RESOLVED_VERSION'
+categories:
+ - title: '🚀 Features'
+ labels:
+ - 'feature'
+ - 'enhancement'
+ - title: '🐛 Bug Fixes'
+ labels:
+ - 'fix'
+ - 'bugfix'
+ - 'bug'
+ - title: '🧰 Maintenance'
+ labels:
+ - 'chore'
+ - 'dependencies'
+change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
+version-resolver:
+ major:
+ labels:
+ - 'major'
+ minor:
+ labels:
+ - 'minor'
+ patch:
+ labels:
+ - 'patch'
+ default: patch
+exclude-labels:
+ - 'skip-changelog'
+template: |
+ ## Changes
+
+ $CHANGES
diff --git a/.github/settings.xml b/.github/settings.xml
new file mode 100644
index 0000000..8791e47
--- /dev/null
+++ b/.github/settings.xml
@@ -0,0 +1,28 @@
+
+
+
+
+ sonatype-nexus-snapshots
+ ${env.NEXUS_USERNAME}
+ ${env.NEXUS_PASSWORD}
+
+
+ sonatype-nexus-staging
+ ${env.NEXUS_USERNAME}
+ ${env.NEXUS_PASSWORD}
+
+
+
+
+ gpg-sign
+
+ true
+
+
+ gpg
+ ${env.GPG_KEYNAME}
+ ${env.GPG_PASSPHRASE}
+
+
+
+
diff --git a/.github/stale.yaml b/.github/stale.yaml
new file mode 100644
index 0000000..dc90e5a
--- /dev/null
+++ b/.github/stale.yaml
@@ -0,0 +1,17 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 60
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: 7
+# Issues with these labels will never be considered stale
+exemptLabels:
+ - pinned
+ - security
+# Label to use when marking an issue as stale
+staleLabel: wontfix
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+ This issue has been automatically marked as stale because it has not had
+ recent activity. It will be closed if no further activity occurs. Thank you
+ for your contributions.
+# Comment to post when closing a stale issue. Set to `false` to disable
+closeComment: false
diff --git a/.github/workflows/build-maven.yml b/.github/workflows/build-maven.yml
new file mode 100644
index 0000000..fd1129e
--- /dev/null
+++ b/.github/workflows/build-maven.yml
@@ -0,0 +1,23 @@
+name: maven-build
+
+on:
+ push:
+ branches: '*'
+ pull_request:
+ branches: '*'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java: [ 8, 11, 14 ]
+ steps:
+ - uses: kamiazya/setup-graphviz@v1
+ - uses: actions/checkout@v2
+ - name: setup-jdk-${{ matrix.java }}
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+ - name: build-jar
+ run: mvn -B install
diff --git a/.github/workflows/deploy-sonatype.yml b/.github/workflows/deploy-sonatype.yml
new file mode 100644
index 0000000..ea469cb
--- /dev/null
+++ b/.github/workflows/deploy-sonatype.yml
@@ -0,0 +1,40 @@
+name: sonatype-deploy
+
+on:
+ push:
+ tags:
+ - "v*"
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: kamiazya/setup-graphviz@v1
+ - uses: actions/checkout@v2
+ - name: Set up JDK
+ uses: actions/setup-java@v1
+ with:
+ java-version: 8
+ - name: Build with Maven
+ run: mvn -B install
+ - name: Nexus Repo Publish
+ run: |
+ gpg --quiet \
+ --batch \
+ --yes \
+ --decrypt \
+ --passphrase="${{ secrets.GPG_PASSPHRASE }}" \
+ --output codesigning.asc \
+ .github/codesigning.asc.gpg
+ gpg --batch \
+ --fast-import codesigning.asc
+ mvn --settings .github/settings.xml \
+ -Dskip-Tests=true \
+ -P release \
+ -B \
+ deploy
+ env:
+ NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
+ NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
+ GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml
new file mode 100644
index 0000000..f3d4750
--- /dev/null
+++ b/.github/workflows/draft-release.yml
@@ -0,0 +1,14 @@
+name: draft-release
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ update_draft_release:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: release-drafter/release-drafter@v5.11.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 241b5c1..49be06a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+*.iml
+.idea/
/target
test.epub
nb-configuration.xml
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index b5711c5..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-language: java
-jdk:
- - oraclejdk8
- - oraclejdk7
-
-env:
- global:
- # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
- # via the "travis encrypt" command using the project repo's public key
- - secure: "kuMEP/lj5qM4NpEjR+jxLcJIyc7XGWI74FU2gwzMaM0/9HzX8LI2qk1NfqIc5jf1K6jPrLa4bBfMENluaVMizWisM5ShxrRJB9djm0G4rXeyBsmdSsrkmbjxxjqStPwunykVn8Npo5lZsetfRYCdjzSwiY9F/wKLjrwn+nq9YvZV3B3dOVS5ZCAPn0ZugqUAvYtSLX87N3q2SOowHRc8mkQ1MqTsRFC07H2rdo6qAcCROsVLhmMKRFSk/jPwFYPMFKYuDlwMEj/reqqJ0KpPoJ3qu9FPmHDwhyWwVl/T+eZEf6bJ0Q5BjWeXLgzgqaytrQX9p8x2dAYYBInTvH1zpeAoOB8vMAdKm7kcuLE5ovVmuq95akQ0Qe41mcx2f6JQ2kMRfcxpWLQhcfvoWNSCszmAfVd9fhQUCwqOgE68nJmSZcp5xR1VcG5KV7pKj9coTGOin1vH/lNdAe1OcK9RlwkC4TbEdtaAf5UVsb0tMBn6o9MIs29dViPDPQ14YoXJb89UpkypYzDqLst/557CmOf7Uw8QjgPkQziKS2/gZpihhoZPzT0N5hShteHQGBN+rhBxLDFfT+NxVm6izzKumIp8jPGiYoosr+pDwN3K7smgG+V1T8iy8EVUBXpjT/3AQTxgDI4ZwHr9+0dQm0shgdRJO/GITMx/v6076e657i8="
-
-addons:
- coverity_scan:
- project:
- name: "OpenCollabZA/epub-creator"
- description: "Build submitted via Travis CI"
- notification_email: samuel@opencollab.co.za
- build_command_prepend: "mvn clean"
- build_command: "mvn -DskipTests=true compile"
- branch_pattern: coverity_scan
diff --git a/README.md b/README.md
index 7c16998..f730d15 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,16 @@
# epub-creator
-[![epub-creator version](https://img.shields.io/badge/epub--creator-v1.0.0-green.svg?style=flat)](http://semver.org) [![WTFPL license](http://img.shields.io/badge/License-MIT-blue.svg)](http://opensource.org/licenses/MIT) [![Build Status](https://travis-ci.org/OpenCollabZA/epub-creator.svg)](https://travis-ci.org/OpenCollabZA/epub-creator) [![Coverity Scan Build Status](https://scan.coverity.com/projects/8384/badge.svg)](https://scan.coverity.com/projects/opencollabza-epub-creator)
+
+![GitHub release (latest by date)](
+https://img.shields.io/github/v/release/kemitix/epub-creator?style=for-the-badge)
+![GitHub Release Date](
+https://img.shields.io/github/release-date/kemitix/epub-creator?style=for-the-badge)
+
+[![Nexus](
+https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix/epub-creator.svg?style=for-the-badge)](
+https://oss.sonatype.org/content/repositories/releases/net/kemitix/epub-creator/)
+[![Maven-Central](
+https://img.shields.io/maven-central/v/net.kemitix/epub-creator.svg?style=for-the-badge)](
+https://search.maven.org/search?q=g:net.kemitix%20a:epub-creator)
# Java EPUB3 creator API
@@ -16,7 +27,7 @@ Create EPUB3 standard ebooks.
You will need
-1. [Java 7+](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)
+1. Java 8+
2. [Maven 3+](https://maven.apache.org/download.cgi)
```
diff --git a/pom.xml b/pom.xml
index b79da26..ff99609 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,22 +1,32 @@
4.0.0
+
+
+ kemitix-parent
+ net.kemitix
+ 5.3.0
+
+
+
coza.opencollab.epub
epub-creator
- 1.0.2-SNAPSHOT
- jar
+ 1.0.2
- scm:git:git@github.com:OpenCollabZA/epub-creator.git
- scm:git:git@github.com:OpenCollabZA/epub-creator.git
- scm:git:git@github.com:OpenCollabZA/epub-creator.git
- HEAD
-
+ scm:git:git@github.com:kemitix/epub-creator.git
+ scm:git:git@github.com:kemitix/epub-creator.git
+ scm:git:git@github.com:kemitix/epub-creator.git
+ HEAD
+
UTF-8
- 1.7
- 1.7
+ 1.8
+ 1.8
+
+ 2.13
+ 2.8.0
@@ -47,51 +57,24 @@
- org.apache.maven.plugins
- maven-release-plugin
- 2.5.3
+ io.repaint.maven
+ tiles-maven-plugin
+ ${tiles-maven-plugin.version}
+ true
+
+
+ net.kemitix.tiles:maven-plugins:${kemitix-tiles.version}
+ net.kemitix.tiles:enforcer:${kemitix-tiles.version}
+ net.kemitix.tiles:compiler-jdk-8:${kemitix-tiles.version}
+
+
+ net.kemitix.tiles:testing:${kemitix-tiles.version}
+
+
+
+
-
-
-
- opencollab-maven-public-releases
- OPENCOLLAB public releases repository
- https://nexus3.opencollab.co.za/repository/opencollab-maven-public-releases
-
-
- opencollab-maven-public-snapshots
- OPENCOLLAB public snaphots repository
- https://nexus3.opencollab.co.za/repository/opencollab-maven-public-snapshots
-
-
-
-
- releases
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.5.1
-
-
- default-deploy
- deploy
-
- deploy
-
-
-
-
- nexus-releases
- https://nexus3.opencollab.co.za/repository/opencollab-maven-public-releases
- true
-
-
-
-
-
-
+
diff --git a/pom.xml.releaseBackup b/pom.xml.releaseBackup
deleted file mode 100644
index 8d5063e..0000000
--- a/pom.xml.releaseBackup
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- 4.0.0
- coza.opencollab.epub
- epub-creator
- 1.0.1-SNAPSHOT
- jar
-
-
- scm:git:francois-opencollab@github.com:OpenCollabZA/epub-creator.git
- scm:git:francois-opencollab@github.com:OpenCollabZA/epub-creator.git
- scm:git:francois-opencollab@github.com:OpenCollabZA/epub-creator.git
- HEAD
-
-
-
- UTF-8
- 1.7
- 1.7
-
-
-
-
- junit
- junit
- 4.10
- test
-
-
- net.sourceforge.htmlcleaner
- htmlcleaner
- 2.8
-
-
- commons-io
- commons-io
- 2.4
-
-
- commons-collections
- commons-collections
- 3.2.1
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-release-plugin
- 2.5.3
-
-
-
-
-
-
- opencollab-maven-public-releases
- OPENCOLLAB public releases repository
- https://nexus3.opencollab.co.za/repository/opencollab-maven-public-releases
-
-
- opencollab-maven-public-snapshots
- OPENCOLLAB public snaphots repository
- https://nexus3.opencollab.co.za/repository/opencollab-maven-public-snapshots
-
-
-
-
- releases
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.5.1
-
-
- default-deploy
- deploy
-
- deploy
-
-
-
-
- nexus-releases
- https://nexus3.opencollab.co.za/repository/opencollab-maven-public-releases
- true
-
-
-
-
-
-
-
diff --git a/release.properties b/release.properties
deleted file mode 100644
index 96dada1..0000000
--- a/release.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-#release configuration
-#Wed Nov 06 00:48:36 SAST 2019
-project.scm.coza.opencollab.epub\:epub-creator.tag=HEAD
-project.scm.coza.opencollab.epub\:epub-creator.developerConnection=scm\:git\:git@github.com\:OpenCollabZA/epub-creator.git
-scm.tagNameFormat=@{project.artifactId}-@{project.version}
-project.scm.coza.opencollab.epub\:epub-creator.url=scm\:git\:git@github.com\:OpenCollabZA/epub-creator.git
-scm.tag=epub-creator-1.0.1
-pushChanges=true
-scm.url=scm\:git\:git@github.com\:OpenCollabZA/epub-creator.git
-preparationGoals=clean verify
-remoteTagging=true
-projectVersionPolicyId=default
-scm.commentPrefix=[maven-release-plugin]
-project.scm.coza.opencollab.epub\:epub-creator.connection=scm\:git\:git@github.com\:OpenCollabZA/epub-creator.git
-project.dev.coza.opencollab.epub\:epub-creator=1.0.2-SNAPSHOT
-project.rel.coza.opencollab.epub\:epub-creator=1.0.1
-exec.snapshotReleasePluginAllowed=false
-completedPhase=scm-commit-release