Skip to content

Commit 5724483

Browse files
Merge pull request #217 from opensourcecobol/develop
2 parents 955c090 + 83149fb commit 5724483

35 files changed

+988
-448
lines changed

.github/workflows/cicd.yml

+17-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
types: [opened, reopened, review_requested, synchronize]
77

88
env:
9-
CLASSPATH: ":/usr/lib/opensourcecobol4j/libcobj.jar:/usr/lib/sqlite.jar"
9+
CLASSPATH: ":/usr/lib/opensourcecobol4j/libcobj.jar:/usr/lib/opensourcecobol4j/sqlite.jar"
1010

1111
jobs:
1212
run-tests:
@@ -35,7 +35,7 @@ jobs:
3535

3636
- name: Install opensource COBOL 4J
3737
run: |
38-
curl -L -o /usr/lib/sqlite.jar -k https://github.com/xerial/sqlite-jdbc/releases/download/3.36.0.3/sqlite-jdbc-3.36.0.3.jar
38+
curl -L -k -o libcobj/sqlite-jdbc/sqlite.jar https://github.com/xerial/sqlite-jdbc/releases/download/3.36.0.3/sqlite-jdbc-3.36.0.3.jar
3939
./configure --prefix=/usr/
4040
make
4141
make install
@@ -105,20 +105,32 @@ jobs:
105105
distribution: 'temurin'
106106
java-version: '17'
107107

108-
# Download code formatters and static analyzers
109-
- name: Install dependencies
108+
- name: Install static analysis tools
110109
run: |
111110
sudo apt-get update -y
112111
sudo apt-get install -y clang-format cppcheck
113112
curl -L -o google-java-format.jar https://github.com/google/google-java-format/releases/download/v1.15.0/google-java-format-1.15.0-all-deps.jar
114113
curl -L -o pmd-bin-6.52.0.zip https://github.com/pmd/pmd/releases/download/pmd_releases%2F6.52.0/pmd-bin-6.52.0.zip
114+
curl -L -o spotbugs-4.7.3.zip https://github.com/spotbugs/spotbugs/releases/download/4.7.3/spotbugs-4.7.3.zip
115115
unzip pmd-bin-6.52.0.zip
116+
unzip spotbugs-4.7.3.zip
117+
118+
- name: Install opensource COBOL 4J
119+
run: |
120+
sudo apt install -y build-essential bison flex gettext texinfo automake autoconf
121+
curl -L -k -o libcobj/sqlite-jdbc/sqlite.jar https://github.com/xerial/sqlite-jdbc/releases/download/3.36.0.3/sqlite-jdbc-3.36.0.3.jar
122+
./configure --prefix=/usr/
123+
make
124+
sudo make install
116125
117126
- name: Check format with google-java-format and clang-format
118127
run: |
119128
export PATH_GOOGLE_JAVA_FORMAT=${PWD}/google-java-format.jar
120129
./check-format
121-
echo $?
130+
131+
- name: Run SpotBugs
132+
run: |
133+
java -jar spotbugs-4.7.3/lib/spotbugs.jar -textui libcobj/output
122134
123135
- name: Run PMD
124136
run: |

