1- buildscript {
2- repositories {
3- jcenter()
4- }
5- }
6-
7- description = """ Integration tests for Trellis components"""
8-
9- def randomPort () {
10- try {
11- ServerSocket server = new ServerSocket ()
12- server. setReuseAddress(true )
13- server. bind(new InetSocketAddress (0 ))
14- int port = server. getLocalPort()
15- server. close()
16- return port
17- } catch (IOException e) {
18- throw new IOException (' Failed to find random free port' , e)
19- }
20- }
1+ description = """ Common tests for Trellis components"""
212
223repositories {
234 jcenter()
245 mavenLocal()
256 mavenCentral()
267}
278
28- configurations {
29- karafDistro {
30- description = ' Configuration used to isolate the dependency on the Karaf distro'
31- transitive = false
32- }
33- }
34-
359sonarqube {
3610 skipProject = true
3711}
@@ -51,94 +25,15 @@ dependencies {
5125 implementation project(' :trellis-api' )
5226 implementation project(' :trellis-http' )
5327 implementation project(' :trellis-io-jena' )
54- implementation project(' :trellis-namespaces' )
5528 implementation project(' :trellis-vocabulary' )
5629
57- testCompile project(' :trellis-agent' )
58- testCompile project(' :trellis-amqp' )
59- testCompile project(' :trellis-audit' )
60- testCompile project(' :trellis-constraint-rules' )
61- testCompile project(' :trellis-event-serialization' )
62- testCompile project(' :trellis-file' )
63- testCompile project(' :trellis-id' )
64- testCompile project(' :trellis-jms' )
65- testCompile project(' :trellis-kafka' )
66- testCompile project(' :trellis-triplestore' )
67- testCompile project(' :trellis-webac' )
68- testCompile project(' :trellis-karaf' )
69-
7030 testCompile group : ' ch.qos.logback' , name : ' logback-classic' , version : logbackVersion
71- testCompile group : ' org.apache.jena' , name : ' jena-osgi' , version : jenaVersion
72- testCompile group : ' org.apache.karaf.features' , name : ' standard' , version : karafVersion
73- testCompile group : ' org.apache.karaf.features' , name : ' org.apache.karaf.features.core' , version : karafVersion
74- testCompile group : ' org.ops4j.pax.exam' , name : ' pax-exam' , version : paxExamVersion
75- testCompile group : ' org.ops4j.pax.exam' , name : ' pax-exam-junit4' , version : paxExamVersion
76- testCompile group : ' org.ops4j.pax.exam' , name : ' pax-exam-container-karaf' , version : paxExamVersion
77- testCompile group : ' org.osgi' , name : ' org.osgi.core' , version : osgiVersion
78- testCompile group : ' org.osgi' , name : ' org.osgi.compendium' , version : osgiCompendiumVersion
7931 testCompile group : ' org.mockito' , name : ' mockito-core' , version : mockitoVersion
80- testCompile group : ' org.glassfish.hk2.external' , name : ' javax.inject' , version : javaxInjectVersion
81-
82- testCompile group : ' org.apache.karaf.features' , name : ' standard' , version : karafVersion, classifier :' features' , ext : ' xml'
83-
84- karafDistro group : ' org.apache.karaf' , name : ' apache-karaf' , version : karafVersion, ext : ' zip'
85- }
86-
87-
88- task generateDependsFile {
89- // This is useful for the org.ops4j.pax.exam.CoreOptions.maven() stuff
90- File outputFileDir = project. file( " ${ project.buildDir} /classes/java/test/META-INF/maven/" )
91- File outputFile = new File ( outputFileDir, ' dependencies.properties' )
92- outputs. file outputFile
93-
94- doFirst {
95- outputFileDir. mkdirs()
96- Properties properties = new Properties ();
97-
98- // first we add our GAV info
99- properties. setProperty( " groupId" , " ${ project.group} " );
100- properties. setProperty( " artifactId" , project. name );
101- properties. setProperty( " version" , " ${ project.version} " );
102- properties. setProperty( " ${ project.group} /${ project.name} /version" , " ${ project.version} " );
103-
104- // then for all our deps
105- project. configurations. testRuntime. resolvedConfiguration. resolvedArtifacts. each {
106- final String keyBase = it. moduleVersion. id. group + ' /' + it. moduleVersion. id. name;
107- properties. setProperty( " ${ keyBase} /scope" , " compile" )
108- properties. setProperty( " ${ keyBase} /type" , it. extension )
109- properties. setProperty( " ${ keyBase} /version" , it. moduleVersion. id. version )
110- }
111-
112- FileOutputStream outputStream = new FileOutputStream ( outputFile );
113- try {
114- properties. store( outputStream, " Generated from Gradle for PaxExam testing" )
115- }
116- finally {
117- outputStream. close()
118- }
119- }
12032}
12133
12234test {
123- systemProperty ' karaf.version' , karafVersion
124- systemProperty ' karaf.commonsIo.version' , commonsIoVersion
125- systemProperty ' jena.version' , jenaVersion
126-
127- systemProperty ' karaf.ssh.port' , randomPort()
128- systemProperty ' karaf.rmiServer.port' , randomPort()
129- systemProperty ' karaf.rmiRegistry.port' , randomPort()
130-
131- // TODO - re-enable testing for JDK 10 once karaf support catches up
132- enabled = ! JavaVersion . current(). isJava10Compatible()
133-
13435 jacoco {
13536 enabled = true
13637 }
13738}
13839
139- tasks. test. dependsOn tasks. generateDependsFile
140-
141- rootProject. childProjects. findAll { n, p -> p != project }. each { n, p ->
142- tasks. test. dependsOn p. tasks. install
143- }
144-
0 commit comments