eolang 0.11.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +1 -1
- package/README.md +1 -1
- package/itest/program.eo +1 -1
- package/itest/story-test.eo +1 -1
- package/itest/story.eo +1 -1
- package/mvnw/.mvn/wrapper/maven-wrapper.properties +1 -1
- package/mvnw/pom.xml +9 -4
- package/package.json +9 -8
- package/renovate.json +5 -1
- package/src/commands/assemble.js +3 -4
- package/src/commands/audit.js +1 -3
- package/src/commands/clean.js +1 -1
- package/src/commands/compile.js +2 -3
- package/src/commands/dataize.js +1 -1
- package/src/commands/foreign.js +1 -1
- package/src/commands/link.js +2 -3
- package/src/commands/parse.js +3 -4
- package/src/commands/register.js +2 -3
- package/src/commands/sodg.js +2 -3
- package/src/commands/test.js +2 -1
- package/src/commands/transpile.js +2 -3
- package/src/eoc.js +35 -6
- package/src/mvnw.js +8 -4
- package/src/parser-version.js +1 -1
- package/src/tinted-console.js +1 -1
- package/src/version.js +7 -2
package/LICENSE.txt
CHANGED
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
[](https://www.elegantobjects.org)
|
|
4
4
|
[](https://www.jetbrains.com/idea/)
|
|
5
5
|
|
|
6
|
-
[](https://www.npmjs.com/package/eolang)
|
|
7
6
|
[](https://github.com/objectionary/eoc/actions/workflows/grunt.yml)
|
|
7
|
+
[](https://www.npmjs.com/package/eolang)
|
|
8
8
|
[](http://www.0pdd.com/p?name=objectionary/eoc)
|
|
9
9
|
[](https://hitsofcode.com/view/github/objectionary/eoc)
|
|
10
10
|

|
package/itest/program.eo
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# The MIT License (MIT)
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2022
|
|
3
|
+
# Copyright (c) 2022-2023 Objectionary.com
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the "Software"), to deal
|
package/itest/story-test.eo
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# The MIT License (MIT)
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2022
|
|
3
|
+
# Copyright (c) 2022-2023 Objectionary.com
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the "Software"), to deal
|
package/itest/story.eo
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# The MIT License (MIT)
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2022
|
|
3
|
+
# Copyright (c) 2022-2023 Objectionary.com
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the "Software"), to deal
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
# KIND, either express or implied. See the License for the
|
|
15
15
|
# specific language governing permissions and limitations
|
|
16
16
|
# under the License.
|
|
17
|
-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.
|
|
17
|
+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.2/apache-maven-3.9.2-bin.zip
|
|
18
18
|
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
|
package/mvnw/pom.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<!--
|
|
3
|
-
Copyright (c) 2022
|
|
3
|
+
Copyright (c) 2022-2023 Objectionary.com
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -31,15 +31,20 @@ SOFTWARE.
|
|
|
31
31
|
<eo.version>0.0.0</eo.version>
|
|
32
32
|
</properties>
|
|
33
33
|
<dependencies>
|
|
34
|
+
<dependency>
|
|
35
|
+
<groupId>org.eolang</groupId>
|
|
36
|
+
<artifactId>eo-runtime</artifactId>
|
|
37
|
+
<version>${eo.version}</version>
|
|
38
|
+
</dependency>
|
|
34
39
|
<dependency>
|
|
35
40
|
<groupId>org.junit.jupiter</groupId>
|
|
36
41
|
<artifactId>junit-jupiter-api</artifactId>
|
|
37
|
-
<version>5.9.
|
|
42
|
+
<version>5.9.3</version>
|
|
38
43
|
</dependency>
|
|
39
44
|
<dependency>
|
|
40
45
|
<groupId>org.junit.jupiter</groupId>
|
|
41
46
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
42
|
-
<version>5.9.
|
|
47
|
+
<version>5.9.3</version>
|
|
43
48
|
</dependency>
|
|
44
49
|
</dependencies>
|
|
45
50
|
<build>
|
|
@@ -82,7 +87,7 @@ SOFTWARE.
|
|
|
82
87
|
</plugin>
|
|
83
88
|
<plugin>
|
|
84
89
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
85
|
-
<version>3.
|
|
90
|
+
<version>3.1.0</version>
|
|
86
91
|
<configuration>
|
|
87
92
|
<failIfNoTests>true</failIfNoTests>
|
|
88
93
|
</configuration>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eolang",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"author": "Yegor Bugayenko <yegor256@gmail.com> (https://www.yegor256.com/)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "objectionary/eoc",
|
|
@@ -31,20 +31,21 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"colors": "1.4.0",
|
|
34
|
-
"commander": "10.0.
|
|
35
|
-
"fast-xml-parser": "4.
|
|
34
|
+
"commander": "10.0.1",
|
|
35
|
+
"fast-xml-parser": "4.2.2",
|
|
36
|
+
"node": "20.2.0",
|
|
36
37
|
"xmlhttprequest": "1.8.0"
|
|
37
38
|
},
|
|
38
39
|
"devDependencies": {
|
|
39
|
-
"eslint": "8.
|
|
40
|
+
"eslint": "8.41.0",
|
|
40
41
|
"eslint-config-google": "0.14.0",
|
|
41
|
-
"grunt": "1.
|
|
42
|
+
"grunt": "1.6.1",
|
|
42
43
|
"grunt-contrib-clean": "2.0.1",
|
|
43
|
-
"grunt-eslint": "24.0
|
|
44
|
-
"grunt-mocha-cli": "7.0.0",
|
|
44
|
+
"grunt-eslint": "24.1.0",
|
|
45
|
+
"grunt-mocha-cli": "^7.0.0",
|
|
45
46
|
"mocha": "^10.2.0"
|
|
46
47
|
},
|
|
47
48
|
"scripts": {
|
|
48
|
-
"test": "mocha --timeout
|
|
49
|
+
"test": "mocha --timeout 120.13.0"
|
|
49
50
|
}
|
|
50
51
|
}
|
package/renovate.json
CHANGED
package/src/commands/assemble.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const path = require('path');
|
|
26
26
|
const mvnw = require('../mvnw');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Command to assemble .XMIR files.
|
|
@@ -34,10 +33,10 @@ const parserVersion = require('../parser-version');
|
|
|
34
33
|
module.exports = function(opts) {
|
|
35
34
|
return mvnw([
|
|
36
35
|
'eo:assemble',
|
|
37
|
-
'-Deo.version=' +
|
|
36
|
+
'-Deo.version=' + opts.parser,
|
|
37
|
+
'-Deo.hash=' + (opts.hash ? opts.hash : opts.parser),
|
|
38
38
|
opts.verbose ? '' : '--quiet',
|
|
39
39
|
opts.trackOptimizationSteps ? '-Deo.trackOptimizationSteps' : '',
|
|
40
|
-
opts.hash ? '-Deo.hash=' + opts.hash : '',
|
|
41
40
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
42
41
|
`-Deo.outputDir=${path.resolve(opts.target, 'classes')}`,
|
|
43
42
|
`-Deo.placed=${path.resolve(opts.target, 'eo-placed.csv')}`,
|
package/src/commands/audit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
const mvnw = require('../mvnw');
|
|
26
|
-
const parserVersion = require('../parser-version');
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Command to audit all packages.
|
|
@@ -31,6 +30,5 @@ const parserVersion = require('../parser-version');
|
|
|
31
30
|
* @return {Promise} of audit task
|
|
32
31
|
*/
|
|
33
32
|
module.exports = function(opts) {
|
|
34
|
-
parserVersion.get();
|
|
35
33
|
return mvnw(['--version'], null, opts.batch);
|
|
36
34
|
};
|
package/src/commands/clean.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
package/src/commands/compile.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const mvnw = require('../mvnw');
|
|
26
26
|
const path = require('path');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Command to compile target language into binaries.
|
|
@@ -40,7 +39,7 @@ module.exports = function(opts) {
|
|
|
40
39
|
`-Dmaven.compiler.target=1.8`,
|
|
41
40
|
`-Deo.targetDir=${target}`,
|
|
42
41
|
`-Deo.generatedDir=${path.resolve(opts.target, 'generated-sources')}`,
|
|
43
|
-
'-Deo.version=' +
|
|
42
|
+
'-Deo.version=' + opts.parser,
|
|
44
43
|
], opts.target, opts.batch).then((r) => {
|
|
45
44
|
console.info('Java .class files compiled into %s', target);
|
|
46
45
|
return r;
|
package/src/commands/dataize.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
package/src/commands/foreign.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
package/src/commands/link.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const mvnw = require('../mvnw');
|
|
26
26
|
const path = require('path');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Command to link binaries into a single executable binary.
|
|
@@ -36,7 +35,7 @@ module.exports = function(opts) {
|
|
|
36
35
|
'jar:jar',
|
|
37
36
|
opts.verbose ? '' : '--quiet',
|
|
38
37
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
39
|
-
'-Deo.version=' +
|
|
38
|
+
'-Deo.version=' + opts.parser,
|
|
40
39
|
], opts.target, opts.batch).then((r) => {
|
|
41
40
|
console.info('Executable JAR created at %s', path.resolve(opts.target, 'eoc.jar'));
|
|
42
41
|
return r;
|
package/src/commands/parse.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const path = require('path');
|
|
26
26
|
const mvnw = require('../mvnw');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Command to parse EO into .XMIR files.
|
|
@@ -34,9 +33,9 @@ const parserVersion = require('../parser-version');
|
|
|
34
33
|
module.exports = function(opts) {
|
|
35
34
|
return mvnw([
|
|
36
35
|
'eo:parse',
|
|
37
|
-
'-Deo.version=' +
|
|
36
|
+
'-Deo.version=' + opts.parser,
|
|
37
|
+
'-Deo.hash=' + (opts.hash ? opts.hash : opts.parser),
|
|
38
38
|
opts.verbose ? '' : '--quiet',
|
|
39
|
-
opts.hash ? '-Deo.hash=' + opts.hash : '',
|
|
40
39
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
41
40
|
`-Deo.outputDir=${path.resolve(opts.target, 'classes')}`,
|
|
42
41
|
], opts.target, opts.batch).then((r) => {
|
package/src/commands/register.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const mvnw = require('../mvnw');
|
|
26
26
|
const path = require('path');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Command to register .EO sources.
|
|
@@ -35,7 +34,7 @@ module.exports = function(opts) {
|
|
|
35
34
|
const foreign = path.resolve(opts.target, 'eo-foreign.json');
|
|
36
35
|
return mvnw([
|
|
37
36
|
'eo:register',
|
|
38
|
-
'-Deo.version=' +
|
|
37
|
+
'-Deo.version=' + opts.parser,
|
|
39
38
|
opts.verbose ? '' : '--quiet',
|
|
40
39
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
41
40
|
`-Deo.sourcesDir=${path.resolve(opts.sources)}`,
|
package/src/commands/sodg.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const path = require('path');
|
|
26
26
|
const mvnw = require('../mvnw');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Generate SODG files from XMIR.
|
|
@@ -34,7 +33,7 @@ const parserVersion = require('../parser-version');
|
|
|
34
33
|
module.exports = function(opts) {
|
|
35
34
|
const argv = [
|
|
36
35
|
'eo:sodg',
|
|
37
|
-
'-Deo.version=' +
|
|
36
|
+
'-Deo.version=' + opts.parser,
|
|
38
37
|
opts.verbose ? '' : '--quiet',
|
|
39
38
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
40
39
|
];
|
package/src/commands/test.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -33,6 +33,7 @@ const path = require('path');
|
|
|
33
33
|
module.exports = function(opts) {
|
|
34
34
|
return mvnw([
|
|
35
35
|
'surefire:test',
|
|
36
|
+
'-Deo.version=' + opts.parser,
|
|
36
37
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
37
38
|
]);
|
|
38
39
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
const mvnw = require('../mvnw');
|
|
26
26
|
const path = require('path');
|
|
27
|
-
const parserVersion = require('../parser-version');
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Command to transpile XMIR files into target language.
|
|
@@ -35,7 +34,7 @@ module.exports = function(opts) {
|
|
|
35
34
|
const sources = path.resolve(opts.target, 'generated-sources');
|
|
36
35
|
return mvnw([
|
|
37
36
|
'eo:transpile',
|
|
38
|
-
'-Deo.version=' +
|
|
37
|
+
'-Deo.version=' + opts.parser,
|
|
39
38
|
opts.verbose ? '' : '--quiet',
|
|
40
39
|
`-Deo.targetDir=${path.resolve(opts.target)}`,
|
|
41
40
|
`-Deo.generatedDir=${sources}`,
|
package/src/eoc.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
* The MIT License (MIT)
|
|
4
4
|
*
|
|
5
|
-
* Copyright (c) 2022
|
|
5
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
6
6
|
*
|
|
7
7
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -41,23 +41,34 @@ const test = require('./commands/test');
|
|
|
41
41
|
if (process.argv.includes('--verbose')) {
|
|
42
42
|
tinted.enable('debug');
|
|
43
43
|
console.debug('Debug output is turned ON');
|
|
44
|
-
console.info('INFO');
|
|
45
44
|
}
|
|
46
45
|
|
|
46
|
+
if (process.argv.includes('--latest')) {
|
|
47
|
+
const ver = require('./parser-version').get();
|
|
48
|
+
process.argv.push('--parser');
|
|
49
|
+
process.argv.push(ver);
|
|
50
|
+
process.argv.push('--hash');
|
|
51
|
+
process.argv.push(ver);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const version = require('./version');
|
|
47
55
|
program
|
|
48
56
|
.name('eoc')
|
|
49
|
-
.description('EO command-line toolkit (' +
|
|
50
|
-
.version(
|
|
57
|
+
.description('EO command-line toolkit (' + version.what + ' ' + version.when + ')')
|
|
58
|
+
.version(version.what);
|
|
51
59
|
|
|
60
|
+
const parser = '0.29.4';
|
|
52
61
|
program
|
|
53
62
|
.option('-s, --sources <path>', 'Directory with .EO sources', '.')
|
|
54
63
|
.option('-t, --target <path>', 'Directory with all generated files', '.eoc')
|
|
55
|
-
.option('--hash <hex>', 'Hash in objectionary/home to compile against')
|
|
56
|
-
.option('--parser <version>', 'Set the version of parser to use')
|
|
64
|
+
.option('--hash <hex>', 'Hash in objectionary/home to compile against', parser)
|
|
65
|
+
.option('--parser <version>', 'Set the version of EO parser to use', parser)
|
|
66
|
+
.option('--latest', 'Use the latest parser version from Maven Central')
|
|
57
67
|
.option('--alone', 'Just run a single command without dependencies')
|
|
58
68
|
.option('-b, --batch', 'Run in batch mode, suppress interactive messages')
|
|
59
69
|
.option('--no-color', 'Disable colorization of console messages')
|
|
60
70
|
.option('--track-optimization-steps', 'Save intermediate XMIR files')
|
|
71
|
+
.option('-c, --clean', 'Delete ./.eoc directory')
|
|
61
72
|
.option('--verbose', 'Print debug messages and full output of child processes');
|
|
62
73
|
|
|
63
74
|
program.command('audit')
|
|
@@ -89,6 +100,7 @@ program.command('register')
|
|
|
89
100
|
program.command('parse')
|
|
90
101
|
.description('Parse EO files into XMIR')
|
|
91
102
|
.action((str, opts) => {
|
|
103
|
+
clear(str);
|
|
92
104
|
if (program.opts().alone == undefined) {
|
|
93
105
|
register(program.opts())
|
|
94
106
|
.then((r) => parse(program.opts()));
|
|
@@ -100,6 +112,7 @@ program.command('parse')
|
|
|
100
112
|
program.command('assemble')
|
|
101
113
|
.description('Parse EO files into XMIR and join them with required dependencies')
|
|
102
114
|
.action((str, opts) => {
|
|
115
|
+
clear(str);
|
|
103
116
|
if (program.opts().alone == undefined) {
|
|
104
117
|
register(program.opts())
|
|
105
118
|
.then((r) => assemble(program.opts()));
|
|
@@ -117,6 +130,7 @@ program.command('sodg')
|
|
|
117
130
|
.option('--include <names>', 'Generate SODG for these object names (using mask)', '**')
|
|
118
131
|
.option('--exclude <names>', 'Don\'t generate SODG for these objects')
|
|
119
132
|
.action((str, opts) => {
|
|
133
|
+
clear(str);
|
|
120
134
|
if (program.opts().alone == undefined) {
|
|
121
135
|
register(program.opts())
|
|
122
136
|
.then((r) => assemble(program.opts()))
|
|
@@ -129,6 +143,7 @@ program.command('sodg')
|
|
|
129
143
|
program.command('transpile')
|
|
130
144
|
.description('Convert EO files into target language')
|
|
131
145
|
.action((str, opts) => {
|
|
146
|
+
clear(str);
|
|
132
147
|
if (program.opts().alone == undefined) {
|
|
133
148
|
register(program.opts())
|
|
134
149
|
.then((r) => assemble(program.opts()))
|
|
@@ -141,6 +156,7 @@ program.command('transpile')
|
|
|
141
156
|
program.command('compile')
|
|
142
157
|
.description('Compile target language sources into binaries')
|
|
143
158
|
.action((str, opts) => {
|
|
159
|
+
clear(str);
|
|
144
160
|
if (program.opts().alone == undefined) {
|
|
145
161
|
register(program.opts())
|
|
146
162
|
.then((r) => assemble(program.opts()))
|
|
@@ -154,6 +170,7 @@ program.command('compile')
|
|
|
154
170
|
program.command('link')
|
|
155
171
|
.description('Link together all binaries into a single executable binary')
|
|
156
172
|
.action((str, opts) => {
|
|
173
|
+
clear(str);
|
|
157
174
|
if (program.opts().alone == undefined) {
|
|
158
175
|
register(program.opts())
|
|
159
176
|
.then((r) => assemble(program.opts()))
|
|
@@ -169,6 +186,7 @@ program.command('dataize')
|
|
|
169
186
|
.description('Run the single executable binary and dataize an object')
|
|
170
187
|
.option('--stack <size>', 'Change stack size', '1M')
|
|
171
188
|
.action((str, opts) => {
|
|
189
|
+
clear(str);
|
|
172
190
|
if (program.opts().alone == undefined) {
|
|
173
191
|
register(program.opts())
|
|
174
192
|
.then((r) => assemble(program.opts()))
|
|
@@ -184,6 +202,7 @@ program.command('dataize')
|
|
|
184
202
|
program.command('test')
|
|
185
203
|
.description('Run all visible unit tests')
|
|
186
204
|
.action((str, opts) => {
|
|
205
|
+
clear(str);
|
|
187
206
|
if (program.opts().alone == undefined) {
|
|
188
207
|
register(program.opts())
|
|
189
208
|
.then((r) => assemble(program.opts()))
|
|
@@ -203,3 +222,13 @@ try {
|
|
|
203
222
|
console.debug(e.stack);
|
|
204
223
|
process.exit(1);
|
|
205
224
|
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Checks --clean option and clears the .eoc directory if true.
|
|
228
|
+
* @param {*} str Str
|
|
229
|
+
*/
|
|
230
|
+
function clear(str) {
|
|
231
|
+
if (program.opts().clean) {
|
|
232
|
+
clean({...program.opts(), ...str});
|
|
233
|
+
}
|
|
234
|
+
}
|
package/src/mvnw.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -59,8 +59,10 @@ module.exports = function(args, tgt, batch) {
|
|
|
59
59
|
return t != '';
|
|
60
60
|
}).concat([
|
|
61
61
|
'--batch-mode',
|
|
62
|
+
'--color=never',
|
|
62
63
|
'--update-snapshots',
|
|
63
64
|
'--fail-fast',
|
|
65
|
+
'--strict-checksums',
|
|
64
66
|
]);
|
|
65
67
|
const cmd = bin + ' ' + params.join(' ');
|
|
66
68
|
console.debug('+ %s', cmd);
|
|
@@ -73,13 +75,14 @@ module.exports = function(args, tgt, batch) {
|
|
|
73
75
|
shell: shell(),
|
|
74
76
|
}
|
|
75
77
|
);
|
|
76
|
-
if (tgt != undefined) {
|
|
78
|
+
if (tgt != undefined && args.includes('--quiet')) {
|
|
77
79
|
if (!batch) {
|
|
78
80
|
start();
|
|
79
81
|
}
|
|
80
82
|
result.on('close', (code) => {
|
|
81
83
|
if (code !== 0) {
|
|
82
|
-
|
|
84
|
+
console.error(`The command "${cmd}" exited with #${code} code`);
|
|
85
|
+
process.exit(1);
|
|
83
86
|
}
|
|
84
87
|
if (!batch) {
|
|
85
88
|
stop();
|
|
@@ -89,7 +92,8 @@ module.exports = function(args, tgt, batch) {
|
|
|
89
92
|
} else {
|
|
90
93
|
result.on('close', (code) => {
|
|
91
94
|
if (code !== 0) {
|
|
92
|
-
|
|
95
|
+
console.error(`The command "${cmd}" exited with #${code} code`);
|
|
96
|
+
process.exit(1);
|
|
93
97
|
}
|
|
94
98
|
resolve(args);
|
|
95
99
|
});
|
package/src/parser-version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
package/src/tinted-console.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
package/src/version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* The MIT License (MIT)
|
|
3
3
|
*
|
|
4
|
-
* Copyright (c) 2022
|
|
4
|
+
* Copyright (c) 2022-2023 Objectionary.com
|
|
5
5
|
*
|
|
6
6
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -22,4 +22,9 @@
|
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
// The values here are replaced automatically by the .rultor.yml script,
|
|
26
|
+
// at the "release" pipeline:
|
|
27
|
+
module.exports = {
|
|
28
|
+
what: '0.13.0',
|
|
29
|
+
when: '00.13.00-00'
|
|
30
|
+
};
|