.github/workflows/coverage.yml

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: Make a coverate report
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, reopened, review_requested, synchronize]
7+
workflow_dispatch:
8+
9+
env:
10+
CLASSPATH: ":/usr/lib/opensourcecobol4j/libcobj.jar:/usr/lib/opensourcecobol4j/sqlite.jar"
11+
12+
jobs:
13+
run-tests:
14+
runs-on: ubuntu-latest
15+
steps:
16+
17+
- name: Install dependencies on Ubuntu 22.04
18+
run: |
19+
sudo apt update -y
20+
sudo apt install -y default-jdk build-essential bison flex gettext texinfo automake autoconf gcovr
21+
22+
- name: Checkout opensource COBOL 4J
23+
uses: actions/checkout@v3
24+
25+
- name: Install opensource COBOL 4J
26+
run: |
27+
curl -L -k -o libcobj/sqlite-jdbc/sqlite.jar https://github.com/xerial/sqlite-jdbc/releases/download/3.36.0.3/sqlite-jdbc-3.36.0.3.jar
28+
./configure CFLAGS='-fprofile-arcs -ftest-coverage' --prefix=/usr/
29+
make
30+
sudo make install
31+
32+
#- name: Run tests "command-line-options"
33+
# run: |
34+
# cd tests/
35+
# ./command-line-options
36+
37+
#- name: Run tests "misc"
38+
# run: |
39+
# cd tests/
40+
# ./misc
41+
42+
#- name: Run tests "data-rep"
43+
# run: |
44+
# cd tests/
45+
# ./data-rep
46+
47+
#- name: Run tests "i18n_sjis"
48+
# run: |
49+
# cd tests/
50+
# ./i18n_sjis
51+
52+
#- name: Run tests "jp-compat"
53+
# run: |
54+
# cd tests/
55+
# ./jp-compat
56+
57+
#- name: Run tests "run"
58+
# run: |
59+
# cd tests/
60+
# ./run
61+
62+
#- name: Run tests "syntax"
63+
# run: |
64+
# cd tests/
65+
# ./syntax
66+
67+
#- name: Run NIST test
68+
# run: |
69+
# cd tests/cobol85
70+
# make test
71+
72+
#- name: Run Extra NIST test
73+
# run: |
74+
# cd tests/cobol85
75+
# make test-extra
76+
77+
# #- name: Run tests "i18n_utf8"
78+
# # run: |
79+
# # ./configure --prefix=/usr/ --with-vbisam --enable-utf8
80+
# # make
81+
# # make install
82+
# # ./i18n_utf8 || true
83+
# # cd ../
84+
85+
#- name: Make a coverage report
86+
# run: |
87+
# cd cobj
88+
# gcov -l *.gcda
89+
# gcovr -r . --html -o report.html
90+
# mkdir coverage-report
91+
# cp *.gcno *.gcda *.gcov report.html coverage-report
92+
93+
#- name: Archive a coverage report
94+
# uses: actions/upload-artifact@v3
95+
# with:
96+
# name: code-coverage-report
97+
# path: cobj/coverage-report/

.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ cobj/Makefile
88
cobj/cobj
99
cobj/*.o
1010
config.h
11+
config.h.in~
1112
config.log
1213
config.status
1314
config/Makefile
@@ -57,6 +58,7 @@ tests/cobol85/*/*.class
5758
tests/cobol85/*/*.java
5859
tests/cobol85/*/*.out
5960
tests/cobol85/*/*.log
61+
tests/cobol85/*/*.jar
6062
tests/cobol85/*/tmp.cbl
6163
tests/cobol85/*/report.txt
6264
tests/cobol85/*/XXXXX*
@@ -67,3 +69,7 @@ bin/cob-config
6769
bin/cobcrun
6870
bin/cobcrun-cobcrun.o
6971
configure~
72+
*.gcov
73+
*.gcda
74+
*.gcno
75+
report.html

CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

7+
## [1.0.14] - 2023-08-31
8+
### Added
9+
- Add `-jar` and `-single-jar` option (#171)
10+
- Add FUNCTION COMBINED-DATETIM (#207)
11+
- Add FUNCTION CONCATENATE (#212)
12+
### Fixed
13+
- Fix INDEXED files (#203)
14+
- Fix comparison of PIC N (#208)
15+
### Changed
16+
- Improve the readability of CALL statements (#202)
717
## [1.0.13] - 2023-07-31
818
### Added
919
- Add new options

ChangeLog

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2023-08-31 OSS Consortium <ws-opensource-cobol-contact@osscons.jp>
2+
3+
* opensource COBOL 4J v1.0.14 released.
4+
15
2023-07-31 OSS Consortium <ws-opensource-cobol-contact@osscons.jp>
26

37
* opensource COBOL 4J v1.0.13 released.

NEWS

+16
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@ NEWS - user visible changes -*- outline -*-
22

33
-----------------------------------------------------------------------
44

5+
* opensource COBOL 4J 1.0.14
6+
7+
** New Features
8+
(1) Add `-jar` and `-single-jar` option
9+
(2) Add FUNCTION COMBINED-DATETIM
10+
(3) Add FUNCTION CONCATENATE
11+
12+
** Bug fixes
13+
(1) Fix INDEXED files
14+
(2) Fix comparison of PIC N
15+
16+
** Miscellaneous
17+
(1) Improve the readability of CALL statements
18+
19+
-----------------------------------------------------------------------
20+
521
* opensource COBOL 4J 1.0.13
622

723
** New Features

check-format

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
#!/bin/bash
22
cd libcobj && ./check-format
3+
cd ../cobj && ./check-format

0 commit comments

Comments
 (0)