Skip to content
This repository

Stop jasmine:test from re-executing build phases #54

Closed
wants to merge 4 commits into from

13 participants

Dan Freeman Justin Searls ryan bridges Val Urbanskyi jfpdazey Jacob Hansson Julian Simpson Brian Kotek coopstah13 Xavier Shay parxier Dragan Bajcic ProggerPete
Dan Freeman

With the current setup in TestMojo.java and lifecycle.xml, every build phase prior to test will be executed twice: once as part of the normal build lifecycle and again due to the @execute in TestMojo.

This happens because the definition in lifecycle.xml simply layers an additional mapping over the default lifecycle. This change instead declares a parallel (pristine) Jasmine lifecycle that will execute in its place. Based on commit messages, it looks as though that may have been your original goal?

Note that this change will require <extensions>true</extensions> in the <plugin> declaration in a client project, because Maven will not look for additional lifecycle definitions in a plugin by default. This seems preferable to me, though, over having the build basically run twice prior to testing.

Justin Searls
Owner

Thanks for the pull request. I just attempted to merge it and all the cucumber tests failed. :-(

Here's the output for this example project:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Example Webapp using Jasmine Maven Plugin 1.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.475s
[INFO] Finished at: Tue Jan 10 17:35:31 EST 2012
[INFO] Final Memory: 3M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Unknown lifecycle phase "jasmine-process-test-resources". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy, pre-clean, clean, post-clean. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException

Dan Freeman

Oops, my bad. That ought to do it -- it did for me locally, anyway :-)

Justin Searls
Owner

If this change would require every user of the plugin to add <extensions>true</extensions> to their POM files, then I don't think I'll merge it in. :-(

Dan Freeman

I'd mentioned that in the original comment in the pull request.
I realize it's not ideal to force a config change on a user, but that kind of thing is exactly why Maven is so strict about explicit version specifications when you include a plugin in your POM - you know that if you go in and change it, you're potentially going to have to tweak other things as well.
With the examples updated and a note on the wiki, I don't see this change being that big a deal (particularly when the alternative is having your whole build execute twice prior to testing), but of course the call is yours, and I'll leave it at that.

Justin Searls
Owner

Apologies for the frustration I may have just provoked. Part of the reason I haven't done a good job at following along in this thread is that I haven't been able to replicate or witness this behavior myself.

If I, say, run mvn clean test in a project, what exactly should I look for to clue me into phases executing twice?

Dan Freeman

I apologize; that may have come off more frustrated than I actually am.

Running from mvn clean test with a barebones POM produces the following output:

[INFO] ------------------------------------------------------------------------
[INFO] Building Sample Project 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
...
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ project ---
[INFO] No sources to compile
...
[INFO] >>> jasmine-maven-plugin:1.1.0.1-SNAPSHOT:test (default) @ project >>>
...
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ project ---
[INFO] No sources to compile
...
[INFO] <<< jasmine-maven-plugin:1.1.0.1-SNAPSHOT:test (default) @ project <<<
[INFO]
[INFO] --- jasmine-maven-plugin:1.1.0.1-SNAPSHOT:test (default) @ project ---
[INFO] Executing Jasmine Specs
[INFO]
...

The >>> and <<< lines mark when the build process enters the parallel lifecycle, just before the jasmine:test goal itself actually executes. Note that compiler:compile is executed once prior to the fork, and again inside it. You can see in the full output that it happens with the resources:resources goal as well, since that's bound to the process-resources phase in the default lifecycle. It also occurs with any other goal bound in the project to a build phase prior to test.

I've reproduced this on a couple different systems, and I ran into the same issue when developing a plugin myself a little while back. That said, if you're not seeing similar behavior on your end, it's possible I'm just crazy. :-)

ryan bridges

Has any progress been made on this issue? I have a large amount of javascript that is combined and minified during the process-resources phase, which is run twice when the jasmine plugin is included, even if the tests are skipped. I've come across a blog post which outlines a resolution for a similar issue with the maven-sources-plugin.

http://blog.peterlynch.ca/2010/05/maven-how-to-prevent-generate-sources.html

You may be able to use the concepts there do keep from forcing configuration changes on your users.

Dan Freeman

