Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add --clear flag #39

Merged
merged 14 commits into from
Apr 13, 2023
Merged

Conversation

advasileva
Copy link
Contributor

According to #11

To add the flag, I needed to pass another (fourth) parameter to the constructor, but this code did not pass the linter. There was an idea to create a Settings class for Speco execution flags, but it looked redundant. As a result, I implemented a Builder pattern that builds Speco with the right flags (yes, we recently studied it at the university :)

@advasileva advasileva marked this pull request as ready for review February 5, 2023 18:05
@advasileva
Copy link
Contributor Author

@yegor256, please assign a reviewer for this PR

@yegor256
Copy link
Member

yegor256 commented Feb 6, 2023

@volodya-lombrozo pls, take a look

Copy link
Member

@volodya-lombrozo volodya-lombrozo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva About the builder pattern:

Builder. Terrible concept, since it encourages us to create and use big, complex objects. If you need a builder, there is already something wrong in your code. Refactor it so any object is easy to create through its constructors.

It's not my words :) I get it from that link.


There is a way how we can refactor the code in order to make it more maintainable.
I suppose we can create 3 different classes: DefaultSpeco, EolangSpeco, ClearSpeco - the names could be different of course, but I believe you get an idea.

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" id="SG" version="2.0">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Could you provide tests for that change, please?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodya-lombrozo I understand correctly that it is better to implement this through .yaml configs with xmir?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Apparently, yes.

@codecov-commenter
Copy link

codecov-commenter commented Feb 13, 2023

Codecov Report

Merging #39 (a2421b5) into master (1f7d695) will decrease coverage by 15.84%.
The diff coverage is 78.12%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@              Coverage Diff              @@
##             master      #39       +/-   ##
=============================================
- Coverage     89.36%   73.52%   -15.84%     
- Complexity        8       11        +3     
=============================================
  Files             2        6        +4     
  Lines            47       68       +21     
  Branches          3        5        +2     
=============================================
+ Hits             42       50        +8     
- Misses            5       18       +13     
Impacted Files Coverage Δ
src/main/java/org/eolang/speco/ClearXmirSpeco.java 0.00% <0.00%> (ø)
src/main/java/org/eolang/speco/Main.java 0.00% <0.00%> (ø)
src/main/java/org/eolang/speco/DefaultSpeco.java 100.00% <100.00%> (ø)
src/main/java/org/eolang/speco/EoWalk.java 100.00% <100.00%> (ø)
src/main/java/org/eolang/speco/Walk.java 100.00% <100.00%> (ø)
src/main/java/org/eolang/speco/XmirWalk.java 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@advasileva
Copy link
Contributor Author

@volodya-lombrozo I edited the PR (rebase, split into *Speco classes and add transformation test). Please, take a look

Copy link
Member

@volodya-lombrozo volodya-lombrozo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva I noticed that the refactoring has simplified the logic and made the code clearer, in my opinion, but we can simplify it even more. Overall, it's a good set of changes. Thank you.


PS: It would be nice to divide that PR into 2:

  1. Add --clear-xmir option
  2. Refactoring
    However, I don't think we have to divide the current PR, it's only for the future.


