guardrail-dev / guardrail-dev/guardrail-maven-plugin

Doesn't work with threaded maven

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
2
Forks
6
PR merge metrics
No merged PRs in 30d

Description

`mvn -T 1C` reportedly results in the following traceback, with the overall failure: `java.lang.AssertionError : I am not a chatild of my parent`

```
[ERROR] Failed to generate client
com.twilio.guardrail.CodegenFailedException
at com.twilio.guardrail.AbstractGuardrailCodegenMojo.$anonfun$guardrailTask$4 (AbstractGuardrailCodegenMojo.scala:181)
at com.twilio.guardrail.TargetError.fold (Target.scala:108)
at com.twilio.guardrail.AbstractGuardrailCodegenMojo.guardrailTask (AbstractGuardrailCodegenMojo.scala:194)
at com.twilio.guardrail.AbstractGuardrailCodegenMojo.execute (AbstractGuardrailCodegenMojo.scala:141)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:190)
at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:186)
at java.util.concurrent.FutureTask.run (FutureTask.java:264)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:515)
at[ a1mERROR] Erva.ror: Eutil.crrooncr attemptingurrent.FutureTa tosk. proruncess /Users/kpavlov/work (it[1mFutureT/mask.javessa:2aging/a64-service/core-modules/a2p-integratm)i
on-impl/src/ main/resources/number-pool-service.oas3.yml:
java.lang.AssertionError : I am not a chatild of my parent.
at com.tilio.guardrail.SwaggerUtil$.$anonfun$typeName$15(Swag[mger jUtil.scalaava.util.concurrent.Thr:296)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
ead at com.twiliPoolExeco.utor.runWorkerguardrail.Targe (ThreadPoolExecutor.java:1130)t$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.SwaggerUtil$.$anonfun$typeName$3(SwaggerUtil.scala:269)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at
com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.SwaggerUtil$.typeName(SwaggerUtil.scala:268)
at com.twilio.guardrail.ProtocolGeneraator$.$anonfun$fromEnum$18(Proto[mco java.util.concurrent.ThreadPoolExeculGenerator.scala:149)
tor$Worker.run at com.twilio.guardra (ThreadPoolExecutor.java:630)
il.Target$$anon$1.flatMap(Target. scala:37)
at com.twilio.gurdr[1matail.Targ jet$$anoavan$1.flatMap.la(Target.scala:27)ng.Thread.run
...
( Thr ead.java:832)at com.twilio.guardrail.ProtocolG
enerator$.$anonfun$fromEnum$17(ProtocolGenerator.scala:148)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.ProtocolGenerator$.fromEnum(ProtocolGenerator.scala:147)
at com.twilio.guardrail.ProtocolGenerator$.$anonfun$fromSwagger$20(ProtocolGenerator.scala:726)
at com.twilio.guardrail.core.HighPriorityTrackerSyntax$RefineEitherSyntax.$anonfun$orRefine$2(Tracker.scala:115)
...
at com.twilio.guardrail.core.HighPriorityTrackerSyntax$RefineEitherSyntax.$anonfun$orRefine$1(Tracker.scala:117)
...
at com.twilio.guardrail.core.HighPriorityTrackerSyntax$RefineEitherSyntax.orRefine(Tracker.scala:118)
at com.twilio.guardrail.ProtocolGenerator$.$anonfun$fromSwagger$7(ProtocolGenerator.scala:724)
...
at com.twilio.guardrail.ProtocolGenerator$.$anonfun$fromSwagger$6(ProtocolGenerator.scala:685)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.ProtocolGenerator$.$anonfun$fromSwagger$4(ProtocolGenerator.scala:684)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.ProtocolGenerator$.$anonfun$fromSwagger$3(ProtocolGenerator.scala:683)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.ProtocolGenerator$.fromSwagger(ProtocolGenerator.scala:681)
at com.twilio.guardrail.Common$.prepareDefinitions(Common.scala:48)
at com.twilio.guardrail.core.CoreTermInterp.$anonfun$processArgSet$18(CoreTermInterp.scala:217)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.core.CoreTermInterp.$anonfun$processArgSet$17(CoreTermInterp.scala:215)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.core.CoreTermInterp.$anonfun$processArgSet$16(CoreTermInterp.scala:214)
at com.twilio.guardrail.ReadSwagger$.$anonfun$readSwagger$2(ReadSwagger.scala:23)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.ReadSwagger$.readSwagger(ReadSwagger.scala:23)
at com.twilio.guardrail.CLICommon.$anonfun$guardrailRunner$3(CLI.scala:171)
...
at com.twilio.guardrail.CLICommon.$anonfun$guardrailRunner$2(CLI.scala:168)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:37)
at com.twilio.guardrail.Target$$anon$1.flatMap(Target.scala:27)
...
at com.twilio.guardrail.CLICommon.$anonfun$guardrailRunner$1(CLI.scala:168)
at com.twilio.guardrail.AbstractGuardrailCodegenMojo.guardrailTask(AbstractGuardrailCodegenMojo.scala:158)
at com.twilio.guardrail.AbstractGuardrailCodegenMojo.execute(AbstractGuardrailCodegenMojo.scala:141)
...
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the failure with `mvn -T 1C` and the reported number-pool-service.oas3.yml input. Start at AbstractGuardrailCodegenMojo.scala:181, then inspect SwaggerUtil.scala:268-296 and ProtocolGenerator.scala:147-149, where the stack trace reaches the assertion. Done means threaded Maven generation completes without the `I am not a child of my parent` assertion.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.