objectionary / eo

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-calculus
https://www.eolang.org
MIT License
1.01k stars 126 forks source link

File name too long #3237

Closed levBagryansky closed 2 months ago

levBagryansky commented 3 months ago

This issue is similar to #1249 but is not about tests. I created very nesting object in eo-runtime/src/main/eo/org/eolang directory

# nesting-blah.
[] > nesting-blah
  blah0 > @
  # This is the default 64+ symbols comment in front of named abstract object.
  [] > blah0
    blah1 > @
    # This is the default 64+ symbols comment in front of named abstract object.
    [] > blah1
      blah2 > @
      # This is the default 64+ symbols comment in front of named abstract object.
      [] > blah2
        blah3 > @
        # This is the default 64+ symbols comment in front of named abstract object.
        [] > blah3
          blah4 > @
          # This is the default 64+ symbols comment in front of named abstract object.
          [] > blah4
            blah5 > @
            # This is the default 64+ symbols comment in front of named abstract object.
            [] > blah5
              blah6 > @
              # This is the default 64+ symbols comment in front of named abstract object.
              [] > blah6
                blah7 > @
                # This is the default 64+ symbols comment in front of named abstract object.
                [] > blah7
                  blah8 > @
                  # This is the default 64+ symbols comment in front of named abstract object.
                  [] > blah8
                    blah9 > @
                    # This is the default 64+ symbols comment in front of named abstract object.
                    [] > blah9
                      blah10 > @
                      # This is the default 64+ symbols comment in front of named abstract object.
                      [] > blah10
                        blah11 > @
                        # This is the default 64+ symbols comment in front of named abstract object.
                        [] > blah11
                          blah12 > @
                          # This is the default 64+ symbols comment in front of named abstract object.
                          [] > blah12
                            blah13 > @
                            # This is the default 64+ symbols comment in front of named abstract object.
                            [] > blah13
                              blah14 > @
                              # This is the default 64+ symbols comment in front of named abstract object.
                              [] > blah14
                                blah15 > @
                                # This is the default 64+ symbols comment in front of named abstract object.
                                [] > blah15
                                  blah16 > @
                                  # This is the default 64+ symbols comment in front of named abstract object.
                                  [] > blah16
                                    blah17 > @
                                    # This is the default 64+ symbols comment in front of named abstract object.
                                    [] > blah17
                                      blah18 > @
                                      # This is the default 64+ symbols comment in front of named abstract object.
                                      [] > blah18
                                        blah19 > @
                                        # This is the default 64+ symbols comment in front of named abstract object.
                                        [] > blah19
                                          blah20 > @
                                          # This is the default 64+ symbols comment in front of named abstract object.
                                          [] > blah20
                                            blah21 > @
                                            # This is the default 64+ symbols comment in front of named abstract object.
                                            [] > blah21
                                              blah22 > @
                                              # This is the default 64+ symbols comment in front of named abstract object.
                                              [] > blah22
                                                blah23 > @
                                                # This is the default 64+ symbols comment in front of named abstract object.
                                                [] > blah23
                                                  blah24 > @
                                                  # This is the default 64+ symbols comment in front of named abstract object.
                                                  [] > blah24
                                                    blah25 > @
                                                    # This is the default 64+ symbols comment in front of named abstract object.
                                                    [] > blah25
                                                      blah26 > @
                                                      # This is the default 64+ symbols comment in front of named abstract object.
                                                      [] > blah26
                                                        blah27 > @
                                                        # This is the default 64+ symbols comment in front of named abstract object.
                                                        [] > blah27
                                                          blah28 > @
                                                          # This is the default 64+ symbols comment in front of named abstract object.
                                                          [] > blah28
                                                            blah29 > @
                                                            # This is the default 64+ symbols comment in front of named abstract object.
                                                            [] > blah29
                                                              blah30 > @
                                                              # This is the default 64+ symbols comment in front of named abstract object.
                                                              [] > blah30
                                                                blah31 > @
                                                                # This is the default 64+ symbols comment in front of named abstract object.
                                                                [] > blah31
                                                                  blah32 > @
                                                                  # This is the default 64+ symbols comment in front of named abstract object.
                                                                  [] > blah32
                                                                    blah33 > @
                                                                    # This is the default 64+ symbols comment in front of named abstract object.
                                                                    [] > blah33
                                                                      blah34 > @
                                                                      # This is the default 64+ symbols comment in front of named abstract object.
                                                                      [] > blah34
                                                                        blah35 > @
                                                                        # This is the default 64+ symbols comment in front of named abstract object.
                                                                        [] > blah35
                                                                          blah36 > @
                                                                          # This is the default 64+ symbols comment in front of named abstract object.
                                                                          [] > blah36
                                                                            blah37 > @
                                                                            # This is the default 64+ symbols comment in front of named abstract object.
                                                                            [] > blah37
                                                                              blah38 > @
                                                                              # This is the default 64+ symbols comment in front of named abstract object.
                                                                              [] > blah38
                                                                                blah39 > @
                                                                                # This is the default 64+ symbols comment in front of named abstract object.
                                                                                [] > blah39
                                                                                  true > @

And got error

[WARNING] skip failed file: Could not process file /home/tardis3/eo/eo-runtime/target/generated-sources/EOorg/EOeolang/EOnesting_blah$EOblah0$EOblah1$EOblah2$EOblah3$EOblah4$EOblah5$EOblah6$EOblah7$EOblah8$EOblah9$EOblah10$EOblah11$EOblah12$EOblah13$EOblah14$EOblah15$EOblah16$EOblah17$EOblah18$EOblah19$EOblah20$EOblah21$EOblah22$EOblah23$EOblah24$EOblah25.java for reason /home/tardis3/eo/eo-runtime/target/generated-sources/EOorg/EOeolang/EOnesting_blah$EOblah0$EOblah1$EOblah2$EOblah3$EOblah4$EOblah5$EOblah6$EOblah7$EOblah8$EOblah9$EOblah10$EOblah11$EOblah12$EOblah13$EOblah14$EOblah15$EOblah16$EOblah17$EOblah18$EOblah19$EOblah20$EOblah21$EOblah22$EOblah23$EOblah24$EOblah25.java_1716515486154 (File name too long)
java.io.IOException: Could not process file /home/tardis3/eo/eo-runtime/target/generated-sources/EOorg/EOeolang/EOnesting_blah$EOblah0$EOblah1$EOblah2$EOblah3$EOblah4$EOblah5$EOblah6$EOblah7$EOblah8$EOblah9$EOblah10$EOblah11$EOblah12$EOblah13$EOblah14$EOblah15$EOblah16$EOblah17$EOblah18$EOblah19$EOblah20$EOblah21$EOblah22$EOblah23$EOblah24$EOblah25.java for reason /home/tardis3/eo/eo-runtime/target/generated-sources/EOorg/EOeolang/EOnesting_blah$EOblah0$EOblah1$EOblah2$EOblah3$EOblah4$EOblah5$EOblah6$EOblah7$EOblah8$EOblah9$EOblah10$EOblah11$EOblah12$EOblah13$EOblah14$EOblah15$EOblah16$EOblah17$EOblah18$EOblah19$EOblah20$EOblah21$EOblah22$EOblah23$EOblah24$EOblah25.java_1716515486154 (File name too long)
levBagryansky commented 3 months ago

The problem can be in name convention for eo objects or in org.codehaus.mojo:license-maven-plugin

github-actions[bot] commented 3 months ago

@levBagryansky thanks for the report, here is a feedback:

Problems

I would recommend providing a clear, step-by-step guide on how to reproduce the error from environment setup to the error occurrence.

Please fix the bug report in order it to get resolved faster. Analyzed with gpt-4

levBagryansky commented 2 months ago

The problem is in org.codehaus.mojo:license-maven-plugin which is started in verify phase. eo/pom.xml:

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>2.4.0</version>
        <executions>
          <execution>
            <id>check-licenses</id>
            <phase>verify</phase>
            <goals>
              <goal>check-file-header</goal>
            </goals>
            <configuration>
              <licenseName>mit</licenseName>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
levBagryansky commented 2 months ago

I think it is not a problem since we don't need such nesting objects in eo-runtime and it still does not limit user of eo.