From what I gather, the trick in that blog post relies on the existence of the jar-no-fork goal, which doesn't spawn a parallel lifecycle like the standard jar goal does.
Because there's no non-forking goal in this plugin to execute Jasmine tests, I don't believe that's an option here.

Justin Searls
Owner

that there isn't a backwards-compatible solution to this is understandably frustrating.

@dfreeman - would you open a Maven question on this on StackOverflow? Maybe we're missing something?

Val Urbanskyi

+1
(failed to find something like vote)

Dan Freeman

Unfortunately I don't have the bandwidth right now to put together a well-constructed SO question, but if anyone else does, I'll +1 and watch with interest. Alternatively I may have the chance to revisit and put one together this weekend or next.

The root of the problem, though, (as I understand it) is that Maven does not expose a way to define a lifecycle from scratch. Anything defined in lifecycle.xml is layered on top of the default lifecycle. The way around this is to go directly to Plexus (Maven's IoC framework) and define the new one there as a peer to the defaults.
Maven has to then be told, however, to look for the added components -- hence the requirement for <extensions>true</extensions>.

The documentation out there is somewhat sparse, though, and this is just what I've managed to piece together by cross referencing various mostly-accurate articles against some of the Maven source and my own trial-and-error, so if someone does come up with a better solution, I'll be excited to hear it.

ryan bridges
Val Urbanskyi

I would say that is not a Maven problem. You just are free to fork your lifecycle, but reason to do so is only up to you. For me that is question what purpose of "jasmine-lifecycle" as far as it is not full (has not packaging at least). :)

Justin Searls
Owner

@striped are you suggesting that a custom lifecycle is itself inappropriate for this use?

At this point I can't even remember why I added it, but I believe it was so that users could enter commands like mvn jasmine:bdd directly.

Dan Freeman

If that's your reason for wanting the parallel lifecycle, an alternative might be to chain @executes from each goal to its dependency, e.g.

/**
 * @component
 * @goal test
 * @phase test
 * @execute goal="testResources"
 */
public class TestMojo extends AbstractJasmineMojo { /* ... */ }

Both ProcessTestResourcesMojo and ServerMojo would then have @execute goal="generateManualRunner", and so on up. I haven't had the chance to try this out in practice, but intuitively it seems it might get you what you're after and avoid the custom lifecycle altogether.

Justin Searls
Owner

@dfreeman that was actually a shot in the dark, I implemented it 9 months ago and would have to read the commit history from last June to figure out why I (felt I) needed it.

jfpdazey

I know this has been dormant for a couple of months now, but I've been seeing the exact same issues as mentioned above by others. Any updates or thoughts on this - maybe creating a second non-forking goal (depending on your answer to the question above)? I'm in the same group as @dfreeman - I'd rather add the one-liner config change for Plexus than continue to experience the issues above.

Jacob Hansson

I'm with @jfpdazey - would rather add a config option to our pom than double the project build time like we do now.

/cc @simpsonjulian @nawroth - this is why the server is building twice. Given the discussion above, do either of you have any input on how to work around this without adding the config option?

Julian Simpson

I'm with @jakewins and @jfpdazey - the benefits of the improved build time outweighs the inconvenience of adding a config option - significantly on our project.

Brian Kotek

Just started using the jasmine-maven plugin and I'm also getting a "double build", which is making the build take significantly (well, twice!) as long. Any progress on this? Or does anyone know of a workaround to prevent it until there's a permanent solution? Thanks.

Justin Searls
Owner
searls commented

@brian428 not everyone is experiencing this (somehow, it's not clear what makes the difference). I'm really only comfortable pulling in a pull request that implements this on the following condition:

  • For users who don't change their POMs, the plugin will still works (even if it means still double-building)

If someone could implement this in a graceful way, I'd happily put this issue to rest.

Brian Kotek

Thanks Searls. Unfortunately I'm pretty much a Maven noob, we just have to use it at work so I use it heh. So I can't really offer much of a suggestion on how to prevent it. I'm just getting flack from others at work using other technologies (Flex, GWT, etc.) who are asking why the longest part of the build seems like it should be the fastest part of it (building my JS client).

In lieu of a proper fix, is there anything else we can do to try and prevent the double build, even if it is "hackish"?

Thanks,

Brian

Dan Freeman

@searls I'd be interested in seeing a sample POM where this doesn't occur; that might shed some light on an alternative solution to the problem.

@brian428 This pull request/the fork it originates from represent a "hackish" solution. I haven't merged any of the more recent changes since creating the fork however long ago it was (we just settled on using that version and haven't revisited the issue since then), but if you're not relying on recent updates to the plugin, that might be a viable option for you.

Justin Searls
Owner
searls commented

Here's a gist of it not happening for me when running against the jasmine-webapp-passing example from the plugin's included examples directory. Is it happening and I'm just not seeing it?

https://gist.github.com/3084838

Dan Freeman

It looks to me like it is. Take a look at lines 14/15 and 51/52. The maven-compiler-plugin:2.3.2:compile goal is getting invoked twice, it's just nonobvious because there aren't any sources being compiled. If your compilation step were a 10 minute process, it would stand out a lot more.

The same is happening with maven-resources-plugin:2.4.3:resources (10-12, 44-46) and maven-resources-plugin:2.4.3:testResources (17-19, 54-56)

coopstah13

I'm not sure why you are imposing that this must be backwards compatible. As stated in a previous comment, people that are pulling in new versions of a plugin should be aware that there may be changes that might break their usage of it, and as such should prepare for them properly (ie run their build and make sure it works!). Fortunately our project is small currently, but I could see how this could be a significant drain in other projects.

Brian Kotek

I pretty much agree. I realize that Searls is doing this on his own time for free, and I appreciate his effort. He's under no obligation to do anything he doesn't want to. Still, this is clearly working incorrectly, and anyone who isn't noticing it just doesn't seem to be running anything in the compile or resources phases, so the duplicated execution of those phases isn't affecting them.

It is, however, affecting me, in that it's literally doubling the build time. And unfortunately, I can't easily get the repository managers where I work to incorporate a custom, patched version of the plugin. If there's actually a bug in the plugin and the only way to property fix it is to ask people to add a single tag to their POM, I think it's a justified change. The extent of the problem is only going to get bigger as more people use the plugin or eventually add compile or resources tasks to their existing builds. In that light, the sooner it's changed the more limited the impact will be.

Thoughts?

Justin Searls
Owner
searls commented
Dan Freeman dfreeman closed this
Dan Freeman

I'll create a fresh pull request, since this one is way out of sync at this point. Should have a chance over the weekend.

coopstah13

hay thanks

I realize its open source :)

Yeah, our "war" project doesn't actually compile anything except for our front end (coffee/backbone), so it isn't terribly annoying for us.

If i had any tone, I apologize!

Xavier Shay

Commenting so I get updates. I have this problem also but not enough experience with Maven to contribute anything useful to the discussion.

Dan Freeman

Note: new pull request open here

Justin Searls
Owner
searls commented

Dear subscribers of this thread, 1.2.0.0 is released and merges in this fix (along with coffee 1.3.3, the HtmlUnit 2.9, and jasmine 1.2.0)

Julian Simpson

This just saved me 50% of the build time for one of my maven modules. Thank you, @searls!

parxier

Is this change compatible with Maven 2.2.1? I'm still getting:

[INFO] Preparing jasmine:test
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to find lifecycle for phase 'jasmine-process-test-resources'
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33 seconds
[INFO] Finished at: Thu Aug 02 13:04:33 EST 2012
[INFO] Final Memory: 83M/710M
[INFO] ------------------------------------------------------------------------

Here is my config:

            <plugin>
                <groupId>com.github.searls</groupId>
                <artifactId>jasmine-maven-plugin</artifactId>
                <version>1.2.0.0</version>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jsSrcDir>src/main/webapp/scripts</jsSrcDir>
                    <sourceIncludes>
                        <!-- my includes here -->
                    </sourceIncludes>
                </configuration>
            </plugin>

Am I missing something?

Justin Searls
Owner
Julian Simpson

After I commented, one of my builds failed with the error above. It passed when I bumped it to Maven 3 (from 2.2.1).

Justin Searls
Owner
Dan Freeman

