I'm trying to use the RequireJS support in subprojects, and I've run into a couple snags.
To start, org.webjars.play.RequireJS assumes the reverse router will live in a controllers package. I was able to come up with a copy that parameterizes that package name. However, I ran into another problem afterwards.
To prove my solution, I had one subproject's build.sbt depend on version X of a library, and the other subproject depend on version Y. Both end up loading version Y (the highest lexigraphically) as org.webjars.WebJarAssetLocator makes no distinction by project. Worse, if I remove the dependency from either project, both still have access.
My guess is this isn't easily solvable with Play's classloading (i.e., I can't spot any straight-forward way to give WebJarAssetLocator a kind of scope for discovery). That said, if this team has any ideas that could make this possible, I'm all ears.
If it'll help, I'll be happy to assemble a sample project.
I'm trying to use the RequireJS support in subprojects, and I've run into a couple snags.
To start,
org.webjars.play.RequireJSassumes the reverse router will live in acontrollerspackage. I was able to come up with a copy that parameterizes that package name. However, I ran into another problem afterwards.To prove my solution, I had one subproject's
build.sbtdepend on version X of a library, and the other subproject depend on version Y. Both end up loading version Y (the highest lexigraphically) asorg.webjars.WebJarAssetLocatormakes no distinction by project. Worse, if I remove the dependency from either project, both still have access.My guess is this isn't easily solvable with Play's classloading (i.e., I can't spot any straight-forward way to give
WebJarAssetLocatora kind of scope for discovery). That said, if this team has any ideas that could make this possible, I'm all ears.If it'll help, I'll be happy to assemble a sample project.