Closed ajs6f closed 5 years ago
I have not been able to reproduce this on my java 8 environment. What I wonder is whether these pax-exam tests should be made part of a separate build profile (e.g. ./gradlew check -p integrationTests
) and not part of the main build process.
Hm. The distinction I'm seeing is "tests that test all distribution" (i.e. no matter your platform or how you are wiring up or whatever, you should be able to pass this test) vs. "tests for a given distribution" (i.e. OSGi should be able to do this OSGi thing).
To the extent that people who have no interest in a given platform or wiring framework can ignore them (e.g. a build profile), yay! Of course, making things more independent means more "late-binding failure". I.e. someone is more likely to be able to make a commit over here that blows up platform X over there, but they don't see it because they forgot to run the tests for X. Given the size of the community and the small codebase right now, I think we can rely on CI and courtesy to avoid any such problems, at least for some time to come.
Incidentally, I'm at:
Java version: 1.8.0_65, vendor: Oracle Corporation
Which Java 8 are you using locally?
Java version: 1.8.0_172, vendor: Oracle Corporation
You can also skip a particular stage with this command:
./gradlew clean check -x :trellis-osgi:test
I think that making the OSGi builds "opt-in" rather than "opt-out" (as they are now) would make sense -- the CI configuration would naturally run all the build profiles.
👍
Do you think it's safe for me to just skip the tests entirely for now, or should I just work off of the JARs you're pushing to Maven? I feel a bit better about the latter, for obvious reasons.
I've been keeping the SNAPSHOT jars on maven up-to-date, so I'd suggest using those, if possible. If you're trying to test a PR, that's a different matter, but in the general case, using a maven jar makes the most sense to me.
No, I'm happy to do that! Thanks for keeping the repository stuff up-to-date; I know that's work, but it's really helpful.
In principle, we could make that part of the CI process (every build of master publishes artifacts on the SNAPSHOT repos), but I am hesitant to give out my credentials to Travis-CI. AFAIK, sonatype needs a username/password, rather than a revokable OAuth token, and I'm not interested in sharing that.
Understandably. It's surprising that Sonatype has that limitation. We could make a Trellis account (if Sonatype allows that) but then we're just shifting the secret around. On the list of "when there's time" stuff, we could put up an instance of something like Apache Archiva for this kind of thing.
For now, I hope you're okay just pushing a repo now and then?
I found a way to make use of a revokable token with Sonatype, so I'll figure out how to integrate that into the Travis build.
Superb!
At commit efd43cdba7349888801da5165b4f5a4d7046ef0f, I'm getting a build failure
with stacktrace as shown below. I have no idea what's going on here. I don't see any Trellis code even mentioned at all. Perhaps another Java8 weirdity?