@searls I wasn't aware of major changes that would affect this sort of thing between Maven 2 and 3, but I didn't test in 2, and that seems to be the common thread.

It's becoming apparent that this patch handles a lot of general situations (including my particular one, which is why I stopped investigating any further), but also excludes some reasonably vital edge cases.

I think question this was raised at one point earlier on, but I'm not sure where we landed on it: do you remember the reason for wanting to pull the execution steps for this plugin into a separate lifecycle in the first place?

Justin Searls
Owner
parxier

Provided this change is not backward compatible with Maven 2 can someone please reopen this defect or raise a new one?

Dragan Bajcic

Is there any fix for maven2, so i can user new version, and still run it on our bamboo servers?

Thanks!

Justin Searls
Owner
ProggerPete

Is there a current Maven 2 compatible fork for this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.

Showing 22 changed files with 52 additions and 49 deletions. Show diff stats Hide diff stats

  1. +1 1  src/main/java/com/github/searls/jasmine/ServerMojo.java
  2. +1 1  src/main/java/com/github/searls/jasmine/TestMojo.java
  3. +0 47 src/main/resources/META-INF/maven/lifecycle.xml
  4. +32 0 src/main/resources/META-INF/plexus/components.xml
  5. +1 0  src/test/resources/examples/jasmine-webapp-10-failing/pom.xml
  6. +1 0  src/test/resources/examples/jasmine-webapp-basic-excludes/pom.xml
  7. +1 0  src/test/resources/examples/jasmine-webapp-basic-includes/pom.xml
  8. +1 0  src/test/resources/examples/jasmine-webapp-coffee/pom.xml
  9. +1 0  src/test/resources/examples/jasmine-webapp-copy-non-js/pom.xml
  10. +1 0  src/test/resources/examples/jasmine-webapp-custom-browser/pom.xml
  11. +1 0  src/test/resources/examples/jasmine-webapp-custom-dirs/pom.xml
  12. +1 0  src/test/resources/examples/jasmine-webapp-custom-encoding/pom.xml
  13. +1 0  src/test/resources/examples/jasmine-webapp-custom-runner-missing/pom.xml
  14. +1 0  src/test/resources/examples/jasmine-webapp-custom-runner/pom.xml
  15. +1 0  src/test/resources/examples/jasmine-webapp-empty-example/pom.xml
  16. +1 0  src/test/resources/examples/jasmine-webapp-load-remote/pom.xml
  17. +1 0  src/test/resources/examples/jasmine-webapp-many-failing/pom.xml
  18. +1 0  src/test/resources/examples/jasmine-webapp-order-matters/pom.xml
  19. +1 0  src/test/resources/examples/jasmine-webapp-passing/pom.xml
  20. +1 0  src/test/resources/examples/jasmine-webapp-progress-format/pom.xml
  21. +1 0  src/test/resources/examples/jasmine-webapp-single-failing/pom.xml
  22. +1 0  src/test/resources/examples/jasmine-webapp-spec-order-matters/pom.xml
