kramdown-plantuml 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/scripts/build-gem.sh +6 -0
- data/.github/scripts/bundle-install.sh +6 -0
- data/.github/scripts/inspect-gem.sh +72 -0
- data/.github/scripts/publish-gem.sh +103 -0
- data/.github/scripts/test-gem.sh +140 -0
- data/.github/scripts/variables.sh +70 -0
- data/.github/workflows/no-java.yml +2 -4
- data/.github/workflows/no-plantuml.yml +5 -5
- data/.github/workflows/ruby.yml +113 -69
- data/.github/workflows/shell.yml +15 -0
- data/.gitignore +5 -0
- data/.rubocop.yml +17 -0
- data/Gemfile +4 -8
- data/LICENSE +201 -21
- data/README.md +31 -31
- data/Rakefile +16 -3
- data/kramdown-plantuml.gemspec +25 -17
- data/lib/kramdown-plantuml.rb +8 -4
- data/lib/kramdown-plantuml/converter.rb +29 -30
- data/lib/kramdown-plantuml/version.rb +3 -2
- data/lib/kramdown_html.rb +17 -9
- data/lib/which.rb +3 -0
- data/pom.xml +16 -0
- metadata +59 -9
- data/bin/console +0 -14
- data/bin/plantuml.1.2020.5.jar +0 -0
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71464ee363c4a9b9859ffd72421d6840d1f26018a0fdc20eaae4fa4f17011f26
|
4
|
+
data.tar.gz: f4cde15688ebcc236bfd2e3f5458c8d62722b8ff4fdac2767682f32643839013
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed9a469ba9ec78c8d498fab3cb412220466d76344aadceea56d89634f8f2b25523bc10566a023ecdd7e3a8fa7373a0c49d2677e5ceb6058206e913ffd5cb3a7b
|
7
|
+
data.tar.gz: 5d969b52c7cf030910cc6ffe6d0c85c7492487c421de35a40e9f6ca965bf35420761ca4be1540eba53eecb339154a94e212815525bd18529d96e3236b9949efb
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -e # Abort if any command fails
|
3
|
+
me=$(basename "$0")
|
4
|
+
|
5
|
+
help_message="\
|
6
|
+
Usage:
|
7
|
+
$me --gem <gem> [--verbose]
|
8
|
+
$me --help
|
9
|
+
Arguments:
|
10
|
+
-g, --gem <gem> The path to the Gem file to inspect.
|
11
|
+
-h, --help Displays this help screen.
|
12
|
+
-v, --verbose Increase verbosity. Useful for debugging."
|
13
|
+
|
14
|
+
parse_args() {
|
15
|
+
while : ; do
|
16
|
+
if [[ $1 = "-h" || $1 = "--help" ]]; then
|
17
|
+
echo "$help_message"
|
18
|
+
return 0
|
19
|
+
elif [[ $1 = "-v" || $1 = "--verbose" ]]; then
|
20
|
+
verbose=true
|
21
|
+
shift
|
22
|
+
elif [[ $1 = "-g" || $1 = "--gem" ]]; then
|
23
|
+
gem=$2
|
24
|
+
shift 2
|
25
|
+
else
|
26
|
+
break
|
27
|
+
fi
|
28
|
+
done
|
29
|
+
|
30
|
+
if [[ -z "$gem" ]]; then
|
31
|
+
echo "Missing required argument: --gem <gem>."
|
32
|
+
echo "$help_message"
|
33
|
+
return 1
|
34
|
+
fi
|
35
|
+
}
|
36
|
+
|
37
|
+
# Echo expanded commands as they are executed (for debugging)
|
38
|
+
enable_expanded_output() {
|
39
|
+
if [ $verbose ]; then
|
40
|
+
echo "Verbose mode enabled."
|
41
|
+
set -o xtrace
|
42
|
+
set +o verbose
|
43
|
+
fi
|
44
|
+
}
|
45
|
+
|
46
|
+
inspect_gem() {
|
47
|
+
gem unpack "$gem"
|
48
|
+
gem_dir="${gem%.*}"
|
49
|
+
|
50
|
+
if [ $verbose ]; then
|
51
|
+
echo "Files in '$gem_dir':"
|
52
|
+
find "$gem_dir"
|
53
|
+
fi
|
54
|
+
|
55
|
+
if [[ ! -d "$gem_dir/bin" ]]; then
|
56
|
+
echo "ERROR! 'bin' folder missing from '$gem'."
|
57
|
+
return 1
|
58
|
+
fi
|
59
|
+
|
60
|
+
if ! (find "$gem_dir" -iname "plantuml*.jar" | grep -q .); then
|
61
|
+
echo "ERROR! 'plantuml.jar' missing from '$gem'."
|
62
|
+
return 1
|
63
|
+
fi
|
64
|
+
}
|
65
|
+
|
66
|
+
main() {
|
67
|
+
parse_args "$@"
|
68
|
+
enable_expanded_output
|
69
|
+
inspect_gem
|
70
|
+
}
|
71
|
+
|
72
|
+
main "$@"
|
@@ -0,0 +1,103 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -e # Abort if any command fails
|
3
|
+
|
4
|
+
me=$(basename "$0")
|
5
|
+
|
6
|
+
help_message="\
|
7
|
+
Usage:
|
8
|
+
$me --gem <gem-path> --token <token> [--owner <owner>] [--verbose]
|
9
|
+
$me --help
|
10
|
+
Arguments:
|
11
|
+
-g, --gem <gem-path> The path of the Gem to publish.
|
12
|
+
-t, --token <token> The access token to use for publishing the gem to
|
13
|
+
the specified registry.
|
14
|
+
-o, --owner <owner> The owner to use when publishing to the GitHub
|
15
|
+
Package Registry. If empty, will publish to
|
16
|
+
RubyGems.org.
|
17
|
+
-h, --help Displays this help screen.
|
18
|
+
-v, --verbose Increase verbosity. Useful for debugging."
|
19
|
+
|
20
|
+
parse_args() {
|
21
|
+
while : ; do
|
22
|
+
if [[ $1 = "-h" || $1 = "--help" ]]; then
|
23
|
+
echo "$help_message"
|
24
|
+
return 0
|
25
|
+
elif [[ $1 = "-v" || $1 = "--verbose" ]]; then
|
26
|
+
verbose=true
|
27
|
+
shift
|
28
|
+
elif [[ $1 = "-g" || $1 = "--gem" ]]; then
|
29
|
+
gem=$2
|
30
|
+
shift 2
|
31
|
+
elif [[ $1 = "-t" || $1 = "--token" ]]; then
|
32
|
+
token=$2
|
33
|
+
shift 2
|
34
|
+
elif [[ $1 = "-o" || $1 = "--owner" ]]; then
|
35
|
+
owner=$2
|
36
|
+
shift 2
|
37
|
+
else
|
38
|
+
break
|
39
|
+
fi
|
40
|
+
done
|
41
|
+
|
42
|
+
if [[ -z "$gem" ]]; then
|
43
|
+
echo "Missing required argument: --gem <gem>."
|
44
|
+
echo "$help_message"
|
45
|
+
return 1
|
46
|
+
fi
|
47
|
+
|
48
|
+
if [[ -z "$token" ]]; then
|
49
|
+
echo "Missing required argument: --token <token>."
|
50
|
+
echo "$help_message"
|
51
|
+
return 1
|
52
|
+
fi
|
53
|
+
}
|
54
|
+
|
55
|
+
# Echo expanded commands as they are executed (for debugging)
|
56
|
+
enable_expanded_output() {
|
57
|
+
if [ $verbose ]; then
|
58
|
+
set -o xtrace
|
59
|
+
set +o verbose
|
60
|
+
fi
|
61
|
+
}
|
62
|
+
|
63
|
+
publish_gem() {
|
64
|
+
gem_home="$HOME/.gem"
|
65
|
+
credentials_file="$gem_home/credentials"
|
66
|
+
|
67
|
+
if [[ -n "$owner" ]]; then
|
68
|
+
auth_header="github: Bearer"
|
69
|
+
host="https://rubygems.pkg.github.com/$owner"
|
70
|
+
else
|
71
|
+
auth_header="rubygems_api_key:"
|
72
|
+
fi
|
73
|
+
|
74
|
+
mkdir -p "$gem_home"
|
75
|
+
touch "$credentials_file"
|
76
|
+
chmod 0600 "$credentials_file"
|
77
|
+
printf -- "---\n:%s %s\n" "$auth_header" "$token" > "$credentials_file"
|
78
|
+
|
79
|
+
if [[ -n "$host" ]]; then
|
80
|
+
if ! result=$(gem push --KEY github --host "$host" "$gem"); then
|
81
|
+
echo "ERROR: gem push failed."
|
82
|
+
|
83
|
+
if [[ $result == *"has already been pushed"* ]]; then
|
84
|
+
echo "ERROR: $gem has already been pushed."
|
85
|
+
# Silently ignore 'already been pushed' Gem errors.
|
86
|
+
return 0
|
87
|
+
else
|
88
|
+
echo "$result"
|
89
|
+
return 1
|
90
|
+
fi
|
91
|
+
fi
|
92
|
+
else
|
93
|
+
gem push "$gem"
|
94
|
+
fi
|
95
|
+
}
|
96
|
+
|
97
|
+
main() {
|
98
|
+
parse_args "$@"
|
99
|
+
enable_expanded_output
|
100
|
+
publish_gem
|
101
|
+
}
|
102
|
+
|
103
|
+
main "$@"
|
@@ -0,0 +1,140 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -o errexit # Abort if any command fails
|
3
|
+
me=$(basename "$0")
|
4
|
+
|
5
|
+
help_message="\
|
6
|
+
Usage:
|
7
|
+
$me --workdir <workdir> [--gemdir <gemdir> | --version <version> --token <token>] [--verbose]
|
8
|
+
$me --help
|
9
|
+
Arguments:
|
10
|
+
-w, --workdir <workdir> The path to the working directory.
|
11
|
+
-g, --gemdir <gemdir> The path to directory of the Gem file to test.
|
12
|
+
-v, --version <version> The version of the Gem to test.
|
13
|
+
-t, --token <token> The GitHub token to use for retrieving the gem
|
14
|
+
from the GitHub Package Registry.
|
15
|
+
-h, --help Displays this help screen.
|
16
|
+
-v, --verbose Increase verbosity. Useful for debugging."
|
17
|
+
|
18
|
+
parse_args() {
|
19
|
+
while : ; do
|
20
|
+
if [[ $1 = "-h" || $1 = "--help" ]]; then
|
21
|
+
echo "$help_message"
|
22
|
+
return 0
|
23
|
+
elif [[ $1 = "-v" || $1 = "--verbose" ]]; then
|
24
|
+
verbose=true
|
25
|
+
shift
|
26
|
+
elif [[ $1 = "-g" || $1 = "--gemdir" ]]; then
|
27
|
+
gemdir=$2
|
28
|
+
shift 2
|
29
|
+
elif [[ $1 = "-v" || $1 = "--version" ]]; then
|
30
|
+
version=$2
|
31
|
+
shift 2
|
32
|
+
elif [[ $1 = "-t" || $1 = "--token" ]]; then
|
33
|
+
token=$2
|
34
|
+
shift 2
|
35
|
+
elif [[ $1 = "-w" || $1 = "--workdir" ]]; then
|
36
|
+
workdir=$2
|
37
|
+
shift 2
|
38
|
+
else
|
39
|
+
break
|
40
|
+
fi
|
41
|
+
done
|
42
|
+
|
43
|
+
if [[ -z "$workdir" ]]; then
|
44
|
+
echo "Missing required argument: --workdir <workdir>."
|
45
|
+
echo "$help_message"
|
46
|
+
return 1
|
47
|
+
fi
|
48
|
+
|
49
|
+
if [[ (-z "$gemdir" && -z "$token") || (-n "$gemdir" && -n "$token") ]]; then
|
50
|
+
echo "Missing or invalid required arguments: --gemdir <gem-path> or --token <token>."
|
51
|
+
echo "Either [--gemdir] or [--token] needs to be provided, but not both."
|
52
|
+
echo "$help_message"
|
53
|
+
return 1
|
54
|
+
fi
|
55
|
+
|
56
|
+
if [[ (-n "$version" && -z "$token") || (-z "$version" && -n "$token") ]]; then
|
57
|
+
echo "Missing or invalid required arguments: --version <gem-path> and --token <token>."
|
58
|
+
echo "When either argument is present, both must be."
|
59
|
+
echo "$help_message"
|
60
|
+
return 1
|
61
|
+
fi
|
62
|
+
}
|
63
|
+
|
64
|
+
# Echo expanded commands as they are executed (for debugging)
|
65
|
+
enable_expanded_output() {
|
66
|
+
if [ $verbose ]; then
|
67
|
+
set -o xtrace
|
68
|
+
set +o verbose
|
69
|
+
fi
|
70
|
+
}
|
71
|
+
|
72
|
+
test_gem() {
|
73
|
+
cd "$workdir"
|
74
|
+
|
75
|
+
gem install bundler
|
76
|
+
|
77
|
+
if [[ -n "$token" ]]; then
|
78
|
+
# A non-empty $token means we should install the Gem from GPR
|
79
|
+
repository="https://rubygems.pkg.github.com/swedbankpay"
|
80
|
+
bundle config "$repository" "SwedbankPay:$token"
|
81
|
+
printf "source '%s' do\n\tgem 'kramdown-plantuml', '%s'\nend" "$repository" "$version" >> Gemfile
|
82
|
+
else
|
83
|
+
echo "gem 'kramdown-plantuml', path: '$gemdir'" >> Gemfile
|
84
|
+
fi
|
85
|
+
|
86
|
+
if [[ $verbose ]]; then
|
87
|
+
cat Gemfile
|
88
|
+
fi
|
89
|
+
|
90
|
+
bundle install
|
91
|
+
bundle exec jekyll build
|
92
|
+
|
93
|
+
file="$workdir/_site/index.html"
|
94
|
+
|
95
|
+
file_contains "$file" "class=\"plantuml\""
|
96
|
+
file_contains "$file" "<svg"
|
97
|
+
file_contains "$file" "<ellipse"
|
98
|
+
file_contains "$file" "<polygon"
|
99
|
+
file_contains "$file" "<path"
|
100
|
+
}
|
101
|
+
|
102
|
+
file_contains() {
|
103
|
+
file=$1
|
104
|
+
contents=$2
|
105
|
+
|
106
|
+
if [[ -z "$file" ]]; then
|
107
|
+
echo "file_contains missing required argument <file>."
|
108
|
+
return 1
|
109
|
+
fi
|
110
|
+
|
111
|
+
if [[ -z "$contents" ]]; then
|
112
|
+
echo "file_contains missing required argument <contents>."
|
113
|
+
return 1
|
114
|
+
fi
|
115
|
+
|
116
|
+
if [[ ! -f "$file" ]]; then
|
117
|
+
echo "file_contains <file> not found: '$file'."
|
118
|
+
return 1
|
119
|
+
fi
|
120
|
+
|
121
|
+
if grep --quiet --fixed-strings "$contents" "$file"; then
|
122
|
+
echo "Success! '$contents' found in '$file'."
|
123
|
+
else
|
124
|
+
echo "Failed! '$contents' not found in '$file'."
|
125
|
+
|
126
|
+
if [[ $verbose ]]; then
|
127
|
+
cat "$file"
|
128
|
+
fi
|
129
|
+
|
130
|
+
return 1
|
131
|
+
fi
|
132
|
+
}
|
133
|
+
|
134
|
+
main() {
|
135
|
+
parse_args "$@"
|
136
|
+
enable_expanded_output
|
137
|
+
test_gem
|
138
|
+
}
|
139
|
+
|
140
|
+
main "$@"
|
@@ -0,0 +1,70 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -o errexit # Abort if any command fails
|
3
|
+
me=$(basename "$0")
|
4
|
+
|
5
|
+
help_message="\
|
6
|
+
Usage: echo $me <version>
|
7
|
+
Generates variables based on the provided environment variable GITHUB_CONTEXT
|
8
|
+
and <version> argument.
|
9
|
+
GITHUB_CONTEXT: An environment variable containing a JSON string of the GitHub
|
10
|
+
context object. Typically generated with \${{ toJson(github) }}.
|
11
|
+
<version>: The version number corresponding to the current Git commit."
|
12
|
+
|
13
|
+
initialize() {
|
14
|
+
github_context_json="$GITHUB_CONTEXT"
|
15
|
+
version="$1"
|
16
|
+
|
17
|
+
if [[ -z "$github_context_json" ]]; then
|
18
|
+
echo "Missing or empty GITHUB_CONTEXT environment variable." >&2
|
19
|
+
echo "$help_message"
|
20
|
+
exit 1
|
21
|
+
fi
|
22
|
+
|
23
|
+
if [[ -z "$version" ]]; then
|
24
|
+
echo "No version specified." >&2
|
25
|
+
echo "$help_message"
|
26
|
+
exit 1
|
27
|
+
fi
|
28
|
+
|
29
|
+
sha=$(echo "$github_context_json" | jq --raw-output .sha)
|
30
|
+
ref=$(echo "$github_context_json" | jq --raw-output .ref)
|
31
|
+
|
32
|
+
if [[ -z "$sha" ]]; then
|
33
|
+
echo "No 'sha' found in the GitHub context." >&2
|
34
|
+
echo "$help_message"
|
35
|
+
exit 1
|
36
|
+
fi
|
37
|
+
|
38
|
+
if [[ -z "$ref" ]]; then
|
39
|
+
echo "No 'ref' found in the GitHub context." >&2
|
40
|
+
echo "$help_message"
|
41
|
+
exit 1
|
42
|
+
fi
|
43
|
+
}
|
44
|
+
|
45
|
+
generate_variables() {
|
46
|
+
# Replace + in the version number with a dot.
|
47
|
+
version="${version/+/.}"
|
48
|
+
|
49
|
+
if [[ "$ref" == refs/tags/* ]]; then
|
50
|
+
# Override GitVersion's version on tags, just to be sure.
|
51
|
+
version="${ref#refs/tags/}"
|
52
|
+
fi
|
53
|
+
|
54
|
+
# Convert the version number to all-lowercase because GPR only supports lowercase version numbers.
|
55
|
+
version=$(echo "$version" | tr '[:upper:]' '[:lower:]')
|
56
|
+
|
57
|
+
echo "Ref: $ref"
|
58
|
+
echo "Sha: $sha"
|
59
|
+
echo "Version: $version"
|
60
|
+
echo "::set-output name=ref::$ref"
|
61
|
+
echo "::set-output name=sha::$sha"
|
62
|
+
echo "::set-output name=version::$version"
|
63
|
+
}
|
64
|
+
|
65
|
+
main() {
|
66
|
+
initialize "$@"
|
67
|
+
generate_variables
|
68
|
+
}
|
69
|
+
|
70
|
+
main "$@"
|
@@ -11,15 +11,13 @@ jobs:
|
|
11
11
|
name: No Java
|
12
12
|
runs-on: ubuntu-latest
|
13
13
|
container:
|
14
|
-
image: ruby:2.7.
|
14
|
+
image: ruby:2.7.2
|
15
15
|
|
16
16
|
steps:
|
17
17
|
- uses: actions/checkout@v2
|
18
18
|
|
19
19
|
- name: Bundle install
|
20
|
-
run:
|
21
|
-
find .
|
22
|
-
bundle install --jobs 4 --retry 3
|
20
|
+
run: bundle install --jobs 4 --retry 3
|
23
21
|
|
24
22
|
- name: Test with Rake
|
25
23
|
run: bundle exec rspec --tag no_java
|
@@ -10,17 +10,17 @@ jobs:
|
|
10
10
|
test:
|
11
11
|
name: No PlantUML
|
12
12
|
runs-on: ubuntu-latest
|
13
|
-
container:
|
14
|
-
image: ruby:2.7.0-alpine3.11
|
15
13
|
|
16
14
|
steps:
|
17
15
|
- uses: actions/checkout@v2
|
18
16
|
|
17
|
+
- name: Set up Ruby 2.7
|
18
|
+
uses: actions/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 2.7.x
|
21
|
+
|
19
22
|
- name: Bundle install
|
20
23
|
run: bundle install --jobs 4 --retry 3
|
21
24
|
|
22
|
-
- name: Remove plantuml.1.2020.5.jar
|
23
|
-
run: rm bin/plantuml.1.2020.5.jar
|
24
|
-
|
25
25
|
- name: Test with Rake
|
26
26
|
run: bundle exec rspec --tag no_plantuml
|