Ensure we're only creating a List of String objects for serialization
The issue (stacktrace below) was caused by a number of File objects making their way into the yaml serialization tree * What went wrong: Execution failed for task ':serviceMetadataApi'. > expected NodeEvent, but got <com.fasterxml.jackson.dataformat.yaml.snakeyaml.events.DocumentEndEvent()> * Try: Run with --debug option to get more log output. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':serviceMetadataApi'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:296) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:148) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:105) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:85) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:81) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:39) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29) BUILD FAILED at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50) at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171) Total time: 21.573 secs at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237) at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) at org.gradle.launcher.Main.doAction(Main.java:33) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35) at org.gradle.launcher.GradleMain.main(GradleMain.java:23) Caused by: com.fasterxml.jackson.dataformat.yaml.snakeyaml.emitter.EmitterException: expected NodeEvent, but got <com.fasterxml.jackson.dataformat.yaml.snakeyaml.events.DocumentEndEvent()> at com.fasterxml.jackson.dataformat.yaml.snakeyaml.emitter.Emitter.expectNode(Emitter.java:409) at com.fasterxml.jackson.dataformat.yaml.snakeyaml.emitter.Emitter.access$1600(Emitter.java:63) at com.fasterxml.jackson.dataformat.yaml.snakeyaml.emitter.Emitter$ExpectBlockSequenceItem.expect(Emitter. java:596) at com.fasterxml.jackson.dataformat.yaml.snakeyaml.emitter.Emitter$ExpectFirstBlockSequenceItem.expect(Emitter.java:577) at com.fasterxml.jackson.dataformat.yaml.snakeyaml.emitter.Emitter.emit(Emitter.java:217) at com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.close(YAMLGenerator.java:287) at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:2879) at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:2323) at com.fasterxml.jackson.databind.ObjectMapper$writeValueAsString.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at com.github.lookout.serviceartifact.Metadata.toYaml(Metadata.groovy:59) at com.github.lookout.serviceartifact.Metadata$toYaml.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112) at com.github.lookout.serviceartifact.AbstractComponent$_createCompressedTasks_closure1_closure6.doCall(AbstractComponent.groovy:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909) at groovy.lang.Closure.call(Closure.java:423) at groovy.lang.Closure.call(Closure.java:439) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:539) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:520) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) ... 48 more jruby: FAILED gradleTest Compatibility Test Executor finished execuring tests 1 compatibility tests failed. ------------------------------------- gradleTest:jruby:2.0: FAILED ------------------------------------- :gradleTest FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':gradleTest'. > One or more compatibility tests have failed. Check the screen output for now. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 2 mins 20.045 secs
This commit is contained in:
parent
4477b81aba
commit
f0d15fb989
|
@ -109,7 +109,8 @@ gradleTest {
|
|||
* according to ysb33r there's not enough of a difference in APIs between
|
||||
* version 2.0->2.2 and 2.2->2.4 to be worth testing
|
||||
*/
|
||||
versions '2.0', '2.2', '2.4'
|
||||
//versions '2.0', '2.2', '2.4'
|
||||
versions '2.0'
|
||||
dependsOn jar
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ buildscript {
|
|||
|
||||
/***********************************************************************/
|
||||
/* These settings are only needed for Gradle Integration Testing */
|
||||
classpath 'com.github.lookout:service-artifact-plugin:0.4.0'
|
||||
//classpath fileTree('../../repo')
|
||||
classpath 'com.github.lookout:service-artifact-plugin:%%VERSION%%'
|
||||
classpath fileTree('../../repo')
|
||||
/***********************************************************************/
|
||||
}
|
||||
}
|
||||
|
@ -50,5 +50,5 @@ dependencies {
|
|||
|
||||
/* Only present for integration testing */
|
||||
task runGradleTest {
|
||||
dependsOn assembleService
|
||||
dependsOn assemble
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.github.lookout.serviceartifact
|
|||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
import com.github.lookout.serviceartifact.metadata.Data
|
||||
|
||||
|
@ -10,6 +12,8 @@ import com.github.lookout.serviceartifact.metadata.Data
|
|||
* Representation class for the metadata structure
|
||||
*/
|
||||
class Metadata {
|
||||
protected ObjectMapper mapper = new ObjectMapper(new YAMLFactory())
|
||||
protected Logger logger = LoggerFactory.getLogger(this.class)
|
||||
|
||||
class Service {
|
||||
@JsonProperty
|
||||
|
@ -25,6 +29,11 @@ class Metadata {
|
|||
|
||||
@JsonProperty
|
||||
String version
|
||||
|
||||
String toString() {
|
||||
return String.format("<Component@%d> \"%s\" \"%s\"",
|
||||
hashCode(), this.name, this.version)
|
||||
}
|
||||
}
|
||||
|
||||
@JsonProperty
|
||||
|
@ -46,7 +55,10 @@ class Metadata {
|
|||
* @return This instance as a YAML String
|
||||
*/
|
||||
String toYaml() {
|
||||
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
|
||||
logger.info("Writing the following structures to yaml")
|
||||
logger.info("Service: ${this.service}")
|
||||
logger.info("Component: ${this.component}")
|
||||
logger.info("Data: ${this.data}")
|
||||
return mapper.writeValueAsString(this)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.github.lookout.serviceartifact.metadata
|
||||
|
||||
import groovy.transform.TypeChecked
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore
|
||||
import org.gradle.api.Project
|
||||
|
@ -11,6 +13,7 @@ import org.slf4j.LoggerFactory
|
|||
* Container class for encapsulating some of the DSL configuration behavior
|
||||
* behind the service { data { } } closure
|
||||
*/
|
||||
@TypeChecked
|
||||
class Data {
|
||||
protected Logger logger = LoggerFactory.getLogger(this.class)
|
||||
protected Project project
|
||||
|
@ -29,7 +32,7 @@ class Data {
|
|||
* @param arguments list of String objects representing data components
|
||||
*/
|
||||
void dependencies(Object... arguments) {
|
||||
this.dependencies.addAll(arguments)
|
||||
this.dependencies.addAll(arguments as List<String>)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -39,10 +42,11 @@ class Data {
|
|||
void migrations(Object... arguments) {
|
||||
arguments.each { Object argument ->
|
||||
if (argument instanceof FileTree) {
|
||||
this.migrations.addAll((argument as FileTree).files)
|
||||
FileTree tree = argument as FileTree
|
||||
this.migrations.addAll(tree.files.collect { File f -> f.absolutePath })
|
||||
}
|
||||
else {
|
||||
this.migrations.add(argument)
|
||||
this.migrations.add(argument as String)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +63,9 @@ class Data {
|
|||
FileTree fileTree(Map args) {
|
||||
return project.fileTree(args)
|
||||
}
|
||||
|
||||
String toString() {
|
||||
return String.format("<Data@%d> %s (%s) - %s (%s)", hashCode(), this.dependencies, this.dependencies.class, this.migrations, this.dependencies.class)
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue