how to say its fine it misses native artifacts for a specific environment? #380
-
in the pom file in the target-platform-configuration section i add:
besides the windows,linux,macos for x86_64 which i always already had. But when i do that and then try to build anything then the target resolvement fails:
it seems that this is purely the target resolvement, doesn't really have yet anything todo with what it exactly builds (in this case purely the feature) but i know that one doesn't have native artifacts for the aarch64, i will work around that by making stuff optional that feature that it tries to resolve is:
so yes its only for x86... how can i force Tycho that it just needs to resolve this and just not include it in the final build for aarch64? |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 23 replies
-
Currently, if you configure an env it will be tried to resolve all defined ones. You can circumvent that by only specify the additional environment only for the product build. BTW environments are not native artifacts ... these are different things. |
Beta Was this translation helpful? Give feedback.
-
hmm i am kind of stuck with this. very weird build errors are happening like: [INFO] Reactor Summary: so it complains about a artifact that it JUST build above it... And the weird thing is if i just go to the feature and i do mvn install it works.. But all the workarounds that i try to do will in the end also break i think the update site that is generated (i really want to have 1 with all the artifacts in it..) But i don't see a way to do this. I guess i need to start forking tycho :( How else can i build my full product for 4 platforms where for 1 platforms the native artifacts are not there and that is fine because those native artifacts are marked as only to install for 3 platforms in my feature and the plugins form those native artifacts are optionally marked in the plugins that needs them... This is all because i know the native artifacts are not for all platforms, but our product is fine with that.. But the target platform resolver is just to smart and way to soon, it seems to not even check what it tries to install, it just wants all artifacts for all platforms to be there. I just don't understand why that is, let the feature/plugins/product decide that... |
Beta Was this translation helpful? Give feedback.
-
the problem is in this area: Caused by: java.lang.IllegalStateException: com.equo.chromium.feature.feature.group 80.0.14.202111290455 cannot be installed in this environment because its filter is not applicable. that Slicer is p2 itself that triggers the first exception so i guess its this loop:
maybe i just have to try catch inside the for loop to just ignore it? |
Beta Was this translation helpful? Give feedback.
-
Because first you said a plugin is missing for aarm64 now you actually want a feature and in the end you complain about missing target resolution ... its a bit hard to guess what is the actual problem/configuration to give advice. As said at the very beginning all environments you declare need to be resolvable and the error message clearly states that this is not possible because You effectively has the following options:
|
Beta Was this translation helpful? Give feedback.
-
i uploaded a very small example that already fails, so are you guys saying yes this is how it works this is not a bug or a feature that could be implemented better? (to handle this scenario way better?) you do do first in the target dir: mvn install if fails right away because, for me that should just install, why would the target resolvement be so smart? let the fail if needed down the line, not that high up...
already asked, but this can take quite some time, its out of my hands, could even be that it is maybe there in about a year...
So this means the target file should not have that chromium location at all? Because you do see "after assembled the product" that doesn't mean all the 3 actual product builds that i already have at the end? i guess this: https://github.com/Servoy/servoy-eclipse/blob/master/com.servoy.eclipse.product/pom.xml#L109 generated the actual repository? and then this: https://github.com/Servoy/servoy-eclipse/blob/master/com.servoy.eclipse.product/pom.xml#L120 makes the actual products? so i need something in between that? |
Beta Was this translation helpful? Give feedback.
-
my above test case is fixed by this patch:
so for Tycho the sliver always validates (isApplicatable always just returns true) Can this somehow be made an option? So that i can force tycho to not try to resolve at the target level already stuff? |
Beta Was this translation helpful? Give feedback.
-
ok tested our product everything perfectly builds now without many changes in poms or that kind of stuff So i really need to have this patch to be able to build our product nicely without much fuss. I guess i need to fork then and push our own build of Tycho on our mvn repo. |
Beta Was this translation helpful? Give feedback.
-
i made a pull request: #400 i added a info log:
not sure if i can get more info, because that is i think all hidden away in the filters and matchers By the way, how do you make a release for tycho? i guess i miss something and a version push needs to be done through mvn? |
Beta Was this translation helpful? Give feedback.
-
As mentioned and discussed on the PR this is due to the usage of planner mode but there is no solution for the target configuration |
Beta Was this translation helpful? Give feedback.
As mentioned and discussed on the PR this is due to the usage of planner mode but there is no solution for the target configuration
aarm64
.Using a separate target file is a possible workaround.