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

I feel the the statement 'closest first' is not true at all #111

Open
stickycode opened this issue Jul 1, 2020 · 7 comments
Open

I feel the the statement 'closest first' is not true at all #111

stickycode opened this issue Jul 1, 2020 · 7 comments

Comments

@stickycode
Copy link

Given a tile group:c with nested tiles

<project>
  <tiles>
    <tile>group:X</tile>
    <tile>group:Y</tile>
  </tiles>
</project>

and a tile group:t

<project>
  ...
</project>

and a project group:a with parent group:p

<project>
 <plugins>
   ... tile plugin
    <tiles>
      <tiles>group:c</tiles>
      <tiles>group:t</tiles>
    </tiles>
  </plugins>
</project>

The resolution order is
p <- Y <- X <- t <- c

When I think the order should be
p <- t <- Y <- X <- c

Note that if you reverse the order of c and t
and a project group:a with parent group:p

<project>
 <plugins>
   ... tile plugin
    <tiles>
      <tiles>group:t</tiles>
      <tiles>group:c</tiles>
    </tiles>
  </plugins>
</project>

The resolution order is
p <- Y <- X <- c <- t

Because of this its not possible to get the correct ordering of configuration when mixing direct tiles with indirect tiles

@stickycode
Copy link
Author

The reason its not closed first is because X and Y are always ahead in the lifecycle than c and t, its not possible to run something from t before X or Y in the same phase which is incredibly annoying.

@stickycode
Copy link
Author

Running tile plugin 2.16, java 11.0.7

@rvowles
Copy link
Member

rvowles commented Jul 1, 2020 via email

@stickycode
Copy link
Author

stickycode commented Jul 7, 2020 via email

@talios
Copy link
Member

talios commented Jul 29, 2020

@stickycode did you have any suggested changes in the end at all? Was thinking of rolling a minor release using the new Groovy version, and updating the invoker plugin (and fixing the tests that breaks), but would be good to include something that fixes/improves tiles at the same time.

@stickycode
Copy link
Author

stickycode commented Jul 29, 2020 via email

@stickycode
Copy link
Author

Without looking at the code it seems like the transitives are added to one list at the end of the direct tiles.

How about depth first on the tile resolution. That would give an intuitive resolution or maybe make different weirdnesses

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

No branches or pull requests

3 participants