S3 APIs: Remove the dependency to com.jamesmurty.utils:java-xmlbuilder (#98)

XMLBuilder is a very nice fluent API for building XML documents.
However, it is only used by a tiny portion of jclouds: the s3 api. The
use of the XMLBuilder class requires a dependency to
com.jamesmurty.utils:java-xmlbuilder jar and a transitive
dependency to the net.iharder:base64 jar (superseded by
java.util.Base64 in java 8). They are 18kb each approximately and they
not OSGi compatible. They are not huge, but they represent more API
surface and more things to change when trying to use jclouds in an OSGi
context (they need to be replaced by OSGi compatible bundles like
org.apache.servicemix.bundles.java-xmlbuilder).

This commit replaces the use of XMLBuilder by a direct use of the
javax.xml and org.w3c.dom APIs.

I hope retesting will be minimal, and most of this code is covered by
unit tests.
6 files changed
tree: d66e3939f75ce9f4f1b64feee24cbad84f0e3861
  1. all/
  2. allblobstore/
  3. allcompute/
  4. allloadbalancer/
  5. apis/
  6. blobstore/
  7. common/
  8. compute/
  9. core/
  10. drivers/
  11. loadbalancer/
  12. project/
  13. providers/
  14. resources/
  15. scriptbuilder/
  16. skeletons/
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .mailmap
  21. .travis.yml
  22. CONTRIBUTING.md
  23. pom.xml
  24. README.md
README.md

jclouds

Apache jclouds is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features.

For more information about using or contributing to jclouds, please visit our website at jclouds.apache.org.

License

Copyright (C) 2009-2019 The Apache Software Foundation

Licensed under the Apache License, Version 2.0