cmDependsJava.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file LICENSE.rst or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include "cmConfigure.h" // IWYU pragma: keep
  5. #include <iosfwd>
  6. #include <string>
  7. #include "cmDepends.h"
  8. /** \class cmDependsJava
  9. * \brief Dependency scanner for Java class files.
  10. */
  11. class cmDependsJava : public cmDepends
  12. {
  13. public:
  14. /** Checking instances need to know the build directory name and the
  15. relative path from the build directory to the target file. */
  16. cmDependsJava();
  17. /** Virtual destructor to cleanup subclasses properly. */
  18. ~cmDependsJava() override;
  19. cmDependsJava(cmDependsJava const&) = delete;
  20. cmDependsJava& operator=(cmDependsJava const&) = delete;
  21. protected:
  22. // Implement writing/checking methods required by superclass.
  23. bool WriteDependencies(std::set<std::string> const& sources,
  24. std::string const& file, std::ostream& makeDepends,
  25. std::ostream& internalDepends) override;
  26. bool CheckDependencies(std::istream& internalDepends,
  27. std::string const& internalDependsFileName,
  28. DependencyMap& validDeps) override;
  29. };