I generally have no issue with a testsupport release.
In this case I think we can simply remove the dependency to testsupport from subsystem core. I just committed a change.

Btw. The problem below is caused by the old pax exam dependencies testsupport 1.0.0 still has.

Christian

On 14.08.2015 20:53, John W Ross wrote:
I've got a line on how to reproduce the issue now.

(1) Point subsystem-itests/pom.xml to testsupport-unit version
2.0.0-SNAPSHOT.
(2) Point subsystem-core/pom.xml to testsupport-unit version 1.0.0.
(3) From the main subsystem directory, mvn eclipse:clean eclipse:eclipse.
(4) Refresh all of the subsystem projects in the Eclipse workspace (that
were imported as existing Maven projects).
(5) From the main subsystem directory, mvn clean install -DskipTests=true.
(6) From Eclipse Luna, attempt to Run As or Debug As one of the tests in
subsystem-itests (this works when running a test in subsystem-core).

You will receive the following.

java.lang.NoSuchMethodError:
org.ops4j.pax.exam.CoreOptions.url(Ljava/lang/String;)Lorg/ops4j/pax/exam/options/UrlProvisionOption;
         at
org.ops4j.pax.exam.spi.PaxExamRuntime.defaultTestSystemOptions(PaxExamRuntime.java:103)
         at
org.ops4j.pax.exam.spi.PaxExamRuntime.createTestSystem(PaxExamRuntime.java:91)
         at
org.ops4j.pax.exam.spi.reactors.ReactorManager.createExamSystem(ReactorManager.java:215)
         at
org.ops4j.pax.exam.spi.reactors.ReactorManager.<init>(ReactorManager.java:147)
         at
org.ops4j.pax.exam.spi.reactors.ReactorManager.getInstance(ReactorManager.java:163)
         at
org.ops4j.pax.exam.junit.PaxExam.createDelegate(PaxExam.java:77)
         at org.ops4j.pax.exam.junit.PaxExam.<init>(PaxExam.java:73)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
         at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
         at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
         at
org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
         at
org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
         at
org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
         at
org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
         at
org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
         at
org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
         at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
         at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
         at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
         at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
         at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

I believe this is due to the pax-exam version conflicts between
subsystem-core and subsystem-itests. The solution is to point
subsystem-core to version 2.0.0-SNAPSHOT of testsupport-unit.

Again, my preference would be to proceed with the subsystems release
without doing a testsupport-unit release. I would point subsystem-core
back to 2.0.0-SNAPSHOT in trunk after the release. I don't see what harm
this issue will have on the subsystems release itself.


To: [email protected]
Date: 08/13/2015 02:46 PM
Subject: Re: [DISCUSS] Release Aries Testsupport Unit 2.0.0

My preference would be to not have to do a testsupport-unit release.
I can simply point subsystem-core back to 1.0.0 for the release and
change it to 2.0.0-SNAPSHOT for trunk.

From: Christian Schneider <[email protected]>
To: [email protected]
Date: 08/13/2015 02:12 PM
Subject: Re: [DISCUSS] Release Aries Testsupport Unit 2.0.0
Sent by: Christian Schneider <[email protected]>

I think subsystems can be released without a release of testsupport.
As
it is still released per bundle we do not release the itests.
If we switch it to a per subproject release at some point then it will
be different.

For jpa and transaction I replaced testsupport completely. Most of its
functionality can be done with either tinybundles or easmock /
mockito.
I planned to do the same for subsystems but it is a big chunk of work.
See https://issues.apache.org/jira/browse/ARIES-1258

Christian


On 13.08.2015 19:52, John W Ross wrote:
Sorry if this ends up being a duplicate due to the ongoing email
issues,
but all other messages that I sent out since yesterday morning have
now
come through in the right order except this one which was the very
first.
So I'm assuming it got lost.

I'm considering doing a 2.0.0 release of
org.apache.aries.testsupport.unit
as a prerequisite to a new subsystems release but am not sure it's
really
necessary. The subsystem-core module uses the last released
testsupport-unit version of 1.0.0. Attempting to debug
subsystem-core code
while running an itest is not possible apparently due to the
pax-exam
version conflicts. Pointing subsystem-core to the testsupport-unit
2.0.0-SNAPSHOT version fixes the issue. Since we've never released
subsystem-itest, and there are no plans to do so this time, it'snot
clear
to me if leaving subsystem-core pointing to the 1.0.0 version will
hurt
anything.

Thoughts?

The last release of testsupport-unit is version 1.0.0:
http://search.maven.org/#search|gav|1|g%3A%
22org.apache.aries.testsupport%22%20AND%20a%3A%
22org.apache.aries.testsupport.unit%22
The release tag is here:
http://svn.apache.org/viewvc/aries/tags/
org.apache.aries.testsupport.unit-1.0.0/

You can do "svn diff -r 1352338" from trunk to see the changes since
the
last release.

The only related JIRA I could find is
https://issues.apache.org/jira/browse/ARIES-1188.


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to