@Override
public void exec() throws IOException {
Files.createDirectories(this.output());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Here is code duplication between all 3 specs implementations

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodya-lombrozo Yes, it is, because this is the only way to link classes (that I know of). If we used class inheritance and redefined methods in the style of the Factory Method pattern. But because of the composition, we have to explicitly prescribe the method we use, otherwise origin will take its methods instead of our overrides.

For this reason, I don't like the code I wrote (It has become nightmarishly non-expandable).

*/
final class Speco {

public interface Speco {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva I believe we have to leave only one method in that class:

XML transform(XML xml);

All work with files have to be moved out of Speco. The methods format, train, input, output are required only in particular Speco implementations and by that reason we don't have to define them for all other implementations.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodya-lombrozo This is an attempt to make Speco classes reusable in multiple dimensions. In addition to the previous answer: I do not know how to use the method of the origin class calling overridden methods in composing classes (e.g. use exec of DefaultSpeco with output of EolangSpeco).

new Speco(this.input, this.output, this.eolang).exec();
Speco speco = new DefaultSpeco(this.input, this.output);
if (this.eolang) {
speco = new EolangSpeco(speco);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Maybe EolangSpeco it is not a Speco ? I mean the Speco actually is a transformation rules that gives us pure XMIR.
If we have to save eo, or read from eo - we can just add utility class that will perform that transformation from/to XMIR. What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodya-lombrozo btw, the current design allows for changes in multiple dimensions (input/output format (EolangSpeco) and flags (ClearXmirSpeco), which can be combined. That is, it may become a problem in the future when new *Speco is added

@advasileva
Copy link
Contributor Author

@volodya-lombrozo I took your code from #93, it really solves the problem with overriding methods. I also fixed tests and qulice checks. I added toXml method to the Walk interface to reduce duplication.

Thanks a lot for the example with the code, so it's clearer what was meant. Solving this problem with a single Speco interface was not the my best idea.


@Override
public void exec() throws IOException {
Files.createDirectories(this.output);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Technically, you still have code duplication between XmirWalk and EoWalk. But let's move on. For now, I just suggest to add puzzle for further refactoring. What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@volodya-lombrozo I don't mind, in which class is it better to add puzzle?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva To any, it doesn't matter

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/**
* Takes source codes on EO, converts to xmir and applies the AOI tool.
* Applies XSL-transformations to file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva It looks like we have xml here, it's not a file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import org.objectionary.aoi.launch.LauncherKt;

/**
* The interface encapsulating applying of specialization to EO.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Looks like it's not an interface

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@volodya-lombrozo volodya-lombrozo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@advasileva Looks good to me. Thanks.

@yegor256 Could you merge that changes, please?

@advasileva
Copy link
Contributor Author

@yegor256 try to merge it, please. Maybe problem with time are already fixed...

@yegor256
Copy link
Member

@rultor merge

@rultor
Copy link
Contributor

rultor commented Mar 19, 2023

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor
Copy link
Contributor

rultor commented Mar 19, 2023

@rultor merge

@advasileva @yegor256 Oops, I failed. You can see the full log here (spent 2hr)

Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.090 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.090 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.090 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.090 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.090 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.090 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@data
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/text()[1]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.091 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.092 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.092 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.092 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
00:11:03.405 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 9 shift(s) in 467ms
00:11:03.641 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 1 shift(s) in 236ms
7b49f70652b0693a7a74f37f578802e828634c72a6f5d9515e0c667e37b5f884
'pid' file is absent on the server after the end of operation; it seems that we didn't manage to start Docker container correctly

@advasileva
Copy link
Contributor Author

@yegor256 sorry, could you try merging again?..

@yegor256
Copy link
Member

@rultor merge

@rultor
Copy link
Contributor

rultor commented Mar 23, 2023

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor
Copy link
Contributor

rultor commented Mar 23, 2023

@rultor merge

@advasileva @yegor256 Oops, I failed. You can see the full log here (spent 2hr)

Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.864 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.864 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.864 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.864 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[1]/o[1]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@data
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[1]/o[2]/o[2]/text()[1]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.865 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.866 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.866 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]
Matches both "node()" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "node()" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.866 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]/@base
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.866 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]/@line
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:28.866 [main] WARN  com.jcabi.xml.ConsoleErrorListener MDC= - #warning(): Ambiguous rule match for /program/speco[1]/version[3]/o[1]/o[3]/o[1]/o[2]/o[1]/@pos
Matches both "@*" on line 109 of file:///org/eolang/speco/1-2-specialization.xsl
and "@*" on line 96 of file:///org/eolang/speco/1-2-specialization.xsl
09:48:29.169 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 9 shift(s) in 441ms
09:48:29.383 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 1 shift(s) in 214ms
c29a62e82ff4f5f1c0d615d4242d1eb07036844f7b7e779a95ce13b420f3f063
'pid' file is absent on the server after the end of operation; it seems that we didn't manage to start Docker container correctly

@advasileva
Copy link
Contributor Author

@yegor256 merge this one too, please

@yegor256
Copy link
Member

@rultor merge

@rultor
Copy link
Contributor

rultor commented Mar 30, 2023

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor
Copy link
Contributor

rultor commented Mar 30, 2023

@rultor merge

@advasileva @yegor256 Oops, I failed. You can see the full log here (spent 3hr)

13:39:03.707 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 7 attribute(s) loaded ["Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Kotlin-Runtime-Component", "Kotlin-Version", "Manifest-Version", "Multi-Release"]
13:39:03.707 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 3 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "Manifest-Version"]
13:39:03.708 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 3 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "Manifest-Version"]
13:39:03.708 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 3 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "Manifest-Version"]
13:39:03.709 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 19 attribute(s) loaded ["Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.710 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 22 attribute(s) loaded ["Bnd-LastModified", "Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version", "Tool"]
13:39:03.711 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 20 attribute(s) loaded ["Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Multi-Release", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.712 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 23 attribute(s) loaded ["Bnd-LastModified", "Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-Description", "Bundle-DocURL", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version", "Tool"]
13:39:03.713 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 19 attribute(s) loaded ["Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.714 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 6 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "JCabi-Build", "JCabi-Date", "JCabi-Version", "Manifest-Version"]
13:39:03.715 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 16 attribute(s) loaded ["Bnd-LastModified", "Build-Jdk-Spec", "Bundle-Description", "Bundle-DocURL", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Created-By", "Export-Package", "Import-Package", "Manifest-Version", "Require-Capability", "Tool"]
13:39:03.715 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 3 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "Manifest-Version"]
13:39:03.716 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 18 attribute(s) loaded ["Bnd-LastModified", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Main-Class", "Manifest-Version", "Multi-Release", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version", "Tool"]
13:39:03.717 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 24 attribute(s) loaded ["Automatic-Module-Name", "Bnd-LastModified", "Build-Jdk-Spec", "Bundle-Description", "Bundle-DocURL", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Include-Resource", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version", "Tool"]
13:39:03.718 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 20 attribute(s) loaded ["Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Provide-Capability", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.718 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 19 attribute(s) loaded ["Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.719 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 15 attribute(s) loaded ["Automatic-Module-Name", "Bnd-LastModified", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Require-Capability", "Tool"]
13:39:03.720 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 9 attribute(s) loaded ["Automatic-Module-Name", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Export-Package", "Import-Package", "Manifest-Version", "Require-Capability"]
13:39:03.720 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 13 attribute(s) loaded ["Build-Jdk-Spec", "Bundle-Description", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Main-Class", "Manifest-Version", "Multi-Release", "Tool"]
13:39:03.721 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 19 attribute(s) loaded ["Agent-Class", "Build-Jdk-Spec", "Bundle-Description", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Can-Redefine-Classes", "Can-Retransform-Classes", "Can-Set-Native-Method-Prefix", "Created-By", "Export-Package", "Import-Package", "Manifest-Version", "Multi-Release", "Premain-Class", "Require-Capability", "Tool"]
13:39:03.722 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 23 attribute(s) loaded ["Automatic-Module-Name", "Bnd-LastModified", "Build-Jdk-Spec", "Bundle-Description", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Created-By", "Dependencies", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version", "Tool"]
13:39:03.723 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 9 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Manifest-Version", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.723 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 9 attribute(s) loaded ["Build-Jdk-Spec", "Created-By", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Manifest-Version", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.724 [main] DEBUG com.jcabi.manifests.Manifests MDC= - 20 attribute(s) loaded ["Build-Date", "Build-Revision", "Build-Time", "Built-By", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-SymbolicName", "Bundle-Version", "Created-By", "Export-Package", "Implementation-Title", "Implementation-Vendor", "Implementation-Version", "Import-Package", "Manifest-Version", "Provide-Capability", "Require-Capability", "Specification-Title", "Specification-Vendor", "Specification-Version"]
13:39:03.726 [main] INFO  com.jcabi.manifests.Manifests MDC= - 0 attributes loaded from 54 stream(s) in 677ms, 53 saved, 601 ignored: []
13:39:04.637 [main] DEBUG com.jcabi.xml.XSDDocument MDC= - com.sun.org.apache.xerces.internal.jaxp.validation.SimpleXMLSchema detected 0 error(s)
13:39:04.661 [main] DEBUG org.eolang.parser.Syntax MDC= - Input of 21 EO lines compiled
13:39:05.145 [main] WARN  com.yegor256.xsline.TrFast MDC= - XSL 'add-refs' took 348ms (over 100ms)
13:39:05.320 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 3 shift(s) in 589ms
13:39:05.433 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 1 shift(s) in 34ms
13:39:05.822 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 9 shift(s) in 387ms
13:39:05.911 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 1 shift(s) in 85ms
13:39:06.040 [main] DEBUG org.eolang.speco.SpecoEoTest MDC= - Started compilation for /tmp/junit18094921541946461752/output with test head:
before: |
  [] > first
    [] > boom
      QQ
      .io
      .stdout > @
        "First!\n"
  [] > 
13:46:48.559 [main] DEBUG org.eolang.speco.SpecoEoTest MDC= - Finished compilation for /tmp/junit18094921541946461752/output and got 14 lines of output
13:46:48.610 [main] DEBUG com.jcabi.xml.XSDDocument MDC= - com.sun.org.apache.xerces.internal.jaxp.validation.SimpleXMLSchema detected 0 error(s)
13:46:48.612 [main] DEBUG org.eolang.parser.Syntax MDC= - Input of 34 EO lines compiled
13:46:48.720 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 3 shift(s) in 93ms
13:46:48.751 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 1 shift(s) in 10ms
13:46:49.086 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 9 shift(s) in 335ms
13:46:49.326 [main] DEBUG com.yegor256.xsline.Xsline MDC= - Transformed XML through 1 shift(s) in 238ms
13:46:49.358 [main] DEBUG org.eolang.speco.SpecoEoTest MDC= - Started compilation for /tmp/junit2911772797203999187/output with test head:
before: |
  [s] > counter
    memory > k
      s
    [] > next
      seq > @
        ^
        .k
  
82915b0c9815521448732c86fceffcdae03fbe5095553d31c16aa69f9834a265
'pid' file is absent on the server after the end of operation; it seems that we didn't manage to start Docker container correctly

@advasileva
Copy link
Contributor Author

@volodya-lombrozo Сould you see why this test freezes and as a result the whole build cancels in time? Locally, the program from this test is successfully executed in 7 minutes.

@advasileva
Copy link
Contributor Author

@yegor256 try merge pls

@yegor256
Copy link
Member

@rultor merge

@rultor
Copy link
Contributor

rultor commented Apr 13, 2023

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor rultor merged commit 7ad77c1 into objectionary:master Apr 13, 2023
@0pdd
Copy link

0pdd commented Apr 13, 2023

@advasileva the puzzle #109 is still not solved.

@rultor
Copy link
Contributor

rultor commented Apr 13, 2023

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 15min)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants