ENH: Framework for java dependency scanner. Right now it does nothing but always reports success. This is enough to get the Java test to pass with the new generator because the old implementation did not do dependencies anyway.
This commit is contained in:
parent
b636a0f20a
commit
e979735a19
|
@ -17,6 +17,8 @@ SET(SRCS
|
|||
cmDependsFortranLexer.cxx
|
||||
cmDependsFortranParser.cxx
|
||||
cmDependsFortranParser.h
|
||||
cmDependsJava.cxx
|
||||
cmDependsJava.h
|
||||
cmDependsJavaLexer.cxx
|
||||
cmDependsJavaParser.cxx
|
||||
cmDependsJavaParserHelper.cxx
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
/*=========================================================================
|
||||
|
||||
Program: CMake - Cross-Platform Makefile Generator
|
||||
Module: $RCSfile$
|
||||
Language: C++
|
||||
Date: $Date$
|
||||
Version: $Revision$
|
||||
|
||||
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
||||
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the above copyright notices for more information.
|
||||
|
||||
=========================================================================*/
|
||||
#include "cmDependsJava.h"
|
||||
|
||||
#include "cmDependsJavaParserHelper.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmDependsJava::cmDependsJava(const char* dir, const char* targetFile):
|
||||
cmDepends(dir, targetFile),
|
||||
m_SourceFile()
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmDependsJava::cmDependsJava(const char* dir, const char* targetFile,
|
||||
const char* sourceFile):
|
||||
cmDepends(dir, targetFile),
|
||||
m_SourceFile(sourceFile)
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmDependsJava::~cmDependsJava()
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmDependsJava::WriteDependencies(std::ostream& os)
|
||||
{
|
||||
// Make sure this is a scanning instance.
|
||||
if(m_SourceFile == "")
|
||||
{
|
||||
cmSystemTools::Error("Cannot scan dependencies without an source file.");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmDependsJava::CheckDependencies(std::istream&)
|
||||
{
|
||||
return true;
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
/*=========================================================================
|
||||
|
||||
Program: CMake - Cross-Platform Makefile Generator
|
||||
Module: $RCSfile$
|
||||
Language: C++
|
||||
Date: $Date$
|
||||
Version: $Revision$
|
||||
|
||||
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
||||
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the above copyright notices for more information.
|
||||
|
||||
=========================================================================*/
|
||||
#ifndef cmDependsJava_h
|
||||
#define cmDependsJava_h
|
||||
|
||||
#include "cmDepends.h"
|
||||
|
||||
/** \class cmDependsJava
|
||||
* \brief Dependency scanner for Java class files.
|
||||
*/
|
||||
class cmDependsJava: public cmDepends
|
||||
{
|
||||
public:
|
||||
/** Checking instances need to know the build directory name and the
|
||||
relative path from the build directory to the target file. */
|
||||
cmDependsJava(const char* dir, const char* targetFile);
|
||||
|
||||
/** Scanning need to know the build directory name, the relative
|
||||
path from the build directory to the target file and the source
|
||||
file to scan. */
|
||||
cmDependsJava(const char* dir, const char* targetFile,
|
||||
const char* sourceFile);
|
||||
|
||||
/** Virtual destructor to cleanup subclasses properly. */
|
||||
virtual ~cmDependsJava();
|
||||
|
||||
protected:
|
||||
// Implement writing/checking methods required by superclass.
|
||||
virtual bool WriteDependencies(std::ostream& os);
|
||||
virtual bool CheckDependencies(std::istream& is);
|
||||
|
||||
// The source file from which to start scanning.
|
||||
std::string m_SourceFile;
|
||||
|
||||
private:
|
||||
cmDependsJava(cmDependsJava const&); // Purposely not implemented.
|
||||
void operator=(cmDependsJava const&); // Purposely not implemented.
|
||||
};
|
||||
|
||||
#endif
|
|
@ -28,6 +28,7 @@
|
|||
#include "cmDependsC.h"
|
||||
#ifdef CMAKE_BUILD_WITH_CMAKE
|
||||
# include "cmDependsFortran.h"
|
||||
# include "cmDependsJava.h"
|
||||
#endif
|
||||
|
||||
#include <memory> // auto_ptr
|
||||
|
@ -3135,6 +3136,10 @@ cmLocalUnixMakefileGenerator2::GetDependsChecker(const std::string& lang,
|
|||
{
|
||||
return new cmDependsFortran(dir, objFile);
|
||||
}
|
||||
else if(lang == "Java")
|
||||
{
|
||||
return new cmDependsJava(dir, objFile);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -3219,6 +3224,11 @@ cmLocalUnixMakefileGenerator2
|
|||
cmDependsFortran scanner(".", objFile, srcFile, includes);
|
||||
return scanner.Write();
|
||||
}
|
||||
else if(lang == "Java")
|
||||
{
|
||||
cmDependsJava scanner(".", objFile, srcFile);
|
||||
return scanner.Write();
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue