AFAICT, safecss depends on SafeUri only, which currently is in com.google.gwt.safehtml, and safehtml depends on both SafeUri and SafeStyles (though only for their class names during codegen, so optional except for tests).
This means that either: 1. we split up a gwt-safeuri (with UriUtils, SafeUri, SafeUriString, IsSafeUri, etc.) 2. we split up a gwt-safehtml-templates so we can have safehtml-templates depend on both safehtml and safecss, with safecss depending on safehtml (for its safeuri) 3. we merge everything despite having separate packages and gwt.xml 4. we put everything in the same project, but still separate artifacts, so we can have tests (split into their own submodule) depend on both safehtml and safecss without having safehtml depending on safecss (given that we also need the reverse) 5. we do nothing. The dependency cycle actually only exists when none of the projects have been published (even as snapshots), so publish safehtml without the dependency (and with the corresponding tests disabled; possibly split into a separate submodule so you can easily ignore them) and then you can build safecss and publish it, and finally run safehtml tests. Once we've past the snapshots phase and actually have tagged versions, this means safehtml will always be one release of safecss behind. Options 1, 2, and 4 are not mutually exclusive actually. I'd personally go with all 1, 2, and 4 options, which provide fine-grain modularity for users, and a coarser one for developers (develop, test, and release everything at once). Migration from com.google.gwt to org.gwtproject would be slightly more complex than a blind "replace com.google.gwt.safehtml with org.gwtproject.safehtml", but that's already the case for gwt-event. On Thursday, June 25, 2020 at 10:14:46 PM UTC+2, Frank Hossfeld wrote: > > To prepare GWT for j2cl we need to move the modules out of GWT, replace > generators with ATP, etc. This is in progress and the first modules > (SNAPSHOT) are released. > > Migrating gwt-safehtml and gwt-safecss runs into a problem, cause > gwt-safehtml depends on gwt-safecss and gwt-safecss depends on > gwt-safehtml. This is a serious issue, cause one can not be build and > tested without the other. > > To solve this issue, we are looking for solutions. > > One solution might be to move the tests out of gwt-safehtml. But then > gwt-safehtml needs to be build and deployed before the tests run and might > be deployed with failing tests. That looks like a bad solution. At the > moment the idea is to move the sources and tests from gwt-safecss into > gwt-safehtml and delete gwt-safecss. This will remove the cycle dependency > between these two modules, but doing so, the module will be the first > module that contains two old modules in one new. > > Any other ideas how to solve this issue? > -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/10f49ebb-6824-4f2e-ba55-468566c6c156o%40googlegroups.com.
