The org.jboss.xts module depends on org.jboss.as.xts. It does so to allow the WildflyTransactionClientTxBridgeIntegrationHandler class to be found after the XTS subsystem's XTSHandlerDeploymentProcessor wires its name into the deployment.
But if there is no xts subsystem, then there's no XTSHandlerDeploymentProcessor and thus there's no wiring of the class name nor any need to load the class.
So, this dependency is optional and should be marked as such.
The reason this is important is that we currently have this dependency chain:
And org.jboss.as.transactions is used from quite a lot of places. And that means this org.jboss.xts dependency brings the whole WS stack into a lot of places. Making this link optional will allow Galleon to optimize that away.