diff options
author | RafaĆ Krzewski <rafal.krzewski@caltha.pl> | 2014-10-15 04:17:04 +0200 |
---|---|---|
committer | Simon Ochsenreither <simon@ochsenreither.de> | 2014-10-23 05:12:43 +0200 |
commit | 3ddb3737568ea5e9fa5803c36c3a95feae265330 (patch) | |
tree | a029f5314003fe1a93c9d50494b3acfa1d85c0ae /build.xml | |
parent | 2b5df373638d08204b71258928289f6b39e25d5f (diff) | |
download | scala-3ddb3737568ea5e9fa5803c36c3a95feae265330.tar.gz scala-3ddb3737568ea5e9fa5803c36c3a95feae265330.tar.bz2 scala-3ddb3737568ea5e9fa5803c36c3a95feae265330.zip |
SI-8927 Update OSGi stuff to get rid of bndlib warning
The way the desired OSGi frameworks are chosen has changed between
Pax Exam versions:
On earlier versions, specifying it in code was fine, but PAX Exam 4.x
runs the tests on the first OSGi framework it finds on classpath.
An exclusion for the transitive dependency org.osgi.core was added,
because it seems that artifact has broken dependecies (which would
have brought us back to square one).
Good thing is that it isn't needed here, because the OSGi framework JARs
contain all necessary classes.
Diffstat (limited to 'build.xml')
-rwxr-xr-x | build.xml | 54 |
1 files changed, 42 insertions, 12 deletions
@@ -272,28 +272,36 @@ TODO: </artifact:dependencies> <!-- JUnit --> - <property name="junit.version" value="4.10"/> + <property name="junit.version" value="4.11"/> <artifact:dependencies pathId="junit.classpath" filesetId="junit.fileset"> <dependency groupId="junit" artifactId="junit" version="${junit.version}"/> </artifact:dependencies> <copy-deps project="junit"/> <!-- Pax runner --> - <property name="pax.exam.version" value="2.6.0"/> + <property name="pax.exam.version" value="3.5.0"/><!-- Last version which supports Java 6 --> + <property name="osgi.felix.version" value="4.0.3"/> + <property name="osgi.equinox.version" value="3.7.1"/> <artifact:dependencies pathId="pax.exam.classpath" filesetId="pax.exam.fileset"> - <dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-container-native" version="${pax.exam.version}"/> + <dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-container-native" version="${pax.exam.version}"> + <exclusion groupId="org.osgi" artifactId="org.osgi.core"/><!-- Avoid dragging in a dependency which requires Java >6 --> + </dependency> <dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-junit4" version="${pax.exam.version}"/> <dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-link-assembly" version="${pax.exam.version}"/> - <!-- upgraded to 1.6.0 to get fix for https://ops4j1.jira.com/browse/PAXURL-217 - https://ops4j1.jira.com/browse/PAXURL-138 is still unresolved... --> - <dependency groupId="org.ops4j.pax.url" artifactId="pax-url-aether" version="1.6.0"/> - <dependency groupId="org.ops4j.pax.swissbox" artifactId="pax-swissbox-framework" version="1.5.1"/> - <dependency groupId="ch.qos.logback" artifactId="logback-core" version="0.9.20"/> - <dependency groupId="ch.qos.logback" artifactId="logback-classic" version="0.9.20"/> + <dependency groupId="org.ops4j.pax.url" artifactId="pax-url-aether" version="2.2.0"/> + <dependency groupId="org.ops4j.pax.swissbox" artifactId="pax-swissbox-tracker" version="1.8.0"/> + <dependency groupId="ch.qos.logback" artifactId="logback-core" version="1.1.2"/> + <dependency groupId="ch.qos.logback" artifactId="logback-classic" version="1.1.2"/> <dependency groupId="junit" artifactId="junit" version="${junit.version}"/> - <dependency groupId="org.apache.felix" artifactId="org.apache.felix.framework" version="3.2.2"/> </artifact:dependencies> + <artifact:dependencies pathId="osgi.framework.felix"> + <dependency groupId="org.apache.felix" artifactId="org.apache.felix.framework" version="${osgi.felix.version}"/> + </artifact:dependencies> + + <artifact:dependencies pathId="osgi.framework.equinox"> + <dependency groupId="org.eclipse.osgi" artifactId="org.eclipse.osgi" version="${osgi.equinox.version}"/> + </artifact:dependencies> <artifact:remoteRepository id="sonatype-release" url="https://oss.sonatype.org/content/repositories/releases"/> <artifact:remoteRepository id="extra-repo" url="${extra.repo.url}"/> @@ -984,6 +992,16 @@ TODO: <path refid="forkjoin.classpath"/> </path> + <path id="test.osgi.compiler.build.path.felix"> + <path refid="test.osgi.compiler.build.path"/> + <path refid="osgi.framework.felix"/> + </path> + + <path id="test.osgi.compiler.build.path.equinox"> + <path refid="test.osgi.compiler.build.path"/> + <path refid="osgi.framework.equinox"/> + </path> + <path id="test.positions.sub.build.path" path="${build-quick.dir}/classes/library"/> <!-- TODO: consolidate *.includes --> @@ -1351,7 +1369,7 @@ TODO: srcdir="${test.osgi.src}" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath refid="test.osgi.compiler.build.path"/> + <compilationpath refid="test.osgi.compiler.build.path.felix"/> </scalacfork> <touch file="${build-osgi.dir}/test-compile.complete" verbose="no"/> <stopwatch name="test.osgi.compiler.timer" action="total"/> @@ -1365,8 +1383,20 @@ TODO: <stopwatch name="test.osgi.timer"/> <mkdir dir="${test.osgi.classes}"/> + <echo message="Test pass 1 of 2 using Apache Felix ${osgi.felix.version}"/> + <junit fork="yes" haltonfailure="yes"> + <classpath refid="test.osgi.compiler.build.path.felix"/> + <batchtest fork="yes" todir="${build-osgi.dir}"> + <fileset dir="${test.osgi.classes}"> + <include name="**/*Test.class"/> + </fileset> + </batchtest> + <formatter type="xml" /> + </junit> + + <echo message="Test pass 2 of 2 using Eclipse Equinox ${osgi.equinox.version}"/> <junit fork="yes" haltonfailure="yes"> - <classpath refid="test.osgi.compiler.build.path"/> + <classpath refid="test.osgi.compiler.build.path.equinox"/> <batchtest fork="yes" todir="${build-osgi.dir}"> <fileset dir="${test.osgi.classes}"> <include name="**/*Test.class"/> |