diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
new file mode 100644
index 0000000..5ad558b
--- /dev/null
+++ b/.github/workflows/deploy.yaml
@@ -0,0 +1,22 @@
+name: Publish package to the Maven Central Repository
+on:
+ release:
+ types: [created]
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Maven Central Repository
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ server-id: ossrh
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
+ - name: Publish package
+ run: mvn --batch-mode deploy
+ env:
+ MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..6784db3
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,31 @@
+# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
+
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ "master" ]
+ pull_request:
+ branches: [ "master" ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up JDK 8
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ cache: maven
+ - name: Build with Maven
+ run: mvn -B -V --file pom.xml clean verify
diff --git a/.gitignore b/.gitignore
index f567bac..55ca354 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,8 +5,12 @@
**/target/
-.idea/
-
+### IntelliJ IDEA ###
+.idea
+out
+*.iws
+*.iml
+*.ipr
out/
cov-int/
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 26be1f2..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-language: java
-
-jdk:
- - openjdk11
- - oraclejdk11
-
-env:
- global:
- - secure: "oGkueLFwywOD8QOtHDwjxHN0K1/BE6xmRzsoncdmQnAfp2dVrtRzgB1LN7WJ7YmXk0AFDR3GptRxAs32LJX9AAOeWlrHNpKsFZGwZkpsHtB+KnT4iMMrW0cxxGR0roVIB1yPZSvJCSptoAvPuroXsGnUzTd7FXP8OvN9vqBsWMise2A+TDVbgwhzGt/xOI9i15yLT9fX/TNYgD3esd0DQm7ezxTiftg3KgnL2QhBLHZdKOKC/trDwffksytzDHCIj8eR3pUkvYcet9v0v68b45+XsP80wcmT74MPX/ofOWngoNl2qFOV55Y4li9lO+cDP0ZiIJTDqPVmtpc02Xhdv57urDsyoxDOigo97x2oIrtM+LfzswHN2k4D+iZZYtCfyH5c2PEOb2qWgci9dxxjXZ8qwiqqlK9ydyKUEbMIqFA/RvJ1kWsjRss4N5FwUcivcgjx/VnEvIMh1f6Al3FF25F6HEQwH+5qjCGzYAHHhdvSaaaPnzStHafgcIqIZKDlLrEEpQNPb9iPkIPeXwhUgWfo8WyC1Z4zzJtrT9G9waJClUpHTi1E6jTfVhOS4jIfMAs0/ejNS1jdr1LRqI3TsxS0U8aL5dT58wTlzMlUbfMuz3DJHLuf8FrVZeMtB8W3jd4uSjos0GzKKP3EDjhCDKGHSactRx8+VMK0zY+x5XM="
- - # ^^ OSSRH_JIRA_USERNAME
- - secure: "FT0qnAbLKO9jypDrLVtxxN5l+I5YiL3qRsKaMadaQgl5cmO6b8ZWtZZqQvJ7IlEvnYTa2GV8WtyxEJcTr+y+p4vKGOpmOhEeXW6Mv2umNFMNf8BLnLLF6Kk1rZCdaXV20WzZT9TiW+r1pPQENfS9wJS42cIIoo7336tQuAxxyzXsNi0Uo6jlEZhs12fU43c+YoqVDH5Z/Q0KcnlOZv9S9xYYn+59BnOZJoNab5D4t7ee8k1bK2VMclxDebqd9K1lTVvRPSG08jTYLlvLa55IAvYyqEImxPhrtzz3F76J4yidbH1Gu9WthgcLg6sT4TR509oWnOmETh5I44Lus55N3LsUfv3kCAGx9pSH/GxCiKRkMja25zqzflqJs6AwB7a4EezieyewGYr0yC1kv1HZ1aRN7v6rau+My80mpTQ7rO6dyACm+ljRrjc7b4QuNz+2TvM2WPeLTZFpyQuCzHctFYfD+iQIl8gPqTSRoitObLfOWxypbLl+MBExL5Gu5wCw/gEijBunD0DXFiMLfIWQ16VNvyP9WWx62HnC2CrdIa94IsZlisWWuWVX+PBOrVcEkxjbGR+AX4vF4G5qmtFZwlP6EZpdVUH0bKB/z9pqHJRAPK4eynb+4j9qBOBiKIy8FjU4EPyqiLxiTSPEoA8JTV2lgdExI6ud/NSPi0CKqGI="
- - # ^^ OSSRH_JIRA_PASSWORD
- - secure: "iPjDyqrY387CjZ0Ey6IhVa+lIsuqVjb65TuuETphcm7UcPlqW+u64rZODMMy3gSPQqwtmhXKU7a4TcD0m5e5MHNSszEM89zJCBdwMT0qxzoZqLMN7N5ubPTbJdMtOY/jna/Lti+zPEfbGCae+o/w92+1t0cEQB/Xvkp1txcQVTlvXG8tcLskm6FmDsqI+8YgAQ0GDreyIKix2KU91B/8a1eboWeeU7/i5838LCKf4BCEg0twjSC0pUNEUIKIDyPK/I+/cH97CePlKxCwz2nQJ2ACRwyouQ8GVpsA3I7wOjkpxKJlFZPLjCDMx21IudkJrI3AfmbLxxzqyWJRLF0LlLLO+rn/4XjMuk1bua9tIedwjw4WKeGKGkHZSPKwNGqlLKyF/t08YfJOJ/mHWTkZEacf4q/LTcLssfHCDZNtE2zZ4UsnKryI+rW/TPAOjxFN8Y9G8MlK7dbfMtMlXmryzXd8pfQT/8Y0zlPUJtECbNVaX4JxKBcyEpeBU3Rh/NyyrQWS1inVFMSxeQGBHHpuZ1TUB6iqyEu6Hp/SaTwlaTYXZN5vEya1NvBeoG8wlUHecGSFg+CP5FgmLDfUZDVCAkoledox0FjOuu8u8uDi3d3lEXJMAR74841G1GyDsl/eUFJj8thdAfaWuPcij0LJamou6eA0ZrHdKbJDdnkMubI="
- - # ^^ GPG_KEY_NAME
- - secure: "qwfP7vgM9CicZ8Op/uLSexEjv0g6qquFN3rYr5fmNNu/2t5ZKkYHFWYiVRiXZbtH8JjkjJur7mdacAHZld9vUqOqmRb/+0pa2u2mLVP/WwrYfqr56RhInxyoUfiNdDYutTAAiOgbQEuH9C/OTT3FQstSfsKQdIpScGFVR913lVnluk5ZdLdbqMyAvhU14W1Ql+ePhRNGWipk15HwJLOP8AYJ/LBqCxuHUE3x6a0IU8kEWqLk7bwGZWqqR0T8huNC7L35yrd5n0pH2BDSq+G/jdEswe4UEotG8T42BF0jDDuorkv3tfr8o2W1k9N50YIV/mM7rhu03LBQXt+LnFFWCEkVYV8C/VsCLu57P49zZwbyPZueTsRZx63S4wsqmqcQiEum2vT9KhLWd5dhGsjZqE28Q+earxfMoDk1tx6e+F6djNeKo+CwqKB2Eklk3/hai++T1GudoyLQgqa+t/B5bJBiMV6O/p/BgeXXwfTEb5E1N/jd4KW9dqhjZA4+qasczAggg0MhtyUS1vh9HmOmx+1CUBF1CWZbABPz01/uauFRea3y56hptJR4WMMfMBIGujUhRcbvW6z7ztagbqE+Bwug1WXZvTFUyUPcOhkIn7QQl3bQJyceLdNhHuBVRXzb8mzmg0hGqZ69o8puc1QRRnuc0J7sPiFLSVx+EV2xjKs="
- - # ^^ GPG_PASSPHRASE
-
-cache:
- directories:
- - ~/.m2/repository
- - ~/.sonar/cache
-
-install: true
-
-script: mvn -B -V clean verify sonar:sonar
-
-deploy:
- provider: script
- script:
- - openssl aes-256-cbc -K $encrypted_2fa22c1a3c47_key -iv $encrypted_2fa22c1a3c47_iv -in ci-cd/signingkey.asc.enc -out ci-cd/signingkey.asc -d &&
- gpg --fast-import ci-cd/signingkey.asc &&
- mvn deploy -B -V -P release -DskipTests=true --settings ci-cd/mvnsettings.xml
- on:
- all_branches: true
- condition: -n "$TRAVIS_TAG" || "$TRAVIS_BRANCH" == "master"
- jdk: openjdk11
-
-
-addons:
- sonarcloud:
- organization: "indvd00m"
- token:
- secure: "pMDAwVY0SYZEZJzwa5nEupXAQ5C7fWleXiRO1BolbfZw2lBLmvtJBxydF8moM+lI6X4GSOwuTAC1ruiTncypirlI+3lDz4H0VctzxHquYMHtGwtzD4HPLN8ZRNmeCpBDNUc9jPs1QHtKtFhqE5varkv8yVn8hQZU/KzGQsjfzDbDY46Nkt8a+IXRUImCumK7EF1S9b7O+of/XilubU5WLGComjhKcOYK1VbFL27cm7ihVxKqNtJohVbkBcGk9j+YAadqHQv/e969VZd7jkKbGDYtmvRziXP1iVH90gYu49DrnSRomEU16HoAwVgOQ9HZ4K/rqdzN34sHfoHqJOJeRH3MUirgFA72RtYxr78jioWxZIrpINAldx6uL44lYtmfx3QmSl1SPXIsn62dTlrYEEPJF8r+zbVwYOUh1SCzxmLlpd/RSh+RqAZl56SV1ZQJafVRPJWnYFMbLpuEXPFtPRyuk0zwBJ2IUN9wfdLxtWR89dc7qNOknp9d4LcFu1Eaz3R0PmKV2TD6Xz7CEmVAtvZqug5puOOuZv5vHWOKkIoXpwkXKjrQjAbeZSqVle0QrhTUXq9CTWAVdVeDxWQRQSyUpvRS37kK7vAFVEzyaHWjtPwf3UHEcvwfBlflxCMESNjf7l3TOX+M/c+LUruyPmLC4e39yqb8FKOMKbcwm+o="
diff --git a/README.md b/README.md
index 0fb4e99..e981690 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
# Java ASCII Render
[![Maven Central](https://img.shields.io/maven-central/v/com.indvd00m.ascii.render/ascii-render.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.indvd00m.ascii.render%22%20AND%20a:%22ascii-render%22)
-[![Build Status](https://travis-ci.org/indvd00m/java-ascii-render.svg?branch=master)](https://travis-ci.org/indvd00m/java-ascii-render)
-[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.indvd00m.ascii.render%3Ajava-ascii-render&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.indvd00m.ascii.render%3Ajava-ascii-render)
-[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=com.indvd00m.ascii.render%3Ajava-ascii-render&metric=ncloc)](https://sonarcloud.io/dashboard?id=com.indvd00m.ascii.render%3Ajava-ascii-render)
+[![Java CI with Maven](https://github.com/indvd00m/java-ascii-render/actions/workflows/maven.yml/badge.svg)](https://github.com/indvd00m/java-ascii-render/actions/workflows/maven.yml)
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=indvd00m_java-ascii-render&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=indvd00m_java-ascii-render)
+[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=indvd00m_java-ascii-render&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=indvd00m_java-ascii-render)
![GitHub](https://img.shields.io/github/license/indvd00m/java-ascii-render)
ASCII renderer in pure java with no external dependencies. Java ASCII Render supports graphical primitives/elements, layers, context, canvas.
diff --git a/ascii-render-api/pom.xml b/ascii-render-api/pom.xml
index dd69a13..991fb9d 100644
--- a/ascii-render-api/pom.xml
+++ b/ascii-render-api/pom.xml
@@ -74,7 +74,6 @@
true
- ${java.home}/bin/javadoc
diff --git a/ascii-render/pom.xml b/ascii-render/pom.xml
index 00ede25..34d3f49 100644
--- a/ascii-render/pom.xml
+++ b/ascii-render/pom.xml
@@ -28,11 +28,11 @@
ossrh
- https://oss.sonatype.org/content/repositories/snapshots
+ https://s01.oss.sonatype.org/content/repositories/snapshots
ossrh
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
+ https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
@@ -92,7 +92,6 @@
true
- ${java.home}/bin/javadoc
diff --git a/ci-cd/mvnsettings.xml b/ci-cd/mvnsettings.xml
deleted file mode 100644
index c4417c3..0000000
--- a/ci-cd/mvnsettings.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- ossrh
- ${env.OSSRH_JIRA_USERNAME}
- ${env.OSSRH_JIRA_PASSWORD}
-
-
-
-
-
- ossrh
-
- true
-
-
- gpg
- ${env.GPG_KEY_NAME}
- ${env.GPG_PASSPHRASE}
-
-
-
-
-
-
diff --git a/ci-cd/signingkey.asc.enc b/ci-cd/signingkey.asc.enc
deleted file mode 100644
index 0faea80..0000000
Binary files a/ci-cd/signingkey.asc.enc and /dev/null differ