2  src/main/java/com/github/searls/jasmine/ServerMojo.java
@@ -15,7 +15,7 @@
15 15
16 16 /**
17 17 * @goal bdd
18   - * @execute lifecycle="jasmine-lifecycle" phase="generate-sources"
  18 + * @execute phase="jasmine-generate-runner"
19 19 * @requiresDirectInvocation true
20 20 */
21 21 public class ServerMojo extends AbstractJasmineMojo {
2  src/main/java/com/github/searls/jasmine/TestMojo.java
@@ -21,7 +21,7 @@
21 21 * @component
22 22 * @goal test
23 23 * @phase test
24   - * @execute lifecycle="jasmine-lifecycle" phase="process-test-resources"
  24 + * @execute phase="jasmine-process-test-resources"
25 25 */
26 26 public class TestMojo extends AbstractJasmineMojo {
27 27 private ResolvesCompleteListOfScriptLocations resolvesCompleteListOfScriptLocations = new ResolvesCompleteListOfScriptLocations();
47 src/main/resources/META-INF/maven/lifecycle.xml
... ... @@ -1,47 +0,0 @@
1   -<lifecycles>
2   - <lifecycle>
3   - <id>jasmine-lifecycle</id>
4   - <phases>
5   - <phase>
6   - <id>process-resources</id>
7   - <executions>
8   - <execution>
9   - <goals>
10   - <goal>resources</goal>
11   - </goals>
12   - </execution>
13   - </executions>
14   - </phase>
15   - <phase>
16   - <id>generate-sources</id>
17   - <executions>
18   - <execution>
19   - <goals>
20   - <goal>generateManualRunner</goal>
21   - </goals>
22   - </execution>
23   - </executions>
24   - </phase>
25   - <phase>
26   - <id>process-test-resources</id>
27   - <executions>
28   - <execution>
29   - <goals>
30   - <goal>testResources</goal>
31   - </goals>
32   - </execution>
33   - </executions>
34   - </phase>
35   - <phase>
36   - <id>test</id>
37   - <executions>
38   - <execution>
39   - <goals>
40   - <goal>test</goal>
41   - </goals>
42   - </execution>
43   - </executions>
44   - </phase>
45   - </phases>
46   - </lifecycle>
47   -</lifecycles>
32 src/main/resources/META-INF/plexus/components.xml
... ... @@ -0,0 +1,32 @@
  1 +<component-set>
  2 + <components>
  3 + <component>
  4 + <role>org.apache.maven.lifecycle.Lifecycle</role>
  5 + <implementation>org.apache.maven.lifecycle.Lifecycle</implementation>
  6 + <role-hint>jasmine-lifecycle</role-hint>
  7 + <configuration>
  8 + <id>jasmine-lifecycle</id>
  9 + <phases>
  10 + <phase>jasmine-process-resources</phase>
  11 + <phase>jasmine-generate-runner</phase>
  12 + <phase>jasmine-process-test-resources</phase>
  13 + <phase>jasmine-test</phase>
  14 + </phases>
  15 + <default-phases>
  16 + <jasmine-process-resources>
  17 + com.github.searls:jasmine-maven-plugin:resources
  18 + </jasmine-process-resources>
  19 + <jasmine-generate-runner>
  20 + com.github.searls:jasmine-maven-plugin:generateManualRunner
  21 + </jasmine-generate-runner>
  22 + <jasmine-process-test-resources>
  23 + com.github.searls:jasmine-maven-plugin:testResources
  24 + </jasmine-process-test-resources>
  25 + <jasmine-test>
  26 + com.github.searls:jasmine-maven-plugin:test
  27 + </jasmine-test>
  28 + </default-phases>
  29 + </configuration>
  30 + </component>
  31 + </components>
  32 +</component-set>
1  src/test/resources/examples/jasmine-webapp-10-failing/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-basic-excludes/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-basic-includes/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-coffee/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-copy-non-js/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-custom-browser/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-custom-dirs/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-custom-encoding/pom.xml
@@ -20,6 +20,7 @@
20 20 <groupId>com.github.searls</groupId>
21 21 <artifactId>jasmine-maven-plugin</artifactId>
22 22 <version>${project.version}</version>
  23 + <extensions>true</extensions>
23 24 <executions>
24 25 <execution>
25 26 <goals>
1  src/test/resources/examples/jasmine-webapp-custom-runner-missing/pom.xml
@@ -17,6 +17,7 @@
17 17 <groupId>com.github.searls</groupId>
18 18 <artifactId>jasmine-maven-plugin</artifactId>
19 19 <version>${project.version}</version>
  20 + <extensions>true</extensions>
20 21 <executions>
21 22 <execution>
22 23 <goals>
1  src/test/resources/examples/jasmine-webapp-custom-runner/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-empty-example/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-load-remote/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-many-failing/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-order-matters/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-passing/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-progress-format/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-single-failing/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>
1  src/test/resources/examples/jasmine-webapp-spec-order-matters/pom.xml
@@ -16,6 +16,7 @@
16 16 <groupId>com.github.searls</groupId>
17 17 <artifactId>jasmine-maven-plugin</artifactId>
18 18 <version>${project.version}</version>
  19 + <extensions>true</extensions>
19 20 <executions>
20 21 <execution>
21 22 <goals>

Tip: You can add notes to lines in a file. Hover to the left of a line to make a note

Something went wrong with that request. Please try again.