diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 1afb8266..54a05645 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -35,6 +35,7 @@ jobs: - name: Install opensource COBOL 4J run: | + 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 ./configure --prefix=/usr/ make make install @@ -117,6 +118,7 @@ jobs: - name: Install opensource COBOL 4J run: | sudo apt install -y build-essential bison flex gettext texinfo automake autoconf + 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 ./configure --prefix=/usr/ make sudo make install @@ -125,7 +127,6 @@ jobs: run: | export PATH_GOOGLE_JAVA_FORMAT=${PWD}/google-java-format.jar ./check-format - echo $? - name: Run SpotBugs run: | diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 00000000..f6e0f1cd --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,97 @@ +name: Make a coverate report + +on: + push: + pull_request: + types: [opened, reopened, review_requested, synchronize] + workflow_dispatch: + +env: + CLASSPATH: ":/usr/lib/opensourcecobol4j/libcobj.jar:/usr/lib/opensourcecobol4j/sqlite.jar" + +jobs: + run-tests: + runs-on: ubuntu-latest + steps: + + - name: Install dependencies on Ubuntu 22.04 + run: | + sudo apt update -y + sudo apt install -y default-jdk build-essential bison flex gettext texinfo automake autoconf gcovr + + - name: Checkout opensource COBOL 4J + uses: actions/checkout@v3 + + - name: Install opensource COBOL 4J + run: | + 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 + ./configure CFLAGS='-fprofile-arcs -ftest-coverage' --prefix=/usr/ + make + sudo make install + + #- name: Run tests "command-line-options" + # run: | + # cd tests/ + # ./command-line-options + + #- name: Run tests "misc" + # run: | + # cd tests/ + # ./misc + + #- name: Run tests "data-rep" + # run: | + # cd tests/ + # ./data-rep + + #- name: Run tests "i18n_sjis" + # run: | + # cd tests/ + # ./i18n_sjis + + #- name: Run tests "jp-compat" + # run: | + # cd tests/ + # ./jp-compat + + #- name: Run tests "run" + # run: | + # cd tests/ + # ./run + + #- name: Run tests "syntax" + # run: | + # cd tests/ + # ./syntax + + #- name: Run NIST test + # run: | + # cd tests/cobol85 + # make test + + #- name: Run Extra NIST test + # run: | + # cd tests/cobol85 + # make test-extra + + # #- name: Run tests "i18n_utf8" + # # run: | + # # ./configure --prefix=/usr/ --with-vbisam --enable-utf8 + # # make + # # make install + # # ./i18n_utf8 || true + # # cd ../ + + #- name: Make a coverage report + # run: | + # cd cobj + # gcov -l *.gcda + # gcovr -r . --html -o report.html + # mkdir coverage-report + # cp *.gcno *.gcda *.gcov report.html coverage-report + + #- name: Archive a coverage report + # uses: actions/upload-artifact@v3 + # with: + # name: code-coverage-report + # path: cobj/coverage-report/ \ No newline at end of file diff --git a/.github/workflows/coverate.yml b/.github/workflows/coverate.yml deleted file mode 100644 index 656e3a60..00000000 --- a/.github/workflows/coverate.yml +++ /dev/null @@ -1,96 +0,0 @@ -name: Make a coverate report - -on: - push: - pull_request: - types: [opened, reopened, review_requested, synchronize] - workflow_dispatch: - -env: - CLASSPATH: ":/usr/lib/opensourcecobol4j/libcobj.jar:/usr/lib/opensourcecobol4j/sqlite.jar" - -jobs: - run-tests: - runs-on: ubuntu-latest - steps: - - - name: Install dependencies on Ubuntu 22.04 - run: | - sudo apt update -y - sudo apt install -y default-jdk build-essential bison flex gettext texinfo automake autoconf gcovr - - - name: Checkout opensource COBOL 4J - uses: actions/checkout@v3 - - - name: Install opensource COBOL 4J - run: | - ./configure CFLAGS='-fprofile-arcs -ftest-coverage' --prefix=/usr/ - make - sudo make install - - - name: Run tests "command-line-options" - run: | - cd tests/ - ./command-line-options - - - name: Run tests "misc" - run: | - cd tests/ - ./misc - - - name: Run tests "data-rep" - run: | - cd tests/ - ./data-rep - - - name: Run tests "i18n_sjis" - run: | - cd tests/ - ./i18n_sjis - - - name: Run tests "jp-compat" - run: | - cd tests/ - ./jp-compat - - - name: Run tests "run" - run: | - cd tests/ - ./run - - - name: Run tests "syntax" - run: | - cd tests/ - ./syntax - - - name: Run NIST test - run: | - cd tests/cobol85 - make test - - - name: Run Extra NIST test - run: | - cd tests/cobol85 - make test-extra - - #- name: Run tests "i18n_utf8" - # run: | - # ./configure --prefix=/usr/ --with-vbisam --enable-utf8 - # make - # make install - # ./i18n_utf8 || true - # cd ../ - - - name: Make a coverage report - run: | - cd cobj - gcov -l *.gcda - gcovr -r . --html -o report.html - mkdir coverage-report - cp *.gcno *.gcda *.gcov report.html coverage-report - - - name: Archive a coverage report - uses: actions/upload-artifact@v3 - with: - name: code-coverage-report - path: cobj/coverage-report/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index fb406209..d2dd0320 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [1.0.14] - 2023-08-31 +### Added +- Add `-jar` and `-single-jar` option (#171) +- Add FUNCTION COMBINED-DATETIM (#207) +- Add FUNCTION CONCATENATE (#212) +### Fixed +- Fix INDEXED files (#203) +- Fix comparison of PIC N (#208) +### Changed +- Improve the readability of CALL statements (#202) ## [1.0.13] - 2023-07-31 ### Added - Add new options diff --git a/ChangeLog b/ChangeLog index 5ea6a993..80cc2c72 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2023-08-31 OSS Consortium + + * opensource COBOL 4J v1.0.14 released. + 2023-07-31 OSS Consortium * opensource COBOL 4J v1.0.13 released. diff --git a/NEWS b/NEWS index bf49bc73..7487264b 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,22 @@ NEWS - user visible changes -*- outline -*- ----------------------------------------------------------------------- +* opensource COBOL 4J 1.0.14 + +** New Features + (1) Add `-jar` and `-single-jar` option + (2) Add FUNCTION COMBINED-DATETIM + (3) Add FUNCTION CONCATENATE + +** Bug fixes + (1) Fix INDEXED files + (2) Fix comparison of PIC N + +** Miscellaneous + (1) Improve the readability of CALL statements + +----------------------------------------------------------------------- + * opensource COBOL 4J 1.0.13 ** New Features diff --git a/configure b/configure index 36ce11fc..483820a2 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for opensource COBOL 4J 1.0.13. +# Generated by GNU Autoconf 2.71 for opensource COBOL 4J 1.0.14. # # Report bugs to . # @@ -620,9 +620,9 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='opensource COBOL 4J' -PACKAGE_TARNAME='opensource-cobol-4j-1.0.13' -PACKAGE_VERSION='1.0.13' -PACKAGE_STRING='opensource COBOL 4J 1.0.13' +PACKAGE_TARNAME='opensource-cobol-4j-1.0.14' +PACKAGE_VERSION='1.0.14' +PACKAGE_STRING='opensource COBOL 4J 1.0.14' PACKAGE_BUGREPORT='ws-opensource-cobol-contact@osscons.jp' PACKAGE_URL='' @@ -1414,7 +1414,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures opensource COBOL 4J 1.0.13 to adapt to many kinds of systems. +\`configure' configures opensource COBOL 4J 1.0.14 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1464,7 +1464,7 @@ Fine tuning of the installation directories: --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root - [DATAROOTDIR/doc/opensource-cobol-4j-1.0.13] + [DATAROOTDIR/doc/opensource-cobol-4j-1.0.14] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1486,7 +1486,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of opensource COBOL 4J 1.0.13:";; + short | recursive ) echo "Configuration of opensource COBOL 4J 1.0.14:";; esac cat <<\_ACEOF @@ -1617,7 +1617,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -opensource COBOL 4J configure 1.0.13 +opensource COBOL 4J configure 1.0.14 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2105,7 +2105,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by opensource COBOL 4J $as_me 1.0.13, which was +It was created by opensource COBOL 4J $as_me 1.0.14, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3403,8 +3403,8 @@ fi # Define the identity of the package. - PACKAGE='opensource-cobol-4j-1.0.13' - VERSION='1.0.13' + PACKAGE='opensource-cobol-4j-1.0.14' + VERSION='1.0.14' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -25367,7 +25367,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by opensource COBOL 4J $as_me 1.0.13, which was +This file was extended by opensource COBOL 4J $as_me 1.0.14, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25435,7 +25435,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -opensource COBOL 4J config.status 1.0.13 +opensource COBOL 4J config.status 1.0.14 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index bc614c46..0f576d7a 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ AC_PREREQ(2.59) -AC_INIT([opensource COBOL 4J],[1.0.13],[ws-opensource-cobol-contact@osscons.jp],[opensource-cobol-4j-1.0.13]) +AC_INIT([opensource COBOL 4J],[1.0.14],[ws-opensource-cobol-contact@osscons.jp],[opensource-cobol-4j-1.0.14]) AC_CONFIG_SRCDIR([libcobj.h]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_TESTDIR([tests]) diff --git a/libcobj/.gitignore b/libcobj/.gitignore index 3c1bbabf..69e7719e 100755 --- a/libcobj/.gitignore +++ b/libcobj/.gitignore @@ -1,2 +1,4 @@ /bin/ output/ +sqlite/sqlite.jar +*.class diff --git a/libcobj/sqlite-jdbc/.gitkeep b/libcobj/sqlite-jdbc/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/libcobj/sqlite-jdbc/LICENSE.zentus b/libcobj/sqlite-jdbc/LICENSE.zentus deleted file mode 100644 index 3e044abb..00000000 --- a/libcobj/sqlite-jdbc/LICENSE.zentus +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2006, David Crawshaw. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - diff --git a/libcobj/sqlite-jdbc/sqlite.jar b/libcobj/sqlite-jdbc/sqlite.jar deleted file mode 100644 index 5cc7c442..00000000 Binary files a/libcobj/sqlite-jdbc/sqlite.jar and /dev/null differ diff --git a/tests/package.m4 b/tests/package.m4 index 8b63a714..27c0988e 100644 --- a/tests/package.m4 +++ b/tests/package.m4 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [opensource COBOL 4J]) -m4_define([AT_PACKAGE_TARNAME], [opensource-cobol-4j-1.0.13]) -m4_define([AT_PACKAGE_VERSION], [1.0.13]) -m4_define([AT_PACKAGE_STRING], [opensource COBOL 4J 1.0.13]) +m4_define([AT_PACKAGE_TARNAME], [opensource-cobol-4j-1.0.14]) +m4_define([AT_PACKAGE_VERSION], [1.0.14]) +m4_define([AT_PACKAGE_STRING], [opensource COBOL 4J 1.0.14]) m4_define([AT_PACKAGE_BUGREPORT], [ws-opensource-cobol-contact@osscons.jp])