From b4d6e7580a943aeef076fb60d484628b8f0cf278 Mon Sep 17 00:00:00 2001 From: Jinseo Park Date: Mon, 10 Jun 2019 01:35:37 +0900 Subject: [PATCH 01/12] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f1366e4..84f30ae 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # tracers.java -> `tracers.java` is a visualization library for Java. +> This repository is part of the project [Algorithm Visualizer](https://github.com/algorithm-visualizer). -This repository is part of the project [Algorithm Visualizer](https://github.com/algorithm-visualizer). +`tracers.java` is a visualization library for Java. +You can use it on [algorithm-visualizer.org](https://algorithm-visualizer.org/) or locally on your machine. ## Installation From cf0a6d2ea9ef97d119a470d470daccc70bf7de2a Mon Sep 17 00:00:00 2001 From: Jason Park Date: Mon, 17 Jun 2019 01:59:12 +0900 Subject: [PATCH 02/12] Publish to maven central (through sonatype) --- .gitignore | 3 ++- README.md | 20 +++++++++++--- build.gradle | 72 ++++++++++++++++++++++++++++++++++++++++++++----- settings.gradle | 2 +- 4 files changed, 85 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 7701104..5be005d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ /.gradle /build /out -.DS_Store \ No newline at end of file +/gradle.properties +.DS_Store diff --git a/README.md b/README.md index f1366e4..b985aab 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# tracers.java +# tracers.java [![Maven Central](https://img.shields.io/maven-central/v/org.algorithm-visualizer/tracers-java.svg?style=flat-square)](https://search.maven.org/artifact/org.algorithm-visualizer/tracers-java) > `tracers.java` is a visualization library for Java. @@ -6,9 +6,21 @@ This repository is part of the project [Algorithm Visualizer](https://github.com ## Installation -1. Download `algorithm-visualizer.jar` in the [latest release](https://github.com/algorithm-visualizer/tracers.java/releases/latest). - -2. Add it to the classpath. +- Gradle + ```gradle + dependencies { + implementation 'org.algorithm-visualizer:tracers-java:+' + } + ``` + +- Maven + ```xml + + org.algorithm-visualizer + tracers-java + [1.0.0,) + + ``` ## Usage diff --git a/build.gradle b/build.gradle index 7053e5e..51c1820 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,8 @@ -plugins { - id 'com.github.johnrengelman.shadow' version '2.0.4' - id 'java-library' -} +apply plugin: 'java-library' +apply plugin: 'maven' +apply plugin: 'signing' -group = 'org.algorithm_visualizer' +group = 'org.algorithm-visualizer' version = '2.3.1' sourceCompatibility = 1.8 @@ -15,4 +14,65 @@ dependencies { implementation 'com.google.code.gson:gson:2.8.5' } -shadowJar.archiveName = 'algorithm-visualizer.jar' +task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allSource +} + +artifacts { + archives javadocJar, sourcesJar +} + +signing { + sign configurations.archives +} + +uploadArchives { + repositories { + mavenDeployer { + beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + + repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { + authentication(userName: ossrhUsername, password: ossrhPassword) + } + + snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { + authentication(userName: ossrhUsername, password: ossrhPassword) + } + + pom.project { + name 'tracers.java' + packaging 'jar' + // optionally artifactId can be defined here + description 'Visualization Library for Java' + url 'https://github.com/algorithm-visualizer/tracers.java' + + scm { + connection 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' + developerConnection 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' + url 'https://github.com/algorithm-visualizer/tracers.java' + } + + licenses { + license { + name 'The MIT License (MIT)' + url 'http://opensource.org/licenses/MIT' + } + } + + developers { + developer { + id 'parkjs814' + name 'Jinseo Jason Park' + email 'jason.park@gatech.edu' + } + } + } + } + } +} diff --git a/settings.gradle b/settings.gradle index f780d24..48a87c3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -rootProject.name = 'tracers' +rootProject.name = 'tracers-java' From 670242af4370875599f98684e39db1ca4d61677a Mon Sep 17 00:00:00 2001 From: Jason Park Date: Thu, 20 Jun 2019 21:58:57 +0900 Subject: [PATCH 03/12] Add travis for auto publishing/releasing --- .gitignore | 1 + .travis.yml | 22 ++++++++++++++++++++++ build.gradle | 6 +++++- pubring.gpg.enc | Bin 0 -> 2640 bytes scripts/deploy.sh | 11 +++++++++++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 .travis.yml create mode 100644 pubring.gpg.enc create mode 100755 scripts/deploy.sh diff --git a/.gitignore b/.gitignore index 5be005d..81f6e59 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /build /out /gradle.properties +/pubring.gpg .DS_Store diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..948da76 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +language: java +jdk: oraclejdk8 +script: ./gradlew check +deploy: + - provider: script + script: scripts/deploy.sh + on: + branch: master + tags: true + - provider: releases + api_key: + secure: Va5i+Jn2pDMm+65t3rA7rA7AkOl0zmQhecCXkvHTdxq/ETWlWGlt9YBN17wWW8rHQx4BPfN/PSpvisTaevTyWBlc7bVnHJlPOBVYk13El0q8H45EMmNuGZveL9suN7q+l6oZk3ZHA8Y5OCHr7jvnXnMa5XfBM5N1am27lFXrSx/+CsPyVnmP+m2g2U0iLAJNnW4H/eU3hJzKsf9LwbPlLGdH6t1CdOQOhBsMr/yOe3ThRjkRQ49XGwl8XXewkA7AsItGUxBQkAqMBwv5NuiGCcNK7oiiDGI8z8ZDZasedHzWlx9NgIdCLv6XGXV/5UK/MsuFjF2V+Bx4WRryh7ERwjMmcucutEejpxO/zlPwdKD6nCmcYZQmR9ITlp2v1Efn41p7x/uyFfmIGJGNTJ3hLK5uHPQSn+ahCbF/0y5Mbwz3u8U0mYxukOKHRoJs812ubezsM2IOvyPCkYtBiSHVLB13l9uuWZfVU85nUuyHzcLMacIvqic7YxDgbbP4c4ZW8kYeHONRGu+sgWj00iLMRClcjR+UdjISEqBxa36XCxUVaHq3btVnhiUq37YBLoorEtxN1Pz27JGAmxDlTm9s3cx4FLW+A1CbAg17D6eg9tqziOkcBEzAkAD0DvH/GWEZkuSuE3aiujJTc7qhOWONU3WR062Ow/c6QU2bCMpQPOs= + on: + branch: master + tags: true +env: + global: + - secure: qT39pZspL2LyzA63seKzzo4E5OI3D1V9p2+GqzOmR7EYvBTiVN6o6YEDH0NjOxX+YNU82FbxfOCLPrHa7OkRR7hTMm3R/U9BLcf+ZdBkEaW8RBk52xkqL/DrRYG0/zj6ECebFJ8Fat6baOPOgzL/vKVLS87GGFHjzKP7eWdfioEgYjTaUEWCeTKtltPAj/0srUfwvfJy7QH/Bq0cIchA45URRGxnhqsxGCb7BRXJ9crQ9ahr6edVv3PhonX8pmiT/2DMaqLFHbNxRSYA7E+yMVTvJ2nMEOM6PaN+h0UDsrN8XkDrCkkytPBYPeIUsVvzC4vEtxEt3akgui/QykYo1cuJ+6hBQJTzhJ7nCv67H253LFM0wx4LNGG17ZFhxsJdowuAnHoQgrW748+pDz5wNZjPIunWl5e24hslqst09Ln4Hm/4UgP2Rn5EHq8f0YvgNxmV+1GuSnSvVkbCBpNYtXg+JTcb5xvXGrJpNG6+HCfVT3YFyZeaaL2czoO/ZxQ9iiBZu2aijSJ20um45rUaYAhBNRD4Kr7Byj62eu3OcI9oFJ98/mVOaPTvl/nIysMt5xjBHSZJtw/vGBN24be8aMUG5CcXpfBW9PPQHVhj4zC1DtS8Amco1X1Sjak3BWGBoTfLnR/YL7sxrBP+d5oC9Znrg4xZBK8rC6hTqEGFeXg= + - secure: sWUOsHNN/J4G/bQux7n9f4bHH3lscyfWYqvDqUc1z64CudI7Ie4An+e8FYhInCkK5r57FVi15EBqRbGUPPDn8tBxxfJgKJQ6lC3qr9BU0qcEJuBAV6F56h/LEmEB8rk39fbNXryKsBe+tRBySaLuyGWY7IPQjqcHuLfeX+oaTAkjnyDSQpLN+X+0oGI2PRV4m4IjxYJZ3oGBecPFt/j+G28KW3nwPRC8j1VebLvzg1N4JsRiSZcPoMvs5STtNATJ5CIvIUdHo8cUvgPfMVhEVUdy+nRbuG6ytlkQuKuG7+qItMrBsw6VxCU/hImXCKkUQ7Dqrgm38oHxsU4BDohodirsXQEz5GXMBkgJj/+FrbDYwZZ5nwIfKqK7QzAYueRa/FG7BQEfTJVJEHfEZt5VeuMUjR30dX0ENnm6L9cvHoQN+vDMpr/OJNxhJVDDRA2+gTv1EsUPAiJejSgZB8vYjgnqVvxPEpAc8jyvmrs/57M4Se5AugsEFed0WrTZK2ekH30zZBxWp8wq0J+faPm+Aq2OWltQehbnKORwXESzQq2E85p0nrjO2gk4UdAn1P6CxG+mU4AU99Mo0hXHF1Ta9mo5/JDcl88RG6zgkhsyNbysEsQBn+skO7AmHAL74rGBenpPjNJ4BdIJ3/DEPdw9bint5CXGTEeQSQZpJ+foeG4= + - secure: hPaPF+a8fpvUQy8NzxIv83eyZVc4VOXs04MApVn1r9wkxrLsUcIqTWOkicf/NHCO2llsKPbq9roaCPJtADmBQRy7hoMomyvuYXdClEUPkNJo/k617WhjMwiy6ShPUo4Iv/jj325uF7D2iPU+/tdhxkuPvD8/k90hdQqPKIQornmjIu+7T6kcbseSQ1leGldLt7PuVkJeFZ5tl7U8Hl12TlxsDgW5qiJmQun4lA5XynK5ZHBpOhjDu0SeiRQ+lKAYiC+Z1UFuqOON63HG2tecg5i1zDNKIJvzlwBdI/dW7Rd5PTWqQpQ48GyUcLjl9IlkrCrHYPUgtnrvr8SM4+YEBkXgoARYW7eAk2ADsLFfHQB7M0l8Zess3DspfdQATLN4Ls7DcGOc3cYBaToAPOzbFd/PD8hfmxqnLtApjy6uEuCtUZeLSmeVmATYX7txzYmqhM2DbH7Npjqactm8WWQyTpzlT90VlVEhn3yJ+ZUajzwCMd+cmLvwR0lKc8eLVaVH050Vv/wL/d9pU9floi2uzeXYKVg1oPksj/ORDedLKB1N6yfL3u7Zf6OM3jUQQv1c3knDNAjW8PAWLDJB7WbPhlgU8K+kNrml7MeLua+XImjGsZ1xj3xUfAacAQlwoT55694PfwPKOL/2vlp6sXegsVpMYexGku0kfDxcMJMKSmE= + - secure: LZYIEaxZaN+lfrSfxhxYdcdLy8OwwMptJRMXHrii7yavgMXZ6hm+mFqFAWs2y5rY/21NdeMwdihFRdkdeDFmX/uBG7y3pFGWQb5rbX7ftWnsdIqQR627wghpSeCblPAnMDhRab4xiBM41YCS8LGTRg0FcwGLzu+DCH77llbl6X3CnW9ZSkw/zn4Ipn9Fh7byEIvSUih+JdQkhWfxixWWVtyBMylSE1VV6er0jh0/bay2GmGppwMpdv6VIrUlgRaZfYtCv8SgfGHugQO2kPAtx7VkBgXLVShrmW6Fwo2LOnmH0LzzQq29CBFrr5cX73aTMaz+d3gmABfAWT0ibXFN5Q3aY4Ev7WMKFPcrmVZjfSEdF1XULT5tK70Tp6XfK0gBjPSVVgFRCBCrdmF5vPszOELrxMdweLBCiJUm7PM5xfbtbnD0WwVESHj80KMbQgR3Vb751v5moxwOe15IEiuW2+pdGUFcGeYu22UlDhUEZlHe27mV/AcimJM9iy5WZnseOvIb34VBmmPVrTslu4KISr7P7MdqXBU0OIjWwf/cbagEg3BEH9PMSTJIAJz3IbMUanclkYXOrrTaCdrHMjRl/lIh3GnwPx7JV5i3JkAAewbm+tP/MT10TcGC3gzdo/UY5JFrwENylKMgt9nc3r84AB8T8whPXVVPo3jPEW6bmgU= + - signing.secretKeyRingFile=pubring.gpg diff --git a/build.gradle b/build.gradle index 51c1820..8bf49b0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,13 @@ +plugins { + id 'io.codearte.nexus-staging' version '0.21.0' +} + apply plugin: 'java-library' apply plugin: 'maven' apply plugin: 'signing' group = 'org.algorithm-visualizer' -version = '2.3.1' +version = '2.3.4' sourceCompatibility = 1.8 repositories { diff --git a/pubring.gpg.enc b/pubring.gpg.enc new file mode 100644 index 0000000000000000000000000000000000000000..98068dcd02e895cd20186afb75be66140241549d GIT binary patch literal 2640 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 literal 0 HcmV?d00001 diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100755 index 0000000..74da4d4 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +PROJECT_ROOT="$(dirname "$0")/.." + +cd ${PROJECT_ROOT} && + +openssl aes-256-cbc -K $encrypted_1d787f3de7c3_key -iv $encrypted_1d787f3de7c3_iv -in pubring.gpg.enc -out pubring.gpg -d && + +./gradlew uploadArchives && + +./gradlew closeAndReleaseRepository From 6de875dc3ba88e9a98200e7f173ea1131021823e Mon Sep 17 00:00:00 2001 From: Jason Park Date: Fri, 21 Jun 2019 03:29:33 +0900 Subject: [PATCH 04/12] Test auto deploy --- .gitignore | 2 - .travis.yml | 21 ++++-- README.md | 2 +- build.gradle | 73 ++++++++++--------- gradle/wrapper/gradle-wrapper.properties | 2 +- scripts/deploy.sh | 11 --- .../java/org/algorithm_visualizer/Test.java | 2 +- 7 files changed, 54 insertions(+), 59 deletions(-) delete mode 100755 scripts/deploy.sh diff --git a/.gitignore b/.gitignore index 81f6e59..de2c62e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,4 @@ /.gradle /build /out -/gradle.properties -/pubring.gpg .DS_Store diff --git a/.travis.yml b/.travis.yml index 948da76..cad012e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,17 @@ language: java jdk: oraclejdk8 -script: ./gradlew check +before_cache: + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ +cache: + directories: + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ +before_install: openssl aes-256-cbc -K ${encrypted_1d787f3de7c3_key} -iv ${encrypted_1d787f3de7c3_iv} -in pubring.gpg.enc -out pubring.gpg -d deploy: - provider: script - script: scripts/deploy.sh + script: ./gradlew publish closeAndReleaseRepository + skip_cleanup: true on: branch: master tags: true @@ -15,8 +23,7 @@ deploy: tags: true env: global: - - secure: qT39pZspL2LyzA63seKzzo4E5OI3D1V9p2+GqzOmR7EYvBTiVN6o6YEDH0NjOxX+YNU82FbxfOCLPrHa7OkRR7hTMm3R/U9BLcf+ZdBkEaW8RBk52xkqL/DrRYG0/zj6ECebFJ8Fat6baOPOgzL/vKVLS87GGFHjzKP7eWdfioEgYjTaUEWCeTKtltPAj/0srUfwvfJy7QH/Bq0cIchA45URRGxnhqsxGCb7BRXJ9crQ9ahr6edVv3PhonX8pmiT/2DMaqLFHbNxRSYA7E+yMVTvJ2nMEOM6PaN+h0UDsrN8XkDrCkkytPBYPeIUsVvzC4vEtxEt3akgui/QykYo1cuJ+6hBQJTzhJ7nCv67H253LFM0wx4LNGG17ZFhxsJdowuAnHoQgrW748+pDz5wNZjPIunWl5e24hslqst09Ln4Hm/4UgP2Rn5EHq8f0YvgNxmV+1GuSnSvVkbCBpNYtXg+JTcb5xvXGrJpNG6+HCfVT3YFyZeaaL2czoO/ZxQ9iiBZu2aijSJ20um45rUaYAhBNRD4Kr7Byj62eu3OcI9oFJ98/mVOaPTvl/nIysMt5xjBHSZJtw/vGBN24be8aMUG5CcXpfBW9PPQHVhj4zC1DtS8Amco1X1Sjak3BWGBoTfLnR/YL7sxrBP+d5oC9Znrg4xZBK8rC6hTqEGFeXg= - - secure: sWUOsHNN/J4G/bQux7n9f4bHH3lscyfWYqvDqUc1z64CudI7Ie4An+e8FYhInCkK5r57FVi15EBqRbGUPPDn8tBxxfJgKJQ6lC3qr9BU0qcEJuBAV6F56h/LEmEB8rk39fbNXryKsBe+tRBySaLuyGWY7IPQjqcHuLfeX+oaTAkjnyDSQpLN+X+0oGI2PRV4m4IjxYJZ3oGBecPFt/j+G28KW3nwPRC8j1VebLvzg1N4JsRiSZcPoMvs5STtNATJ5CIvIUdHo8cUvgPfMVhEVUdy+nRbuG6ytlkQuKuG7+qItMrBsw6VxCU/hImXCKkUQ7Dqrgm38oHxsU4BDohodirsXQEz5GXMBkgJj/+FrbDYwZZ5nwIfKqK7QzAYueRa/FG7BQEfTJVJEHfEZt5VeuMUjR30dX0ENnm6L9cvHoQN+vDMpr/OJNxhJVDDRA2+gTv1EsUPAiJejSgZB8vYjgnqVvxPEpAc8jyvmrs/57M4Se5AugsEFed0WrTZK2ekH30zZBxWp8wq0J+faPm+Aq2OWltQehbnKORwXESzQq2E85p0nrjO2gk4UdAn1P6CxG+mU4AU99Mo0hXHF1Ta9mo5/JDcl88RG6zgkhsyNbysEsQBn+skO7AmHAL74rGBenpPjNJ4BdIJ3/DEPdw9bint5CXGTEeQSQZpJ+foeG4= - - secure: hPaPF+a8fpvUQy8NzxIv83eyZVc4VOXs04MApVn1r9wkxrLsUcIqTWOkicf/NHCO2llsKPbq9roaCPJtADmBQRy7hoMomyvuYXdClEUPkNJo/k617WhjMwiy6ShPUo4Iv/jj325uF7D2iPU+/tdhxkuPvD8/k90hdQqPKIQornmjIu+7T6kcbseSQ1leGldLt7PuVkJeFZ5tl7U8Hl12TlxsDgW5qiJmQun4lA5XynK5ZHBpOhjDu0SeiRQ+lKAYiC+Z1UFuqOON63HG2tecg5i1zDNKIJvzlwBdI/dW7Rd5PTWqQpQ48GyUcLjl9IlkrCrHYPUgtnrvr8SM4+YEBkXgoARYW7eAk2ADsLFfHQB7M0l8Zess3DspfdQATLN4Ls7DcGOc3cYBaToAPOzbFd/PD8hfmxqnLtApjy6uEuCtUZeLSmeVmATYX7txzYmqhM2DbH7Npjqactm8WWQyTpzlT90VlVEhn3yJ+ZUajzwCMd+cmLvwR0lKc8eLVaVH050Vv/wL/d9pU9floi2uzeXYKVg1oPksj/ORDedLKB1N6yfL3u7Zf6OM3jUQQv1c3knDNAjW8PAWLDJB7WbPhlgU8K+kNrml7MeLua+XImjGsZ1xj3xUfAacAQlwoT55694PfwPKOL/2vlp6sXegsVpMYexGku0kfDxcMJMKSmE= - - secure: LZYIEaxZaN+lfrSfxhxYdcdLy8OwwMptJRMXHrii7yavgMXZ6hm+mFqFAWs2y5rY/21NdeMwdihFRdkdeDFmX/uBG7y3pFGWQb5rbX7ftWnsdIqQR627wghpSeCblPAnMDhRab4xiBM41YCS8LGTRg0FcwGLzu+DCH77llbl6X3CnW9ZSkw/zn4Ipn9Fh7byEIvSUih+JdQkhWfxixWWVtyBMylSE1VV6er0jh0/bay2GmGppwMpdv6VIrUlgRaZfYtCv8SgfGHugQO2kPAtx7VkBgXLVShrmW6Fwo2LOnmH0LzzQq29CBFrr5cX73aTMaz+d3gmABfAWT0ibXFN5Q3aY4Ev7WMKFPcrmVZjfSEdF1XULT5tK70Tp6XfK0gBjPSVVgFRCBCrdmF5vPszOELrxMdweLBCiJUm7PM5xfbtbnD0WwVESHj80KMbQgR3Vb751v5moxwOe15IEiuW2+pdGUFcGeYu22UlDhUEZlHe27mV/AcimJM9iy5WZnseOvIb34VBmmPVrTslu4KISr7P7MdqXBU0OIjWwf/cbagEg3BEH9PMSTJIAJz3IbMUanclkYXOrrTaCdrHMjRl/lIh3GnwPx7JV5i3JkAAewbm+tP/MT10TcGC3gzdo/UY5JFrwENylKMgt9nc3r84AB8T8whPXVVPo3jPEW6bmgU= - - signing.secretKeyRingFile=pubring.gpg + - secure: c3f4qPFpEGq7NB5rnJO8lBPmAIdqlCNx1KLtyOzIknOJuL/Dv8FrSqiaFjOfxRC9wqYDKuhPRUFDd6o6JF2+t7CZDdrABTVXw2akcTcQxSWYwSviLCLek6fb/5LPA0FW63bYUcTj7thfVkWdxIen7wToQOkYOz/RJXU9CE21/T4DxnaOgZIoXaFqEuYCT/YZrT5DRQSZ2AmecgHx1Q+z2qlGRI3SEVPrVGiA3pu1KNGvIQryhnIn6mxsQ1fI0vbTOUaekZcatLKmscxbqbWKoC8Gx76sj7w7Azai7ihEVii/5EBSKwIfo6BdH3KfKk7IlJCj27T7Y3inqrzQ7ojVq1XUAYytCjMwQAFTjY6UfGfOzZ0Y8ef84wj5zbBSxWx7YDQKEI3fmhE/BiPiuXsZ8F8qut45hsQrqCynDhlz/BnMOr6CJij00Yc0wZKjROW8QxcuFli5h0tRe8zNWMeH6raf8noAir9qoJFvmlO7CxltJ8Te3rMj66bE+Xoyub/7SmlpizhI7gS5Gy2kLJvVBsf3UMhsIXKRS9TAK6y+KgiE9TWTzgmshj57NkIOEIr1o680hAcgHgE4Ioy2wqoAoIKVlO6kE+Peb72xXH9cOOSQhCZv3X68TVGnosKzAhZWuO+J6EJ1v9v7XpVdJEEzUyYXgqG95tZ5sL9YskFsZko= + - secure: u4L8AlquJgwcfWA3yooJTp/4+mh9x4KOMAsNJQE/BWYhsSbB35B/XAadidWYtvGY6DTZW7NQPi/IeRVyfZPYQZeMlmdsq6bV3T7R/AYPXNmglXMHjpBog59gYSsjnXpycAE6+kTLzHFykVVUkegBOHPJRT71ZNj9gqJogTqGizC3lSYAPqTJb3PbQl3TsJmFjkwWhUrzoj/LSuqwQZT3aPxeDRQ7H2D66U/WqbmbWBpIGGJ+EV2OZdjZYVJ+gcBicC5UB7KGjwwwMi8MVBlo4bdOnxrGGmVmuFRe8c4aZD/cq+9XPHhPU4iUXgOf4yNi7kW0J5LHh/kZUl1mG9Xz1iIgCNHFU9o/x4KFnauLUHsQV8UhYJOV1QqOO+SXRI2XREgIEA/9LQio78dynWAw3iWrk8c8kHOZ+R7uyk88BxEP0tjBlwfJm4ukEjj0a2TCxjg0hE5GTTcTioanjqiUpMvyJ5CITnf+dHGxGf9x1OhG8Qbjd/BEh3L0Wc+tNQGPi5sVPomA0OkmmLu9FWEFX95maZL8iOBy6DC27JHRw2vevY2wNJnkHESlaYLdLQZ7mgdmn6T211hDto3ojckxwYmSrZnVluRez4e8KwQ/sCABMY918VcD4tZLObpm9fqu55rR+XyTzkxbw7C3xj4EHQT4isQPVU3oMKeeCYs3FiU= + - secure: XyVKWRDLwo8wxt/jnndXh4jGt/AhZnj4Wqg4eJyJlsG+eXX8PREvYtlVyNmE1RWUunkYvYQK6hSIvwQmC5NCkI8bIAxKeDpqYaXuhidId6D8sq3hzpHE2vrfXn4ZkNNd7KI8qEpAg1r4wLOoxx+a+4Go1w7TyBmv/jXWc6WhqlropkGY7xzganphET/Fn+rsnZEhZga/obbYqASt/KRLY4arBYTAX/2+NiHiKQ2HT3Tq4v7Xcq5uqbfPOVDvlo/xagLKLfmogmUoxZ6DVgZZV38qirrcXUah7pwA8fikUvlAyS5pfEByg7rFCZIFPehI0+B70lmX/eznJkLl8sqxCC+TyZQlORsiyhZCMaX9y7VhKWO3tSoif2+5SBqenowiKi2MRiAZf/rgF/xeQPpmo/1E0zUNaM9H/DvFQR6H6kl8g9ilvbViqly1Uz+DdTtEiy3MoFTEAuTO7HvAxve+4/3J7dMzLyCpzpka1StttTjNe4hXe0V1lAxOmxJFWaQGYj2fjWFHJhB6PopoVBR90DjAVJfruCEvfhe+bDIDZbvpBiX0XafavYx3rn+dKfzSK4HzIty1rH4IrXDByZMxwNN3n3DE+ToBOoH5dpR4PVMv2dmjsKzLFT9XQ051SXhdn864YShX4dls9SOPChkSLGU3g3MICBdpBwq2MTbWGS8= + - secure: tjnbsB6ZjeeetXRp1PAyV2Zfj+C/dSfuyCjUwiMh0LvPSIJrWyLQfuA3pU+JjHi8ubwLYshGx1L5in3vTvvPQxZ+plzvy/qT1cmIeqj86Hv8BN1tDcfFzAnoefs4KB0AmLirfdhFYjXaulzni+/X5QyThtK15XlidmVHIuXZykw9VWfjVA0dIOxunLY+SNxFD41iVLaAjRHBA8ZqvJMB/zCNDBe0VXz8S75kOLoZ9LsOMRmWZ+pmwskDcPC/LPpwG7WfI2haQQG47UTQlM0C9LfTujZ8NjLRIgAOQylbJw3T/HwVoFbrhOBSKtHr9hdfjvTy3RVDNnPUXS2gqo7HcC6I3Z53ATvN13j+2e/jwv0i9JqVCAqw9woHZqOEDD6OnDp9grfMa8/diRJUBCJPwTfszD01vp5mHEsJov5doSwd5sNI8pxOOt2qPAoomsZ4V63nh4r7/PZw5sx5j4LxeerbHlSdxxqav+mSUYmA5ajhmwvnmTQoIYftxFNEvtMJcYopTO/3zMl85hYi9hifAfA9fL4/+ScFRc0kKYkkZbPX8ubx0u96Su1FrP006cPl9p7PUeYXFL3prJcvU7CXi5P63/c6FvHWB2ZPf9OT7UuBnjIYGVGjs/YM1iYxWNOrvu5fqyjBoTNfcG754RoB1zrjudtaEU4pbmlIGOyOm/4= diff --git a/README.md b/README.md index 92a0581..35d1c25 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# tracers.java [![Maven Central](https://img.shields.io/maven-central/v/org.algorithm-visualizer/tracers-java.svg?style=flat-square)](https://search.maven.org/artifact/org.algorithm-visualizer/tracers-java) +# tracers.java [![Maven Central](https://img.shields.io/maven-central/v/org.algorithm-visualizer/tracers-java.svg?style=flat-square)](https://search.maven.org/artifact/org.algorithm-visualizer/tracers-java) [![Travis (.com)](https://img.shields.io/travis/com/algorithm-visualizer/tracers.java.svg?style=flat-square)](https://travis-ci.com/algorithm-visualizer/tracers.java) > This repository is part of the project [Algorithm Visualizer](https://github.com/algorithm-visualizer). diff --git a/build.gradle b/build.gradle index 8bf49b0..729e19e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,13 @@ plugins { + id 'de.marcphilipp.nexus-publish' version '0.2.0' id 'io.codearte.nexus-staging' version '0.21.0' } apply plugin: 'java-library' -apply plugin: 'maven' apply plugin: 'signing' group = 'org.algorithm-visualizer' -version = '2.3.4' +version = '2.3.5' sourceCompatibility = 1.8 repositories { @@ -18,65 +18,66 @@ dependencies { implementation 'com.google.code.gson:gson:2.8.5' } -task javadocJar(type: Jar) { - classifier = 'javadoc' - from javadoc -} - task sourcesJar(type: Jar) { classifier = 'sources' from sourceSets.main.allSource } -artifacts { - archives javadocJar, sourcesJar +task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc +} + +allprojects { + ext.'signing.keyId' = System.getenv('SIGNING_KEY_ID') + ext.'signing.password' = System.getenv('SIGNING_PASSWORD') + ext.'signing.secretKeyRingFile' = 'pubring.gpg' } signing { - sign configurations.archives + sign publishing.publications } -uploadArchives { - repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } +nexusStaging { + username = System.getenv('OSSRH_USERNAME') + password = System.getenv('OSSRH_PASSWORD') + packageGroup = 'org.algorithm-visualizer' + stagingProfileId = "bf87e8672f1be7" +} - pom.project { - name 'tracers.java' +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + artifact sourcesJar + artifact javadocJar + pom { packaging 'jar' - // optionally artifactId can be defined here - description 'Visualization Library for Java' - url 'https://github.com/algorithm-visualizer/tracers.java' + name = 'tracers.java' + description = 'Visualization Library for Java' + url = 'https://github.com/algorithm-visualizer/tracers.java' scm { - connection 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' - developerConnection 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' - url 'https://github.com/algorithm-visualizer/tracers.java' + connection = 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' + developerConnection = 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' + url = 'https://github.com/algorithm-visualizer/tracers.java' } licenses { license { - name 'The MIT License (MIT)' - url 'http://opensource.org/licenses/MIT' + name = 'The MIT License (MIT)' + url = 'http://opensource.org/licenses/MIT' } } developers { developer { - id 'parkjs814' - name 'Jinseo Jason Park' - email 'jason.park@gatech.edu' + id = 'parkjs814' + name = 'Jinseo Jason Park' + email = 'jason.park@gatech.edu' } } } } } -} +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d2c45a4..44e7c4d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/scripts/deploy.sh b/scripts/deploy.sh deleted file mode 100755 index 74da4d4..0000000 --- a/scripts/deploy.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -PROJECT_ROOT="$(dirname "$0")/.." - -cd ${PROJECT_ROOT} && - -openssl aes-256-cbc -K $encrypted_1d787f3de7c3_key -iv $encrypted_1d787f3de7c3_iv -in pubring.gpg.enc -out pubring.gpg -d && - -./gradlew uploadArchives && - -./gradlew closeAndReleaseRepository diff --git a/src/test/java/org/algorithm_visualizer/Test.java b/src/test/java/org/algorithm_visualizer/Test.java index c8f1969..3f41bb7 100644 --- a/src/test/java/org/algorithm_visualizer/Test.java +++ b/src/test/java/org/algorithm_visualizer/Test.java @@ -40,6 +40,6 @@ void highlight(int line) { } public static void main(String[] args) { - new Test(); + throw new Error("aweg"); } } From 7bc793c87611f437d5b044fa4929a8eb881f2e98 Mon Sep 17 00:00:00 2001 From: Jason Park Date: Fri, 21 Jun 2019 17:10:08 +0900 Subject: [PATCH 05/12] Add pubring.gpg to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index de2c62e..62bee05 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /build /out .DS_Store +pubring.gpg From 35c2442ae9f792bea76e962451968eae07ab4975 Mon Sep 17 00:00:00 2001 From: Jinseo Park Date: Fri, 21 Jun 2019 17:57:49 +0900 Subject: [PATCH 06/12] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 35d1c25..741118b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# tracers.java [![Maven Central](https://img.shields.io/maven-central/v/org.algorithm-visualizer/tracers-java.svg?style=flat-square)](https://search.maven.org/artifact/org.algorithm-visualizer/tracers-java) [![Travis (.com)](https://img.shields.io/travis/com/algorithm-visualizer/tracers.java.svg?style=flat-square)](https://travis-ci.com/algorithm-visualizer/tracers.java) +# tracers.java [![Maven Central](https://img.shields.io/maven-central/v/org.algorithm-visualizer/tracers-java.svg?style=flat-square)](https://search.maven.org/artifact/org.algorithm-visualizer/tracers-java) [![API reference](https://img.shields.io/badge/documentation-java-red.svg?style=flat-square)](https://javadoc.io/doc/org.algorithm-visualizer/tracers-java/) [![Travis (.com)](https://img.shields.io/travis/com/algorithm-visualizer/tracers.java.svg?style=flat-square)](https://travis-ci.com/algorithm-visualizer/tracers.java) > This repository is part of the project [Algorithm Visualizer](https://github.com/algorithm-visualizer). @@ -37,7 +37,7 @@ class Main { } ``` -Check out the [API reference](https://github.com/algorithm-visualizer/algorithm-visualizer/wiki) for more information. +Check out the [API reference](https://javadoc.io/doc/org.algorithm-visualizer/tracers-java/) for more information. ## Contributing From 0a2af2eeb87b81cf0def5b1055515eb8b15033ec Mon Sep 17 00:00:00 2001 From: Jason Park Date: Sat, 22 Jun 2019 05:48:43 +0900 Subject: [PATCH 07/12] Use JitPack instead of Sonatype/MavenCentral to publish --- .travis.yml | 13 ---------- build.gradle | 64 ++++-------------------------------------------- pubring.gpg.enc | Bin 2640 -> 0 bytes settings.gradle | 1 - 4 files changed, 5 insertions(+), 73 deletions(-) delete mode 100644 pubring.gpg.enc delete mode 100644 settings.gradle diff --git a/.travis.yml b/.travis.yml index cad012e..b69ff53 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,23 +7,10 @@ cache: directories: - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ -before_install: openssl aes-256-cbc -K ${encrypted_1d787f3de7c3_key} -iv ${encrypted_1d787f3de7c3_iv} -in pubring.gpg.enc -out pubring.gpg -d deploy: - - provider: script - script: ./gradlew publish closeAndReleaseRepository - skip_cleanup: true - on: - branch: master - tags: true - provider: releases api_key: secure: Va5i+Jn2pDMm+65t3rA7rA7AkOl0zmQhecCXkvHTdxq/ETWlWGlt9YBN17wWW8rHQx4BPfN/PSpvisTaevTyWBlc7bVnHJlPOBVYk13El0q8H45EMmNuGZveL9suN7q+l6oZk3ZHA8Y5OCHr7jvnXnMa5XfBM5N1am27lFXrSx/+CsPyVnmP+m2g2U0iLAJNnW4H/eU3hJzKsf9LwbPlLGdH6t1CdOQOhBsMr/yOe3ThRjkRQ49XGwl8XXewkA7AsItGUxBQkAqMBwv5NuiGCcNK7oiiDGI8z8ZDZasedHzWlx9NgIdCLv6XGXV/5UK/MsuFjF2V+Bx4WRryh7ERwjMmcucutEejpxO/zlPwdKD6nCmcYZQmR9ITlp2v1Efn41p7x/uyFfmIGJGNTJ3hLK5uHPQSn+ahCbF/0y5Mbwz3u8U0mYxukOKHRoJs812ubezsM2IOvyPCkYtBiSHVLB13l9uuWZfVU85nUuyHzcLMacIvqic7YxDgbbP4c4ZW8kYeHONRGu+sgWj00iLMRClcjR+UdjISEqBxa36XCxUVaHq3btVnhiUq37YBLoorEtxN1Pz27JGAmxDlTm9s3cx4FLW+A1CbAg17D6eg9tqziOkcBEzAkAD0DvH/GWEZkuSuE3aiujJTc7qhOWONU3WR062Ow/c6QU2bCMpQPOs= on: branch: master tags: true -env: - global: - - secure: c3f4qPFpEGq7NB5rnJO8lBPmAIdqlCNx1KLtyOzIknOJuL/Dv8FrSqiaFjOfxRC9wqYDKuhPRUFDd6o6JF2+t7CZDdrABTVXw2akcTcQxSWYwSviLCLek6fb/5LPA0FW63bYUcTj7thfVkWdxIen7wToQOkYOz/RJXU9CE21/T4DxnaOgZIoXaFqEuYCT/YZrT5DRQSZ2AmecgHx1Q+z2qlGRI3SEVPrVGiA3pu1KNGvIQryhnIn6mxsQ1fI0vbTOUaekZcatLKmscxbqbWKoC8Gx76sj7w7Azai7ihEVii/5EBSKwIfo6BdH3KfKk7IlJCj27T7Y3inqrzQ7ojVq1XUAYytCjMwQAFTjY6UfGfOzZ0Y8ef84wj5zbBSxWx7YDQKEI3fmhE/BiPiuXsZ8F8qut45hsQrqCynDhlz/BnMOr6CJij00Yc0wZKjROW8QxcuFli5h0tRe8zNWMeH6raf8noAir9qoJFvmlO7CxltJ8Te3rMj66bE+Xoyub/7SmlpizhI7gS5Gy2kLJvVBsf3UMhsIXKRS9TAK6y+KgiE9TWTzgmshj57NkIOEIr1o680hAcgHgE4Ioy2wqoAoIKVlO6kE+Peb72xXH9cOOSQhCZv3X68TVGnosKzAhZWuO+J6EJ1v9v7XpVdJEEzUyYXgqG95tZ5sL9YskFsZko= - - secure: u4L8AlquJgwcfWA3yooJTp/4+mh9x4KOMAsNJQE/BWYhsSbB35B/XAadidWYtvGY6DTZW7NQPi/IeRVyfZPYQZeMlmdsq6bV3T7R/AYPXNmglXMHjpBog59gYSsjnXpycAE6+kTLzHFykVVUkegBOHPJRT71ZNj9gqJogTqGizC3lSYAPqTJb3PbQl3TsJmFjkwWhUrzoj/LSuqwQZT3aPxeDRQ7H2D66U/WqbmbWBpIGGJ+EV2OZdjZYVJ+gcBicC5UB7KGjwwwMi8MVBlo4bdOnxrGGmVmuFRe8c4aZD/cq+9XPHhPU4iUXgOf4yNi7kW0J5LHh/kZUl1mG9Xz1iIgCNHFU9o/x4KFnauLUHsQV8UhYJOV1QqOO+SXRI2XREgIEA/9LQio78dynWAw3iWrk8c8kHOZ+R7uyk88BxEP0tjBlwfJm4ukEjj0a2TCxjg0hE5GTTcTioanjqiUpMvyJ5CITnf+dHGxGf9x1OhG8Qbjd/BEh3L0Wc+tNQGPi5sVPomA0OkmmLu9FWEFX95maZL8iOBy6DC27JHRw2vevY2wNJnkHESlaYLdLQZ7mgdmn6T211hDto3ojckxwYmSrZnVluRez4e8KwQ/sCABMY918VcD4tZLObpm9fqu55rR+XyTzkxbw7C3xj4EHQT4isQPVU3oMKeeCYs3FiU= - - secure: XyVKWRDLwo8wxt/jnndXh4jGt/AhZnj4Wqg4eJyJlsG+eXX8PREvYtlVyNmE1RWUunkYvYQK6hSIvwQmC5NCkI8bIAxKeDpqYaXuhidId6D8sq3hzpHE2vrfXn4ZkNNd7KI8qEpAg1r4wLOoxx+a+4Go1w7TyBmv/jXWc6WhqlropkGY7xzganphET/Fn+rsnZEhZga/obbYqASt/KRLY4arBYTAX/2+NiHiKQ2HT3Tq4v7Xcq5uqbfPOVDvlo/xagLKLfmogmUoxZ6DVgZZV38qirrcXUah7pwA8fikUvlAyS5pfEByg7rFCZIFPehI0+B70lmX/eznJkLl8sqxCC+TyZQlORsiyhZCMaX9y7VhKWO3tSoif2+5SBqenowiKi2MRiAZf/rgF/xeQPpmo/1E0zUNaM9H/DvFQR6H6kl8g9ilvbViqly1Uz+DdTtEiy3MoFTEAuTO7HvAxve+4/3J7dMzLyCpzpka1StttTjNe4hXe0V1lAxOmxJFWaQGYj2fjWFHJhB6PopoVBR90DjAVJfruCEvfhe+bDIDZbvpBiX0XafavYx3rn+dKfzSK4HzIty1rH4IrXDByZMxwNN3n3DE+ToBOoH5dpR4PVMv2dmjsKzLFT9XQ051SXhdn864YShX4dls9SOPChkSLGU3g3MICBdpBwq2MTbWGS8= - - secure: tjnbsB6ZjeeetXRp1PAyV2Zfj+C/dSfuyCjUwiMh0LvPSIJrWyLQfuA3pU+JjHi8ubwLYshGx1L5in3vTvvPQxZ+plzvy/qT1cmIeqj86Hv8BN1tDcfFzAnoefs4KB0AmLirfdhFYjXaulzni+/X5QyThtK15XlidmVHIuXZykw9VWfjVA0dIOxunLY+SNxFD41iVLaAjRHBA8ZqvJMB/zCNDBe0VXz8S75kOLoZ9LsOMRmWZ+pmwskDcPC/LPpwG7WfI2haQQG47UTQlM0C9LfTujZ8NjLRIgAOQylbJw3T/HwVoFbrhOBSKtHr9hdfjvTy3RVDNnPUXS2gqo7HcC6I3Z53ATvN13j+2e/jwv0i9JqVCAqw9woHZqOEDD6OnDp9grfMa8/diRJUBCJPwTfszD01vp5mHEsJov5doSwd5sNI8pxOOt2qPAoomsZ4V63nh4r7/PZw5sx5j4LxeerbHlSdxxqav+mSUYmA5ajhmwvnmTQoIYftxFNEvtMJcYopTO/3zMl85hYi9hifAfA9fL4/+ScFRc0kKYkkZbPX8ubx0u96Su1FrP006cPl9p7PUeYXFL3prJcvU7CXi5P63/c6FvHWB2ZPf9OT7UuBnjIYGVGjs/YM1iYxWNOrvu5fqyjBoTNfcG754RoB1zrjudtaEU4pbmlIGOyOm/4= diff --git a/build.gradle b/build.gradle index 729e19e..41dbebc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,8 @@ -plugins { - id 'de.marcphilipp.nexus-publish' version '0.2.0' - id 'io.codearte.nexus-staging' version '0.21.0' -} - apply plugin: 'java-library' -apply plugin: 'signing' +apply plugin: 'maven-publish' group = 'org.algorithm-visualizer' -version = '2.3.5' +version = '2.3.6' sourceCompatibility = 1.8 repositories { @@ -28,56 +23,7 @@ task javadocJar(type: Jar) { from javadoc } -allprojects { - ext.'signing.keyId' = System.getenv('SIGNING_KEY_ID') - ext.'signing.password' = System.getenv('SIGNING_PASSWORD') - ext.'signing.secretKeyRingFile' = 'pubring.gpg' -} - -signing { - sign publishing.publications -} - -nexusStaging { - username = System.getenv('OSSRH_USERNAME') - password = System.getenv('OSSRH_PASSWORD') - packageGroup = 'org.algorithm-visualizer' - stagingProfileId = "bf87e8672f1be7" +artifacts { + archives sourcesJar + archives javadocJar } - -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - artifact sourcesJar - artifact javadocJar - pom { - packaging 'jar' - name = 'tracers.java' - description = 'Visualization Library for Java' - url = 'https://github.com/algorithm-visualizer/tracers.java' - - scm { - connection = 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' - developerConnection = 'scm:git:git@github.com:algorithm-visualizer/tracers.java.git' - url = 'https://github.com/algorithm-visualizer/tracers.java' - } - - licenses { - license { - name = 'The MIT License (MIT)' - url = 'http://opensource.org/licenses/MIT' - } - } - - developers { - developer { - id = 'parkjs814' - name = 'Jinseo Jason Park' - email = 'jason.park@gatech.edu' - } - } - } - } - } -} \ No newline at end of file diff --git a/pubring.gpg.enc b/pubring.gpg.enc deleted file mode 100644 index 98068dcd02e895cd20186afb75be66140241549d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2640 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 diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 48a87c3..0000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'tracers-java' From aeac318aa08e87f3c9a73ad688d74a819f711630 Mon Sep 17 00:00:00 2001 From: Jason Park Date: Sat, 22 Jun 2019 06:26:48 +0900 Subject: [PATCH 08/12] Test JitPack build --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 41dbebc..b893296 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ apply plugin: 'java-library' -apply plugin: 'maven-publish' +apply plugin: 'maven' group = 'org.algorithm-visualizer' -version = '2.3.6' +version = '2.3.7' sourceCompatibility = 1.8 repositories { From 086f3aa57bbd2ad56633b8cbb29923d9206f8cc6 Mon Sep 17 00:00:00 2001 From: Jason Park Date: Sun, 23 Jun 2019 02:49:25 +0900 Subject: [PATCH 09/12] Automate publishing Javadoc and deploying `extractor.java` --- .travis.yml | 36 +++++++++++++++++++++++++++++++----- .travis/extractor.sh | 29 +++++++++++++++++++++++++++++ .travis/jitpack.sh | 21 +++++++++++++++++++++ README.md | 33 +++++++++++++++++++++++++++------ build.gradle | 2 +- 5 files changed, 109 insertions(+), 12 deletions(-) create mode 100755 .travis/extractor.sh create mode 100755 .travis/jitpack.sh diff --git a/.travis.yml b/.travis.yml index b69ff53..188145b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,12 +5,38 @@ before_cache: - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ cache: directories: - - $HOME/.gradle/caches/ - - $HOME/.gradle/wrapper/ + - "$HOME/.gradle/caches/" + - "$HOME/.gradle/wrapper/" deploy: + # Publish Javadoc to GitHub Pages + - provider: pages + skip_cleanup: true + github_token: $GITHUB_ACCESS_TOKEN + local_dir: build/docs/javadoc + keep_history: true + on: + tags: true + + # Create a GitHub release - provider: releases - api_key: - secure: Va5i+Jn2pDMm+65t3rA7rA7AkOl0zmQhecCXkvHTdxq/ETWlWGlt9YBN17wWW8rHQx4BPfN/PSpvisTaevTyWBlc7bVnHJlPOBVYk13El0q8H45EMmNuGZveL9suN7q+l6oZk3ZHA8Y5OCHr7jvnXnMa5XfBM5N1am27lFXrSx/+CsPyVnmP+m2g2U0iLAJNnW4H/eU3hJzKsf9LwbPlLGdH6t1CdOQOhBsMr/yOe3ThRjkRQ49XGwl8XXewkA7AsItGUxBQkAqMBwv5NuiGCcNK7oiiDGI8z8ZDZasedHzWlx9NgIdCLv6XGXV/5UK/MsuFjF2V+Bx4WRryh7ERwjMmcucutEejpxO/zlPwdKD6nCmcYZQmR9ITlp2v1Efn41p7x/uyFfmIGJGNTJ3hLK5uHPQSn+ahCbF/0y5Mbwz3u8U0mYxukOKHRoJs812ubezsM2IOvyPCkYtBiSHVLB13l9uuWZfVU85nUuyHzcLMacIvqic7YxDgbbP4c4ZW8kYeHONRGu+sgWj00iLMRClcjR+UdjISEqBxa36XCxUVaHq3btVnhiUq37YBLoorEtxN1Pz27JGAmxDlTm9s3cx4FLW+A1CbAg17D6eg9tqziOkcBEzAkAD0DvH/GWEZkuSuE3aiujJTc7qhOWONU3WR062Ow/c6QU2bCMpQPOs= + api_key: $GITHUB_ACCESS_TOKEN + on: + tags: true + + # Trigger JitPack to build + - provider: script + script: .travis/jitpack.sh $TRAVIS_TAG + on: + tags: true + + # Trigger Travis CI to deploy `extractor.java` + - provider: script + script: .travis/extractor.sh $TRAVIS_TAG $TRAVIS_ACCESS_TOKEN on: - branch: master tags: true +env: + global: + # GITHUB_ACCESS_TOKEN + - secure: hEgt5ke7q8FouZlRjKTq6eXWSKOAzEK3Li8ffBl7WdcXgorRH7C6dY4aXldHNaG4+R2FCOSzwf8ke5XYZRJT/J45QKWAapJ/hTOqzjD2kWBf0sBcshLrSsyKWx3o6n0jaO8Owv+pgw0f4IcEIOoGW0Lj6Sq1RmErn6i8Whi9FIV9BSKG/ICpyPA+iqqpwYdZzP87D/w4wrlYzSOwLfmM08m46n/xsBiazNFH+Urj4/a9Lo2doA6FoCcFyc8wPQ0naX/y1Mj2UyJdlhVAqgmHGZ06DWpl8sUAXos/gCLOrSRgittjyDh+echRsziIJCBuIHdx1vSyUWiGpLzrb42FM6QuD0GoqqXbK84dm9rdK43rO/jBbGgib5xJK3itguqRk6BlSgMoYMZ5Fiv4uo42UDwgz+XF6xfw84eJdbwk+GtGzN5VgH9Qgnkl6sDsEkvPUAR6tlXvqP8s9Jkvkc4Xte4pXDL/m8Penv3ZBfwGsQQXB6tYEVS452HbhqPPRgrGM0LTGXIf/GyfLq2wEl1xVHZNcb7IP/I61X5A6B9szhtITqft6YEmAgyB8wdoQh8g/7pl8cFIh1kRvzS/MzMBaYhORS1kDbukYFLvscVwLwedUohsNlfpek744E1OUP26YYxwPF1NU2ym1R/hZ/M8O/C2gwAa8bZtRKQcQDDv/GY= + # TRAVIS_ACCESS_TOKEN + - secure: r2CXlCj8MkmlF+TPpBaRXy8Kl7leMAY5LrkUcQ4dU0MvCoAH1oGmGTitCIfjny0AFhCaGZu7jelTGI2SqZ115c1HYF/e4sXglrXWRU84LZjR+zro8hHmGTXrYZfhO5zYHmQYU6CfO8N5LWFlAzPgxrgRVJRKTyxv1JEc/dhIY0zjdbxE4cdCCIsLykPA6YG65w8OJbMnP4iZugmoBumh+Nr51bg8Ml72new8z6amVjKQC+xBVdwR+WWHPa7OE77B5eRd55jlLuUc9P8KZjYXm5VMVEQJnuTtI2X7roTDVszXGNT3cVCJQH44m3H4w1W8GHFU+SBOiyO4Yu0f0ecncvuH/P0LrwGvxotkpZiDK7CIfAoJKrNiCitUcU8ouuE+vX1wLio30L3CkrWxSHryp/MPYQTES1s26MeXuISf2R+twozmXQg/Cnpxw5WS8txzKNbwISlEJVXYMn80qHs7Jk9yGVzxgWEF3TZyWJwupRZbpruzQzz9+khPkyvyZd5kICb+85nL1Pxdbp3IirIoBJ40opnDahFWbx+KAkEx9OcVcxofDGr2gqRu15VW2OPhVE4NMtxMFeXFp+rhec32Pj2nhxk+IU8DwhG26yw/g/uUchIAN/7QXrppPsHY1D6hwtAkdg/42lZdzJHnivebLE58biRlFumBa24i4uyMWXU= diff --git a/.travis/extractor.sh b/.travis/extractor.sh new file mode 100755 index 0000000..53eceaf --- /dev/null +++ b/.travis/extractor.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +TRAVIS_TAG=$1 +TRAVIS_ACCESS_TOKEN=$2 +GITHUB_USER="algorithm-visualizer" +GITHUB_REPO="extractor.java" + +BODY="{ + \"request\": { + \"branch\": \"master\", + \"config\": { + \"env\": { + \"TRACERS_VERSION\": \"${TRAVIS_TAG}\" + } + } + } +}" + +STATUS_CODE=$(curl -s -o /dev/stderr -w "%{http_code}" -X POST \ + -H "Content-Type: application/json" \ + -H "Accept: application/json" \ + -H "Travis-API-Version: 3" \ + -H "Authorization: token ${TRAVIS_ACCESS_TOKEN}" \ + -d "${BODY}" \ + "https://api.travis-ci.com/repo/${GITHUB_USER}%2F${GITHUB_REPO}/requests") + +if [[ ${STATUS_CODE} != 2* ]]; then + exit 1 +fi diff --git a/.travis/jitpack.sh b/.travis/jitpack.sh new file mode 100755 index 0000000..5763883 --- /dev/null +++ b/.travis/jitpack.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +TRAVIS_TAG=$1 +MAX_RETRIES=42 +INTERVAL=5 + +for (( i=1; i<=MAX_RETRIES; ++i)); do + STATUS_CODE=$(curl -s -o /dev/stderr -w "%{http_code}" \ + -H "Content-Type: application/json" \ + -H "Accept: application/json" \ + -H "Travis-API-Version: 3" \ + "https://jitpack.io/org/algorithm-visualizer/tracers.java/${TRAVIS_TAG}/tracers.java-${TRAVIS_TAG}.pom") + if [[ ${STATUS_CODE} == 2* ]]; then + exit 0 + fi + echo " (${i}/${MAX_RETRIES})" + if [[ ${i} < ${MAX_RETRIES} ]]; then + sleep ${INTERVAL} + fi +done +exit 1 diff --git a/README.md b/README.md index 741118b..0069b66 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# tracers.java [![Maven Central](https://img.shields.io/maven-central/v/org.algorithm-visualizer/tracers-java.svg?style=flat-square)](https://search.maven.org/artifact/org.algorithm-visualizer/tracers-java) [![API reference](https://img.shields.io/badge/documentation-java-red.svg?style=flat-square)](https://javadoc.io/doc/org.algorithm-visualizer/tracers-java/) [![Travis (.com)](https://img.shields.io/travis/com/algorithm-visualizer/tracers.java.svg?style=flat-square)](https://travis-ci.com/algorithm-visualizer/tracers.java) +# tracers.java [![JitPack](https://img.shields.io/jitpack/v/github/algorithm-visualizer/tracers.java.svg?style=flat-square)](https://jitpack.io/#org.algorithm-visualizer/tracers.java) [![API reference](https://img.shields.io/badge/documentation-java-red.svg?style=flat-square)](https://algorithm-visualizer.github.io/tracers.java/) [![Travis (.com)](https://img.shields.io/travis/com/algorithm-visualizer/tracers.java.svg?style=flat-square)](https://travis-ci.com/algorithm-visualizer/tracers.java) > This repository is part of the project [Algorithm Visualizer](https://github.com/algorithm-visualizer). @@ -6,19 +6,40 @@ You can use it on [algorithm-visualizer.org](https://algorithm-visualizer.org/) or locally on your machine. ## Installation +### Gradle +1. Add the JitPack repository to `build.gradle`. + ```gradle + allprojects { + repositories { + jcenter() + maven { url "https://jitpack.io" } + } + } + ``` -- Gradle +2. Add the dependency. ```gradle dependencies { - implementation 'org.algorithm-visualizer:tracers-java:+' + implementation 'org.algorithm-visualizer:tracers.java:+' } ``` -- Maven +### Maven +1. Add the JitPack repository to `pom.xml`. ```xml + + + jitpack.io + https://jitpack.io + + + ``` + +2. Add the dependency. + ``` org.algorithm-visualizer - tracers-java + tracers.java [1.0.0,) ``` @@ -37,7 +58,7 @@ class Main { } ``` -Check out the [API reference](https://javadoc.io/doc/org.algorithm-visualizer/tracers-java/) for more information. +Check out the [API reference](https://algorithm-visualizer.github.io/tracers.java/) for more information. ## Contributing diff --git a/build.gradle b/build.gradle index b893296..a9cb376 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'java-library' apply plugin: 'maven' group = 'org.algorithm-visualizer' -version = '2.3.7' +version = '2.3.8' sourceCompatibility = 1.8 repositories { From efdf5c766012bb23b4a6b7cc7298374d96250779 Mon Sep 17 00:00:00 2001 From: Jason Park Date: Sun, 23 Jun 2019 19:45:16 +0900 Subject: [PATCH 10/12] Do not send tracers version when triggering build on `extractor.java` --- .travis.yml | 6 +++--- .travis/extractor.sh | 11 ++--------- build.gradle | 2 +- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 188145b..e0be2b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ before_cache: - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ cache: directories: - - "$HOME/.gradle/caches/" - - "$HOME/.gradle/wrapper/" + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ deploy: # Publish Javadoc to GitHub Pages - provider: pages @@ -31,7 +31,7 @@ deploy: # Trigger Travis CI to deploy `extractor.java` - provider: script - script: .travis/extractor.sh $TRAVIS_TAG $TRAVIS_ACCESS_TOKEN + script: .travis/extractor.sh $TRAVIS_ACCESS_TOKEN on: tags: true env: diff --git a/.travis/extractor.sh b/.travis/extractor.sh index 53eceaf..06b4f15 100755 --- a/.travis/extractor.sh +++ b/.travis/extractor.sh @@ -1,18 +1,11 @@ #!/usr/bin/env bash -TRAVIS_TAG=$1 -TRAVIS_ACCESS_TOKEN=$2 +TRAVIS_ACCESS_TOKEN=$1 GITHUB_USER="algorithm-visualizer" GITHUB_REPO="extractor.java" - BODY="{ \"request\": { - \"branch\": \"master\", - \"config\": { - \"env\": { - \"TRACERS_VERSION\": \"${TRAVIS_TAG}\" - } - } + \"branch\": \"master\" } }" diff --git a/build.gradle b/build.gradle index a9cb376..30d3cd5 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'java-library' apply plugin: 'maven' group = 'org.algorithm-visualizer' -version = '2.3.8' +version = '2.3.9' sourceCompatibility = 1.8 repositories { From 5cf5fdf40f651127d983e79fb9bbcfaf38b979f5 Mon Sep 17 00:00:00 2001 From: Jason Park Date: Sun, 23 Jun 2019 19:59:14 +0900 Subject: [PATCH 11/12] Remove the artifact of the same version if it already exists --- .travis.yml | 4 +++- .travis/jitpack.sh | 8 +++++++- build.gradle | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e0be2b2..5cd0b85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ deploy: # Trigger JitPack to build - provider: script - script: .travis/jitpack.sh $TRAVIS_TAG + script: .travis/jitpack.sh $JITPACK_ACCESS_TOKEN $TRAVIS_TAG on: tags: true @@ -40,3 +40,5 @@ env: - secure: hEgt5ke7q8FouZlRjKTq6eXWSKOAzEK3Li8ffBl7WdcXgorRH7C6dY4aXldHNaG4+R2FCOSzwf8ke5XYZRJT/J45QKWAapJ/hTOqzjD2kWBf0sBcshLrSsyKWx3o6n0jaO8Owv+pgw0f4IcEIOoGW0Lj6Sq1RmErn6i8Whi9FIV9BSKG/ICpyPA+iqqpwYdZzP87D/w4wrlYzSOwLfmM08m46n/xsBiazNFH+Urj4/a9Lo2doA6FoCcFyc8wPQ0naX/y1Mj2UyJdlhVAqgmHGZ06DWpl8sUAXos/gCLOrSRgittjyDh+echRsziIJCBuIHdx1vSyUWiGpLzrb42FM6QuD0GoqqXbK84dm9rdK43rO/jBbGgib5xJK3itguqRk6BlSgMoYMZ5Fiv4uo42UDwgz+XF6xfw84eJdbwk+GtGzN5VgH9Qgnkl6sDsEkvPUAR6tlXvqP8s9Jkvkc4Xte4pXDL/m8Penv3ZBfwGsQQXB6tYEVS452HbhqPPRgrGM0LTGXIf/GyfLq2wEl1xVHZNcb7IP/I61X5A6B9szhtITqft6YEmAgyB8wdoQh8g/7pl8cFIh1kRvzS/MzMBaYhORS1kDbukYFLvscVwLwedUohsNlfpek744E1OUP26YYxwPF1NU2ym1R/hZ/M8O/C2gwAa8bZtRKQcQDDv/GY= # TRAVIS_ACCESS_TOKEN - secure: r2CXlCj8MkmlF+TPpBaRXy8Kl7leMAY5LrkUcQ4dU0MvCoAH1oGmGTitCIfjny0AFhCaGZu7jelTGI2SqZ115c1HYF/e4sXglrXWRU84LZjR+zro8hHmGTXrYZfhO5zYHmQYU6CfO8N5LWFlAzPgxrgRVJRKTyxv1JEc/dhIY0zjdbxE4cdCCIsLykPA6YG65w8OJbMnP4iZugmoBumh+Nr51bg8Ml72new8z6amVjKQC+xBVdwR+WWHPa7OE77B5eRd55jlLuUc9P8KZjYXm5VMVEQJnuTtI2X7roTDVszXGNT3cVCJQH44m3H4w1W8GHFU+SBOiyO4Yu0f0ecncvuH/P0LrwGvxotkpZiDK7CIfAoJKrNiCitUcU8ouuE+vX1wLio30L3CkrWxSHryp/MPYQTES1s26MeXuISf2R+twozmXQg/Cnpxw5WS8txzKNbwISlEJVXYMn80qHs7Jk9yGVzxgWEF3TZyWJwupRZbpruzQzz9+khPkyvyZd5kICb+85nL1Pxdbp3IirIoBJ40opnDahFWbx+KAkEx9OcVcxofDGr2gqRu15VW2OPhVE4NMtxMFeXFp+rhec32Pj2nhxk+IU8DwhG26yw/g/uUchIAN/7QXrppPsHY1D6hwtAkdg/42lZdzJHnivebLE58biRlFumBa24i4uyMWXU= + # JITPACK_ACCESS_TOKEN + - secure: A+f57e4haNAGvWEJCz4uN9gEZsRq0Pz1M5V4AfdguJx1IbzedngxZwFMHm9oIVFnxyhpdJGguj1oX+suW+VZjBNhQ6/xats/H2YzP10mauTB84w9KSJTVymL/SyaDs6IbAcdSjAYirCOiqQ6l4YuCMToGjbc0BHMnFPPzJpu2TduVJtqOKcXc4TpA9L/heIvpE8psFw/yl9gToXmO5bGYyaeVltaiAd+045mbieCE4z7Tvb4zPCNeqDYiY9hwwZRID1JJMw8I4RYxUTv6QebWCZPjjKqp0/yz0OCdMjdqdPWEBdnHDi59+VNgaaUd7qqZcruQiI5GzojSz2Q/1dGHveXkOmtWbS/E8c9VF36hvK3Z4oqiNfPWgXFj188+cguPTF/ABcrz9oTyIh8mwHhLYgXWQjWE9pWddJ6FDdyGqtyaAPe1lOF4SR3qqSTuxNdVsx9Ll0VZPGVhWMmrUr6kJfhIIW/eCrUwsQVGoJoeYQEcf3EGEEa/NtzHdNbITy3EZ68Gg29Pf6T+dJE/HtnuMrMvLeaKRovk/Ry60yDPIwTQohBCl3r6uL2pSj7hxacP2byeAB4CxxweBeX/pPIEP6LzqYOdmJ9Tv42JgPFYlbf8gjXS2arJTl3+sOALWgKYO9wsFnCxaP3739j1l6W01hp1Xpc2px0c9+faSMzvRE= \ No newline at end of file diff --git a/.travis/jitpack.sh b/.travis/jitpack.sh index 5763883..31b6039 100755 --- a/.travis/jitpack.sh +++ b/.travis/jitpack.sh @@ -1,9 +1,15 @@ #!/usr/bin/env bash -TRAVIS_TAG=$1 +JITPACK_ACCESS_TOKEN=$1 +TRAVIS_TAG=$2 +GROUP_ID="org.algorithm-visualizer" +ARTIFACT_ID="tracers.java" MAX_RETRIES=42 INTERVAL=5 +# Remove the artifact of the same version if it already exists +curl -u${JITPACK_ACCESS_TOKEN}: -X DELETE "https://jitpack.io/api/builds/${GROUP_ID}/${ARTIFACT_ID}/${TRAVIS_TAG}" + for (( i=1; i<=MAX_RETRIES; ++i)); do STATUS_CODE=$(curl -s -o /dev/stderr -w "%{http_code}" \ -H "Content-Type: application/json" \ diff --git a/build.gradle b/build.gradle index 30d3cd5..843d83b 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'java-library' apply plugin: 'maven' group = 'org.algorithm-visualizer' -version = '2.3.9' +version = '2.3.10' sourceCompatibility = 1.8 repositories { From 12fa827899307be9499845ca5c2b337613899953 Mon Sep 17 00:00:00 2001 From: Jinseo Park Date: Sun, 30 Jun 2019 23:21:26 +0900 Subject: [PATCH 12/12] Update README.md --- README.md | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0069b66..674edf6 100644 --- a/README.md +++ b/README.md @@ -47,13 +47,49 @@ You can use it on [algorithm-visualizer.org](https://algorithm-visualizer.org/) ## Usage ```java +// import visualization libraries { import org.algorithm_visualizer.*; +// } class Main { - public static void main(String[] args) { - LogTracer logTracer = new LogTracer("Scratch Paper"); + // define tracer variables { + Array2DTracer array2dTracer = new Array2DTracer("Grid"); + LogTracer logTracer = new LogTracer("Console"); + // } + + // define input variables + String[] messages = { + "Visualize", + "your", + "own", + "code", + "here!", + }; + + // highlight each line of messages recursively + void highlight(int line) { + if (line >= messages.length) return; + String message = messages[line]; + // visualize { + logTracer.println(message); + array2dTracer.selectRow(line, 0, message.length() - 1); + Tracer.delay(); + array2dTracer.deselectRow(line, 0, message.length() - 1); + // } + highlight(line + 1); + } - logTracer.print("Visualize your own algorithm here!"); + Main() { + // visualize { + Layout.setRoot(new VerticalLayout(new Commander[]{array2dTracer, logTracer})); + array2dTracer.set(messages); + Tracer.delay(); + // } + highlight(0); + } + + public static void main(String[] args) { + new Main(); } } ``` pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy