diff --git a/.github/workflows/itest.yml b/.github/workflows/itest.yml
index d2e485e..3a6c79b 100644
--- a/.github/workflows/itest.yml
+++ b/.github/workflows/itest.yml
@@ -40,8 +40,8 @@ jobs:
node: [ 16 ]
# lang: [Java, JavaScript]
lang: [ Java ]
- parser: [ 0.48.1 ]
- tag: [ 0.48.1 ]
+ parser: [ 0.48.2 ]
+ tag: [ 0.48.2 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
@@ -55,7 +55,7 @@ jobs:
- run: npm install
- run: |
cd itest
- node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch "--language=${{ matrix.lang }}" dataize program
- node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch --alone "--language=${{ matrix.lang }}" dataize program
+ node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch "--language=${{ matrix.lang }}" --easy dataize program
+ node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch --alone "--language=${{ matrix.lang }}" --easy dataize program
node ../src/eoc.js clean
- node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch "--language=${{ matrix.lang }}" test
+ node ../src/eoc.js "--parser=${{ matrix.parser }}" "--home-tag=${{ matrix.tag }}" --batch "--language=${{ matrix.lang }}" --easy test
diff --git a/eo-version.txt b/eo-version.txt
index cffa44c..e85205d 100644
--- a/eo-version.txt
+++ b/eo-version.txt
@@ -1 +1 @@
-0.48.1
+0.48.2
diff --git a/home-tag.txt b/home-tag.txt
index cffa44c..e85205d 100644
--- a/home-tag.txt
+++ b/home-tag.txt
@@ -1 +1 @@
-0.48.1
+0.48.2
diff --git a/mvnw/pom.xml b/mvnw/pom.xml
index 92310c5..024cf19 100644
--- a/mvnw/pom.xml
+++ b/mvnw/pom.xml
@@ -99,6 +99,8 @@ SOFTWARE.
3.5.2
true
+ false
+ false
diff --git a/src/commands/lint.js b/src/commands/lint.js
index 6d41f7b..cecfd78 100644
--- a/src/commands/lint.js
+++ b/src/commands/lint.js
@@ -33,13 +33,22 @@ const semver = require('semver');
* @return {Promise} of assemble task
*/
module.exports = function(opts) {
+ const extra = [
+ `-Deo.failOnWarning=${opts.easy ? 'false' : 'true'}`,
+ ];
if (semver.gte(opts.parser, '0.45.0')) {
- return mvnw(['eo:lint'].concat(flags(opts)), opts.target, opts.batch).then((r) => {
+ return mvnw(
+ ['eo:lint'].concat(flags(opts)).concat(extra),
+ opts.target, opts.batch
+ ).then((r) => {
console.info('EO program linted in %s', rel(path.resolve(opts.target)));
return r;
});
} else {
- return mvnw(['eo:verify'].concat(flags(opts)), opts.target, opts.batch).then((r) => {
+ return mvnw(
+ ['eo:verify'].concat(flags(opts)).concat(extra),
+ opts.target, opts.batch
+ ).then((r) => {
console.info('EO program verified in %s', rel(path.resolve(opts.target)));
return r;
});
diff --git a/src/eoc.js b/src/eoc.js
index d048a16..031b9e6 100755
--- a/src/eoc.js
+++ b/src/eoc.js
@@ -91,7 +91,7 @@ if (process.argv.includes('--latest')) {
// latest hash of the objectionary/home repository, and then
// set it to the "hash" variable?
} else {
- console.debug('EO parser ' + parser + '; use the --latest flag if you need a freshier one');
+ console.debug(`EO parser ${parser}; use the --latest flag if you need a freshier one`);
}
const version = require('./version');
@@ -100,17 +100,17 @@ program
.usage('[options] command')
.summary('EO command line toolkit')
.description(
- 'EO command-line toolkit (' +
- version.what + ' built on ' + version.when +
- '): https://github.com/objectionary/eoc'
+ `EO command-line toolkit (${version.what}) ` +
+ `built on ${version.when}): https://github.com/objectionary/eoc`
)
- .version(version.what, '-v, --version', 'Output the version number')
+ .version(version.what, '-v, --version', `Just print the number of the version (${version.what})`)
.helpOption('-?, --help', 'Print this help information')
.configureHelp({sortOptions: true, sortSubcommands: true});
program
.option('-s, --sources ', 'Directory with .EO sources', '.')
.option('-t, --target ', 'Directory with all generated files', '.eoc')
+ .option('--easy', 'Ignore "warnings" and only fail if there are "errorst" or "criticals"')
.option('--home-tag ', 'Git tag in objectionary/home to compile against', tag)
.option('--parser ', 'Set the version of EO parser to use', parser)
.option('--latest', 'Use the latest parser version from Maven Central')
diff --git a/src/mvnw.js b/src/mvnw.js
index dff8238..e110ae3 100644
--- a/src/mvnw.js
+++ b/src/mvnw.js
@@ -55,8 +55,8 @@ module.exports.flags = function(opts) {
const target = path.resolve(opts.target);
console.debug('Target in %s', rel(target));
return [
- '-Deo.version=' + opts.parser,
- '-Deo.tag=' + (opts.homeTag ? opts.homeTag : opts.parser),
+ `-Deo.version=${opts.parser}`,
+ `-Deo.tag=${opts.homeTag ? opts.homeTag : opts.parser}`,
opts.verbose ? '--errors' : '',
opts.verbose ? '' : '--quiet',
opts.debug ? '--debug' : '',
diff --git a/test/commands/test_compile.js b/test/commands/test_compile.js
index 3ac76c5..4bb94a7 100644
--- a/test/commands/test_compile.js
+++ b/test/commands/test_compile.js
@@ -39,6 +39,7 @@ describe('compile', function() {
'compile',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
+ '--easy',
'-s', path.resolve(home, 'src'),
'-t', path.resolve(home, 'target'),
]);
@@ -74,6 +75,7 @@ describe('compile', function() {
const stdout = runSync([
'compile',
'--verbose',
+ '--easy',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
'-s', path.resolve(home, 'src'),
@@ -98,6 +100,7 @@ describe('compile', function() {
runSync([
'compile',
'--clean',
+ '--easy',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
'-s', path.resolve(home, 'src'),
diff --git a/test/commands/test_dataize.js b/test/commands/test_dataize.js
index 1a140b3..97d07bd 100644
--- a/test/commands/test_dataize.js
+++ b/test/commands/test_dataize.js
@@ -29,6 +29,7 @@ const {runSync, parserVersion, homeTag, weAreOnline} = require('../helpers');
const options = [
{lang: 'Java', version: parserVersion, tag: homeTag},
+ {lang: 'Java', version: '0.48.1', tag: '0.48.1'},
{lang: 'Java', version: '0.46.0', tag: '0.46.0'},
{lang: 'Java', version: '0.45.0', tag: '0.45.0'},
{lang: 'Java', version: '0.44.0', tag: '0.44.0'},
@@ -63,6 +64,7 @@ describe('dataize', function() {
'--stack=64M',
'--heap=1G',
'--clean',
+ '--easy',
`--parser=${version}`,
`--home-tag=${tag}`,
'-s', path.resolve(home, 'src'),
@@ -93,6 +95,7 @@ describe('dataize', function() {
const stdout = runSync([
'dataize', 'simple',
'--clean',
+ '--easy',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
'-s', home,
diff --git a/test/commands/test_link.js b/test/commands/test_link.js
index 71b94a5..57907bb 100644
--- a/test/commands/test_link.js
+++ b/test/commands/test_link.js
@@ -53,11 +53,12 @@ describe('link', function() {
return runSync([
'link',
'--verbose',
+ '--easy',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
'-s', path.resolve(home, 'src'),
'-t', path.resolve(home, 'target'),
- '--language=' + lang,
+ `--language=${lang}`,
]);
};
it('compiles a simple .EO program into an executable .JAR', function(done) {
diff --git a/test/commands/test_lint.js b/test/commands/test_lint.js
index d5570f2..6f95d2c 100644
--- a/test/commands/test_lint.js
+++ b/test/commands/test_lint.js
@@ -38,6 +38,7 @@ describe('lint', function() {
const stdout = runSync([
'lint',
'--verbose',
+ '--easy',
'--track-optimization-steps',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
diff --git a/test/commands/test_sodg.js b/test/commands/test_sodg.js
index 97ff1c8..ce24580 100644
--- a/test/commands/test_sodg.js
+++ b/test/commands/test_sodg.js
@@ -39,6 +39,7 @@ describe('sodg', function() {
'sodg',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
+ '--easy',
'--verbose',
'--dot',
'--include=simple',
diff --git a/test/commands/test_test.js b/test/commands/test_test.js
index a75afd4..0a111b4 100644
--- a/test/commands/test_test.js
+++ b/test/commands/test_test.js
@@ -57,11 +57,12 @@ describe('test', function() {
return runSync([
'test',
'--verbose',
+ '--easy',
`--parser=${parser}`,
`--home-tag=${hash}`,
'-s', path.resolve(home, 'src'),
'-t', path.resolve(home, 'target'),
- '--language=' + lang
+ `--language=${lang}`
]);
};
diff --git a/test/commands/test_transpile.js b/test/commands/test_transpile.js
index 40922e7..fdfa5ea 100644
--- a/test/commands/test_transpile.js
+++ b/test/commands/test_transpile.js
@@ -47,11 +47,12 @@ describe('transpile', function() {
return runSync([
'transpile',
'--verbose',
+ '--easy',
`--parser=${parserVersion}`,
`--home-tag=${homeTag}`,
'-s', path.resolve(home, 'src'),
'-t', path.resolve(home, 'target'),
- '--language=' + lang,
+ `--language=${lang}`,
]);
};
diff --git a/test/helpers.js b/test/helpers.js
index d77e487..82bc88b 100644
--- a/test/helpers.js
+++ b/test/helpers.js
@@ -72,7 +72,7 @@ module.exports.assertFilesExist = function assertFilesExist(stdout, home, paths)
const abs = path.resolve(home, p);
assert(
fs.existsSync(abs),
- stdout + '\nFile ' + abs + ' is absent'
+ `${stdout}\nFile ${abs} is absent`
);
});
};