Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ include ':trellis-webac'
include ':trellis-app'

include ':trellis-karaf'
include ':trellis-osgi'
include ':trellis-test'

project(':trellis-api').projectDir = "$rootDir/trellis-api" as File
Expand All @@ -43,4 +44,5 @@ project(':trellis-webac').projectDir = "$rootDir/trellis-webac" as File
project(':trellis-app').projectDir = "$rootDir/trellis-app" as File

project(':trellis-karaf').projectDir = "$rootDir/trellis-karaf" as File
project(':trellis-osgi').projectDir = "$rootDir/trellis-osgi" as File
project(':trellis-test').projectDir = "$rootDir/trellis-test" as File
138 changes: 138 additions & 0 deletions trellis-osgi/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
buildscript {
repositories {
jcenter()
}
}

description = """Integration tests for Trellis components"""

def randomPort() {
try {
ServerSocket server = new ServerSocket()
server.setReuseAddress(true)
server.bind(new InetSocketAddress(0))
int port = server.getLocalPort()
server.close()
return port
} catch (IOException e) {
throw new IOException('Failed to find random free port', e)
}
}

repositories {
jcenter()
mavenLocal()
mavenCentral()
}

configurations {
karafDistro {
description = 'Configuration used to isolate the dependency on the Karaf distro'
transitive = false
}
}

sonarqube {
skipProject = true
}

uploadArchives {
// This should be enabled once this module is more than just a test case
enabled = false
}

dependencies {
implementation project(':trellis-api')
implementation project(':trellis-http')
implementation project(':trellis-io-jena')
implementation project(':trellis-namespaces')
implementation project(':trellis-vocabulary')

testCompile project(':trellis-agent')
testCompile project(':trellis-amqp')
testCompile project(':trellis-audit')
testCompile project(':trellis-constraint-rules')
testCompile project(':trellis-event-serialization')
testCompile project(':trellis-file')
testCompile project(':trellis-id')
testCompile project(':trellis-jms')
testCompile project(':trellis-kafka')
testCompile project(':trellis-triplestore')
testCompile project(':trellis-webac')
testCompile project(':trellis-karaf')

testCompile group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion
testCompile group: 'org.apache.jena', name: 'jena-osgi', version: jenaVersion
testCompile group: 'org.apache.karaf.features', name: 'standard', version: karafVersion
testCompile group: 'org.apache.karaf.features', name: 'org.apache.karaf.features.core', version: karafVersion
testCompile group: 'org.ops4j.pax.exam', name: 'pax-exam', version: paxExamVersion
testCompile group: 'org.ops4j.pax.exam', name: 'pax-exam-junit4', version: paxExamVersion
testCompile group: 'org.ops4j.pax.exam', name: 'pax-exam-container-karaf', version: paxExamVersion
testCompile group: 'org.osgi', name: 'org.osgi.core', version: osgiVersion
testCompile group: 'org.osgi', name: 'org.osgi.compendium', version: osgiCompendiumVersion
testCompile group: 'org.mockito', name: 'mockito-core', version: mockitoVersion
testCompile group: 'org.glassfish.hk2.external', name: 'javax.inject', version: javaxInjectVersion

testCompile group: 'org.apache.karaf.features', name: 'standard', version: karafVersion, classifier:'features', ext: 'xml'

karafDistro group: 'org.apache.karaf', name: 'apache-karaf', version: karafVersion, ext: 'zip'
}


task generateDependsFile {
// This is useful for the org.ops4j.pax.exam.CoreOptions.maven() stuff
File outputFileDir = project.file( "${project.buildDir}/classes/java/test/META-INF/maven/" )
File outputFile = new File( outputFileDir, 'dependencies.properties' )
outputs.file outputFile

doFirst {
outputFileDir.mkdirs()
Properties properties = new Properties();

// first we add our GAV info
properties.setProperty( "groupId", "${project.group}" );
properties.setProperty( "artifactId", project.name );
properties.setProperty( "version", "${project.version}" );
properties.setProperty( "${project.group}/${project.name}/version", "${project.version}" );

// then for all our deps
project.configurations.testRuntime.resolvedConfiguration.resolvedArtifacts.each {
final String keyBase = it.moduleVersion.id.group + '/' + it.moduleVersion.id.name;
properties.setProperty( "${keyBase}/scope", "compile" )
properties.setProperty( "${keyBase}/type", it.extension )
properties.setProperty( "${keyBase}/version", it.moduleVersion.id.version )
}

FileOutputStream outputStream = new FileOutputStream( outputFile );
try {
properties.store( outputStream, "Generated from Gradle for PaxExam testing" )
}
finally {
outputStream.close()
}
}
}

test {
systemProperty 'karaf.version', karafVersion
systemProperty 'karaf.commonsIo.version', commonsIoVersion
systemProperty 'jena.version', jenaVersion

systemProperty 'karaf.ssh.port', randomPort()
systemProperty 'karaf.rmiServer.port', randomPort()
systemProperty 'karaf.rmiRegistry.port', randomPort()

// TODO - re-enable testing for JDK 10 once karaf support catches up
enabled = ! JavaVersion.current().isJava10Compatible()

jacoco {
enabled = true
}
}

tasks.test.dependsOn tasks.generateDependsFile

rootProject.childProjects.findAll { n, p -> p != project }.each { n, p ->
tasks.test.dependsOn p.tasks.install
}

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.trellisldp.test;
package org.trellisldp.osgi;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
Expand Down
107 changes: 1 addition & 106 deletions trellis-test/build.gradle
Original file line number Diff line number Diff line change
@@ -1,37 +1,11 @@
buildscript {
repositories {
jcenter()
}
}

description = """Integration tests for Trellis components"""

def randomPort() {
try {
ServerSocket server = new ServerSocket()
server.setReuseAddress(true)
server.bind(new InetSocketAddress(0))
int port = server.getLocalPort()
server.close()
return port
} catch (IOException e) {
throw new IOException('Failed to find random free port', e)
}
}
description = """Common tests for Trellis components"""

repositories {
jcenter()
mavenLocal()
mavenCentral()
}

configurations {
karafDistro {
description = 'Configuration used to isolate the dependency on the Karaf distro'
transitive = false
}
}

sonarqube {
skipProject = true
}
Expand All @@ -51,94 +25,15 @@ dependencies {
implementation project(':trellis-api')
implementation project(':trellis-http')
implementation project(':trellis-io-jena')
implementation project(':trellis-namespaces')
implementation project(':trellis-vocabulary')

testCompile project(':trellis-agent')
testCompile project(':trellis-amqp')
testCompile project(':trellis-audit')
testCompile project(':trellis-constraint-rules')
testCompile project(':trellis-event-serialization')
testCompile project(':trellis-file')
testCompile project(':trellis-id')
testCompile project(':trellis-jms')
testCompile project(':trellis-kafka')
testCompile project(':trellis-triplestore')
testCompile project(':trellis-webac')
testCompile project(':trellis-karaf')

testCompile group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion
testCompile group: 'org.apache.jena', name: 'jena-osgi', version: jenaVersion
testCompile group: 'org.apache.karaf.features', name: 'standard', version: karafVersion
testCompile group: 'org.apache.karaf.features', name: 'org.apache.karaf.features.core', version: karafVersion
testCompile group: 'org.ops4j.pax.exam', name: 'pax-exam', version: paxExamVersion
testCompile group: 'org.ops4j.pax.exam', name: 'pax-exam-junit4', version: paxExamVersion
testCompile group: 'org.ops4j.pax.exam', name: 'pax-exam-container-karaf', version: paxExamVersion
testCompile group: 'org.osgi', name: 'org.osgi.core', version: osgiVersion
testCompile group: 'org.osgi', name: 'org.osgi.compendium', version: osgiCompendiumVersion
testCompile group: 'org.mockito', name: 'mockito-core', version: mockitoVersion
testCompile group: 'org.glassfish.hk2.external', name: 'javax.inject', version: javaxInjectVersion

testCompile group: 'org.apache.karaf.features', name: 'standard', version: karafVersion, classifier:'features', ext: 'xml'

karafDistro group: 'org.apache.karaf', name: 'apache-karaf', version: karafVersion, ext: 'zip'
}


task generateDependsFile {
// This is useful for the org.ops4j.pax.exam.CoreOptions.maven() stuff
File outputFileDir = project.file( "${project.buildDir}/classes/java/test/META-INF/maven/" )
File outputFile = new File( outputFileDir, 'dependencies.properties' )
outputs.file outputFile

doFirst {
outputFileDir.mkdirs()
Properties properties = new Properties();

// first we add our GAV info
properties.setProperty( "groupId", "${project.group}" );
properties.setProperty( "artifactId", project.name );
properties.setProperty( "version", "${project.version}" );
properties.setProperty( "${project.group}/${project.name}/version", "${project.version}" );

// then for all our deps
project.configurations.testRuntime.resolvedConfiguration.resolvedArtifacts.each {
final String keyBase = it.moduleVersion.id.group + '/' + it.moduleVersion.id.name;
properties.setProperty( "${keyBase}/scope", "compile" )
properties.setProperty( "${keyBase}/type", it.extension )
properties.setProperty( "${keyBase}/version", it.moduleVersion.id.version )
}

FileOutputStream outputStream = new FileOutputStream( outputFile );
try {
properties.store( outputStream, "Generated from Gradle for PaxExam testing" )
}
finally {
outputStream.close()
}
}
}

test {
systemProperty 'karaf.version', karafVersion
systemProperty 'karaf.commonsIo.version', commonsIoVersion
systemProperty 'jena.version', jenaVersion

systemProperty 'karaf.ssh.port', randomPort()
systemProperty 'karaf.rmiServer.port', randomPort()
systemProperty 'karaf.rmiRegistry.port', randomPort()

// TODO - re-enable testing for JDK 10 once karaf support catches up
enabled = ! JavaVersion.current().isJava10Compatible()

jacoco {
enabled = true
}
}

tasks.test.dependsOn tasks.generateDependsFile

rootProject.childProjects.findAll { n, p -> p != project }.each { n, p ->
tasks.test.dependsOn p.tasks.install
}