diff --git a/eo-maven-plugin/src/it/custom_goals/verify.groovy b/eo-maven-plugin/src/it/custom_goals/verify.groovy index be1ba9c4f8..d01cb9703a 100644 --- a/eo-maven-plugin/src/it/custom_goals/verify.groovy +++ b/eo-maven-plugin/src/it/custom_goals/verify.groovy @@ -37,8 +37,8 @@ */ [ 'target/eo/5-resolve', - 'target/eo/6-pre', - 'target/eo/7-transpile', + 'target/eo/7-pre', + 'target/eo/8-transpile', ].each { assert !new File(basedir, it).exists() } true diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/AssembleMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/AssembleMojo.java index 6c89add7cc..0e4edee4ca 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/AssembleMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/AssembleMojo.java @@ -107,8 +107,11 @@ public final class AssembleMojo extends SafeMojo { /** * Whether we should fail on error. - * @checkstyle MemberNameCheck (7 lines) + * @checkstyle MemberNameCheck (11 lines) * @since 0.23.0 + * @todo #2443:90min Remove the following failOnError flag. Now we + * have already got rid from it in {@link OptimizeMojo} and {@link VerifyMojo}. + * We need to make failOnError the behaviour default. */ @SuppressWarnings("PMD.ImmutableField") @Parameter( diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/BinarizeParseMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/BinarizeParseMojo.java index 26f360a4ad..3a6918bf1c 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/BinarizeParseMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/BinarizeParseMojo.java @@ -114,7 +114,7 @@ public final class BinarizeParseMojo extends SafeMojo { public void exec() throws IOException { new File(this.targetDir.toPath().resolve("Lib/").toString()).mkdirs(); for (final ForeignTojo tojo : this.scopedTojos().withOptimized()) { - final Path file = tojo.shaken(); + final Path file = tojo.verified(); this.getFFIs(new XMLDocument(file)) .forEach(FFINode::generateUnchecked); } diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/OptimizeMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/OptimizeMojo.java index 6f8792ee1a..20f0129c7a 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/OptimizeMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/OptimizeMojo.java @@ -24,7 +24,6 @@ package org.eolang.maven; import com.jcabi.log.Logger; -import com.yegor256.xsline.TrDefault; import java.io.IOException; import java.nio.file.Path; import java.util.Collection; @@ -87,31 +86,6 @@ public final class OptimizeMojo extends SafeMojo { @Parameter(property = "eo.trackOptimizationSteps", required = true, defaultValue = "false") private boolean trackOptimizationSteps; - /** - * Whether we should fail on error. - * - * @checkstyle MemberNameCheck (7 lines) - * @since 0.23.0 - */ - @SuppressWarnings("PMD.ImmutableField") - @Parameter( - property = "eo.failOnError", - defaultValue = "true") - private boolean failOnError = true; - - /** - * Whether we should fail on warn. - * - * @checkstyle MemberNameCheck (10 lines) - */ - @SuppressWarnings("PMD.ImmutableField") - @Parameter( - property = "eo.failOnWarning", - required = true, - defaultValue = "false" - ) - private boolean failOnWarning; - @Override public void exec() throws IOException { final Collection tojos = this.scopedTojos().withXmir(); @@ -157,17 +131,7 @@ private Optimization optimization() { } else { opt = new OptTrain(new ParsingTrain()); } - if (this.failOnError) { - opt = new OptTrain(opt, "/org/eolang/parser/fail-on-errors.xsl"); - } - if (this.failOnWarning) { - opt = new OptTrain(opt, "/org/eolang/parser/fail-on-warnings.xsl"); - } - if (this.failOnError) { - opt = new OptTrain(opt, "/org/eolang/parser/fail-on-critical.xsl"); - } else { - opt = new OptTrain(opt, new TrDefault<>()); - } + opt = new OptTrain(opt, "/org/eolang/parser/fail-on-critical.xsl"); return opt; } } diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/TranspileMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/TranspileMojo.java index 294055c910..fe0d0b24c8 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/TranspileMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/TranspileMojo.java @@ -68,10 +68,15 @@ @SuppressWarnings("PMD.LongVariable") public final class TranspileMojo extends SafeMojo { + /** + * The directory where to put pre-transpile files. + */ + public static final String PRE = "7-pre"; + /** * The directory where to transpile to. */ - public static final String DIR = "7-transpile"; + public static final String DIR = "8-transpile"; /** * Extension for compiled sources in XMIR format (XML). @@ -104,11 +109,6 @@ public final class TranspileMojo extends SafeMojo { */ private static final Pattern JAVA_EXT = Pattern.compile(".java", Pattern.LITERAL); - /** - * The directory where to put pre-transpile files. - */ - private static final String PRE = "6-pre"; - /** * Target directory. * @checkstyle MemberNameCheck (7 lines) @@ -185,7 +185,7 @@ public void exec() throws IOException { */ private int transpile(final ForeignTojo tojo) throws IOException { final int saved; - final Path file = tojo.shaken(); + final Path file = tojo.verified(); final XML input = new XMLDocument(file); final String name = input.xpath("/program/@name").get(0); final Place place = new Place(name); diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index e583b207b0..d620bfde66 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -23,21 +23,25 @@ */ package org.eolang.maven; +import com.jcabi.log.Logger; +import com.yegor256.xsline.TrDefault; import java.io.IOException; +import java.nio.file.Path; +import java.util.Collection; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; +import org.cactoos.iterable.Filtered; +import org.cactoos.map.MapEntry; +import org.cactoos.map.MapOf; +import org.eolang.maven.optimization.OptTrain; +import org.eolang.maven.optimization.Optimization; +import org.eolang.maven.tojos.ForeignTojo; /** * Mojo that checks errors and warnings after "assemble" phase. * * @since 0.31.0 - * @todo #1708:30min Implement VerifyMojo. VerifyMojo should check all errors - * and critical errors in xmir after {@link AssembleMojo} is finished. Also if - * {@code failOnWarning} flag is set to true - mojo should check warnings. When - * mojo is implemented - need to remove "failOnError" flag from - * {@link OptimizeMojo} and put "verify" step right after "assemble" in all - * pom.xml files */ @Mojo( name = "verify", @@ -45,6 +49,7 @@ threadSafe = true ) public final class VerifyMojo extends SafeMojo { + /** * Whether we should fail on warning. * @@ -60,11 +65,51 @@ public final class VerifyMojo extends SafeMojo { @Override void exec() throws IOException { - throw new UnsupportedOperationException( - String.format( - "The VerifyMojo is not implemented yet, failOnWarning is %s", - this.failOnWarning + final Collection tojos = this.scopedTojos().withXmir(); + final int total = new OptimizedTojos( + new Filtered<>( + ForeignTojo::notVerified, + tojos + ), + this.optimization(), + new OptimizationTask( + new MapOf( + new MapEntry<>(OptimizationFolder.TARGET.key(), this.targetDir.toPath()), + new MapEntry<>(OptimizationFolder.CACHE.key(), this.cache) + ), + new MapOf( + new MapEntry<>(OptimizationFolder.TARGET.key(), "6-verify"), + new MapEntry<>(OptimizationFolder.CACHE.key(), "verified") + ), + ForeignTojo::withVerified, + ForeignTojo::shaken ) + ).count(); + if (total > 0) { + Logger.info( + this, + "Verified %d out of %d XMIR program(s)", total, + tojos.size() + ); + } else { + Logger.debug(this, "No XMIR programs out of %d verify", tojos.size()); + } + } + + /** + * Verifying optimizations for tojos. + * + * @return Verifying optimizations + */ + private Optimization optimization() { + Optimization opt = new OptTrain( + new OptTrain(new TrDefault<>()), + "/org/eolang/parser/fail-on-errors.xsl" ); + if (this.failOnWarning) { + opt = new OptTrain(opt, "/org/eolang/parser/fail-on-warnings.xsl"); + } + return opt; } + } diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojo.java index b84ed6bfc4..6f47fc85e0 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojo.java @@ -77,6 +77,14 @@ public Path optimized() { return Paths.get(this.delegate.get(ForeignTojos.Attribute.OPTIMIZED.key())); } + /** + * The tojo verified xmir. + * @return The verified xmir. + */ + public Path verified() { + return Paths.get(this.delegate.get(ForeignTojos.Attribute.VERIFIED.key())); + } + /** * The tojo shaken xmir. * @return The shaken xmir. @@ -170,6 +178,27 @@ public boolean notShaken() { return res; } + /** + * Checks if tojo was not already verified. + * + * @return True if optimization is required, false otherwise. + */ + public boolean notVerified() { + final Path src = this.xmir(); + boolean res = true; + if (this.delegate.exists(ForeignTojos.Attribute.VERIFIED.key())) { + final Path tgt = this.verified(); + if (tgt.toFile().lastModified() >= src.toFile().lastModified()) { + Logger.debug( + this, "Already verified %s to %s", + new Rel(src), new Rel(tgt) + ); + res = false; + } + } + return res; + } + /** * Check if the given tojo has not been parsed. * @@ -261,6 +290,16 @@ public ForeignTojo withShaken(final Path xmir) { return this; } + /** + * Set the verified xmir. + * @param xmir The verified xmir. + * @return The tojo itself. + */ + public ForeignTojo withVerified(final Path xmir) { + this.delegate.set(ForeignTojos.Attribute.VERIFIED.key(), xmir.toString()); + return this; + } + /** * Set the eo path. * @param source The eo path. diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojos.java b/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojos.java index 5353913432..77685d9a81 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojos.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/tojos/ForeignTojos.java @@ -318,6 +318,11 @@ enum Attribute { */ SHAKEN("shaken"), + /** + * Path to the verified xmir file. + */ + VERIFIED("verified"), + /** * Absolute location of SODG file. */ diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/FakeMaven.java b/eo-maven-plugin/src/test/java/org/eolang/maven/FakeMaven.java index 261c5ff084..6e6d9fbcb0 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/FakeMaven.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/FakeMaven.java @@ -654,6 +654,7 @@ public Iterator> iterator() { ParseMojo.class, OptimizeMojo.class, ShakeMojo.class, + VerifyMojo.class, TranspileMojo.class ).iterator(); } @@ -672,6 +673,7 @@ public Iterator> iterator() { ParseMojo.class, OptimizeMojo.class, ShakeMojo.class, + VerifyMojo.class, BinarizeMojo.class ).iterator(); } @@ -690,6 +692,7 @@ public Iterator> iterator() { ParseMojo.class, OptimizeMojo.class, ShakeMojo.class, + VerifyMojo.class, BinarizeParseMojo.class ).iterator(); } diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/OptimizeMojoTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/OptimizeMojoTest.java index a8c82f5c6c..82aab5f6d7 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/OptimizeMojoTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/OptimizeMojoTest.java @@ -23,14 +23,7 @@ */ package org.eolang.maven; -import com.jcabi.matchers.XhtmlMatchers; -import com.jcabi.xml.XML; import com.jcabi.xml.XMLDocument; -import com.jcabi.xml.XSLDocument; -import com.yegor256.xsline.Shift; -import com.yegor256.xsline.StXSL; -import com.yegor256.xsline.TrDefault; -import com.yegor256.xsline.Xsline; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; @@ -226,74 +219,7 @@ void optimizesConcurrentlyWithLotsOfPrograms(@TempDir final Path temp) throws IO } @Test - void failsOnErrorFlag(@TempDir final Path temp) throws IOException { - MatcherAssert.assertThat( - new FakeMaven(temp) - .withProgram( - "+package f\n", - "+alias THIS-IS-WRONG org.eolang.io.stdout", - "[args] > main", - " (stdout \"Hello!\").print > @" - ) - .with("failOnError", false) - .execute(new FakeMaven.Optimize()) - .result(), - Matchers.not( - Matchers.hasKey( - String.format("target/%s/foo/x/main.%s", OptimizeMojo.DIR, TranspileMojo.EXT) - ) - ) - ); - } - - @Test - void failsOptimization(@TempDir final Path temp) { - Assertions.assertThrows( - IllegalStateException.class, - () -> new FakeMaven(temp) - .withProgram( - "+package f", - "+alias THIS-IS-WRONG org.eolang.io.stdout\n", - "[args] > main", - " (stdout \"Hello!\").print > @" - ) - .execute(new FakeMaven.Optimize()) - ); - } - - @Test - void stopsOnCritical(@TempDir final Path temp) throws IOException { - MatcherAssert.assertThat( - new XMLDocument( - new FakeMaven(temp) - .withProgram( - "+package f\n", - "[args] > main", - " seq > @", - " TRUE > x", - " FALSE > x" - ) - .with("trackOptimizationSteps", true) - .with("failOnError", false) - .execute(new FakeMaven.Optimize()) - .result() - .get( - String.format( - "target/%s/foo/x/main/28-duplicate-names.xml", - OptimizeMojo.STEPS - ) - ) - ), - XhtmlMatchers.hasXPaths( - "/program/sheets[count(sheet)=2]", - "/program/errors[count(error)=1]", - "/program/errors/error[@severity='critical']" - ) - ); - } - - @Test - void failsOnCritical(@TempDir final Path temp) { + void failsOnCritical(@TempDir final Path temp) throws IOException { Assertions.assertThrows( IllegalStateException.class, () -> new FakeMaven(temp) @@ -303,36 +229,11 @@ void failsOnCritical(@TempDir final Path temp) { " seq > @", " TRUE > x", " FALSE > x" - ) + ).with("trackOptimizationSteps", true) .execute(new FakeMaven.Optimize()) ); } - @Test - void failsOnWarning(@TempDir final Path temp) throws Exception { - final FakeMaven maven = new FakeMaven(temp) - .withProgram( - "+architect yegor256@gmail.com", - "+tests", - "+package org.eolang.examples\n", - "[] > main", - " [] > @", - " hello > test" - ); - this.applyXsl( - "org/eolang/maven/set-warning-severity.xsl", - maven.execute(ParseMojo.class) - .result() - .get("target/1-parse/foo/x/main.xmir") - ); - Assertions.assertThrows( - IllegalStateException.class, - () -> maven.with("failOnError", false) - .with("failOnWarning", true) - .execute(OptimizeMojo.class) - ); - } - @Test void choosesTransformerFactoryOnce() { MatcherAssert.assertThat( @@ -352,21 +253,4 @@ void choosesTransformerFactoryInConcurrentEnvironment() { ); } } - - /** - * Apply XSL transformation. - * @param xsl Path to XSL within classpath - * @param xml Path to XML to be tranformed - */ - private void applyXsl(final String xsl, final Path xml) throws Exception { - final XML output = new Xsline( - new TrDefault() - .with( - new StXSL( - new XSLDocument( - new ResourceOf(xsl).stream() - ))) - ).pass(new XMLDocument(xml)); - new HmBase(xml.getParent()).save(output.toString(), xml.getParent().relativize(xml)); - } } diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/ResolveMojoTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/ResolveMojoTest.java index 75e6553f7e..17be1e564a 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/ResolveMojoTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/ResolveMojoTest.java @@ -56,7 +56,10 @@ void resolvesWithSingleDependency(@TempDir final Path temp) throws IOException { "[] > foo /int" ) ).execute(new FakeMaven.Resolve()); - final Path path = temp.resolve("target/5-resolve/org.eolang/eo-runtime/-/0.7.0"); + final Path path = temp + .resolve("target") + .resolve(ResolveMojo.DIR) + .resolve("org.eolang/eo-runtime/-/0.7.0"); MatcherAssert.assertThat(path.toFile(), FileMatchers.anExistingDirectory()); MatcherAssert.assertThat( path.resolve("eo-runtime-0.7.0.jar").toFile(), @@ -74,7 +77,10 @@ void resolvesWithoutAnyDependencies(@TempDir final Path temp) throws IOException ); maven.foreignTojos().add("sum").withDiscovered(0); maven.execute(new FakeMaven.Resolve()); - final Path path = temp.resolve("target/5-resolve/org.eolang/eo-runtime/-/"); + final Path path = temp + .resolve("target") + .resolve(ResolveMojo.DIR) + .resolve("org.eolang/eo-runtime/-/"); MatcherAssert.assertThat(path.toFile(), FileMatchers.anExistingDirectory()); MatcherAssert.assertThat( path, diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/TranspileMojoTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/TranspileMojoTest.java index c8d355d408..7fbffb961b 100755 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/TranspileMojoTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/TranspileMojoTest.java @@ -106,7 +106,9 @@ void recompilesIfExpired(@TempDir final Path temp) throws IOException { .execute(new FakeMaven.Transpile()) .result(); final Path java = res.get(this.compiled); - final Path xmir = res.get("target/7-transpile/foo/x/main.xmir"); + final Path xmir = res.get( + String.format("target/%s/foo/x/main.xmir", TranspileMojo.DIR) + ); MatcherAssert.assertThat(java.toFile(), FileMatchers.anExistingFile()); MatcherAssert.assertThat(xmir.toFile(), FileMatchers.anExistingFile()); MatcherAssert.assertThat(java.toFile().setLastModified(0L), Matchers.is(true)); diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/VerifyMojoTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/VerifyMojoTest.java index ea7bfa0296..50aa402932 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/VerifyMojoTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/VerifyMojoTest.java @@ -23,9 +23,17 @@ */ package org.eolang.maven; +import com.jcabi.xml.XML; +import com.jcabi.xml.XMLDocument; +import com.jcabi.xml.XSLDocument; +import com.yegor256.xsline.Shift; +import com.yegor256.xsline.StXSL; +import com.yegor256.xsline.TrDefault; +import com.yegor256.xsline.Xsline; import java.nio.file.Path; +import org.cactoos.io.ResourceOf; +import org.eolang.maven.util.HmBase; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -38,10 +46,10 @@ * eo-parser/src/main/resources/org/eolang/parser/fail-on-critical.xsl it includes * filename and line inside. */ +@SuppressWarnings("PMD.AvoidDuplicateLiterals") class VerifyMojoTest { @Test - @Disabled void doesNotFailWithNoErrorsAndWarnings(@TempDir final Path temp) { Assertions.assertDoesNotThrow( () -> new FakeMaven(temp) @@ -52,7 +60,6 @@ void doesNotFailWithNoErrorsAndWarnings(@TempDir final Path temp) { } @Test - @Disabled void detectsErrorsSuccessfully(@TempDir final Path temp) { Assertions.assertThrows( IllegalStateException.class, @@ -69,7 +76,6 @@ void detectsErrorsSuccessfully(@TempDir final Path temp) { } @Test - @Disabled void detectsWarningWithCorrespondingFlag(@TempDir final Path temp) { Assertions.assertThrows( IllegalStateException.class, @@ -87,7 +93,6 @@ void detectsWarningWithCorrespondingFlag(@TempDir final Path temp) { } @Test - @Disabled void doesNotDetectWarningWithoutCorrespondingFlag(@TempDir final Path temp) { Assertions.assertDoesNotThrow( () -> new FakeMaven(temp) @@ -104,19 +109,60 @@ void doesNotDetectWarningWithoutCorrespondingFlag(@TempDir final Path temp) { } @Test - @Disabled - void detectsCriticalError(@TempDir final Path temp) { + void failsOptimizationOnError(@TempDir final Path temp) { Assertions.assertThrows( IllegalStateException.class, () -> new FakeMaven(temp) .withProgram( - "+package f\n", - "[] > main", - " [] > name", - " [] > name" + "+package f", + "+alias THIS-IS-WRONG org.eolang.io.stdout\n", + "[args] > main", + " (stdout \"Hello!\").print > @" ) .execute(new FakeMaven.Verify()), - "Program with duplicate names should have failed on critical error, but it didn't" + "Error in the eo code because of invalid alias, should fail" + ); + } + + @Test + void failsOnWarning(@TempDir final Path temp) throws Exception { + final FakeMaven maven = new FakeMaven(temp) + .withProgram( + "+architect yegor256@gmail.com", + "+tests", + "+package org.eolang.examples\n", + "[] > main", + " [] > @", + " hello > test" + ); + VerifyMojoTest.applyXsl( + "org/eolang/maven/set-warning-severity.xsl", + maven.execute(ParseMojo.class) + .result() + .get("target/1-parse/foo/x/main.xmir") ); + Assertions.assertThrows( + IllegalStateException.class, + () -> maven.with("failOnWarning", true) + .execute(VerifyMojo.class), + "Program with warning should fail" + ); + } + + /** + * Apply XSL transformation. + * @param xsl Path to XSL within classpath + * @param xml Path to XML to be tranformed + */ + private static void applyXsl(final String xsl, final Path xml) throws Exception { + final XML output = new Xsline( + new TrDefault() + .with( + new StXSL( + new XSLDocument( + new ResourceOf(xsl).stream() + ))) + ).pass(new XMLDocument(xml)); + new HmBase(xml.getParent()).save(output.toString(), xml.getParent().relativize(xml)); } } diff --git a/eo-runtime/pom.xml b/eo-runtime/pom.xml index d9304ff2c8..177b49386c 100644 --- a/eo-runtime/pom.xml +++ b/eo-runtime/pom.xml @@ -156,6 +156,7 @@ SOFTWARE. register assemble + verify transpile copy unplace @@ -177,6 +178,7 @@ SOFTWARE. register assemble + verify transpile binarize diff --git a/eo-runtime/src/test/groovy/check-folders-numbering.groovy b/eo-runtime/src/test/groovy/check-folders-numbering.groovy index 1fda93602f..cc072abf52 100644 --- a/eo-runtime/src/test/groovy/check-folders-numbering.groovy +++ b/eo-runtime/src/test/groovy/check-folders-numbering.groovy @@ -38,8 +38,9 @@ List allowed = [ '3-shake', '4-pull', '5-resolve', - '6-pre', - '7-transpile', + '6-verify', + '7-pre', + '8-transpile', ] List allowedDirs = allowed.stream() .map { target.resolve(it).toFile() }