Commit d411041c authored by Roman Donchenko's avatar Roman Donchenko Committed by OpenCV Buildbot

Merge pull request #1637 from SpecLad:run-py-java-fix

parents 7605426d 5bb6949b
...@@ -10,6 +10,9 @@ set(opencv_test_java_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/.build") ...@@ -10,6 +10,9 @@ set(opencv_test_java_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/.build")
set(android_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../android_test") set(android_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../android_test")
set(java_source_dir ${CMAKE_CURRENT_SOURCE_DIR}) set(java_source_dir ${CMAKE_CURRENT_SOURCE_DIR})
# make sure the build directory exists
file(MAKE_DIRECTORY "${opencv_test_java_bin_dir}")
# get project sources # get project sources
file(GLOB_RECURSE opencv_test_java_files RELATIVE "${android_source_dir}" "${android_source_dir}/res/*" "${android_source_dir}/src/*.java") file(GLOB_RECURSE opencv_test_java_files RELATIVE "${android_source_dir}" "${android_source_dir}/res/*" "${android_source_dir}/src/*.java")
# These are the files that need to be updated for pure Java. # These are the files that need to be updated for pure Java.
...@@ -58,14 +61,6 @@ add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build.xml" ...@@ -58,14 +61,6 @@ add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build.xml"
COMMENT "Copying build.xml" COMMENT "Copying build.xml"
) )
# Create a script for running the Java tests and place it in build/bin.
#if(WIN32)
#file(WRITE "${CMAKE_BINARY_DIR}/bin/opencv_test_java.cmd" "cd ${opencv_test_java_bin_dir}\nset PATH=${EXECUTABLE_OUTPUT_PATH}/Release;%PATH%\nant -DjavaLibraryPath=${EXECUTABLE_OUTPUT_PATH}/Release buildAndTest")
#file(WRITE "${CMAKE_BINARY_DIR}/bin/opencv_test_java_D.cmd" "cd ${opencv_test_java_bin_dir}\nset PATH=${EXECUTABLE_OUTPUT_PATH}/Debug;%PATH%\nant -DjavaLibraryPath=${EXECUTABLE_OUTPUT_PATH}/Debug buildAndTest")
#else()
#file(WRITE "${CMAKE_BINARY_DIR}/bin/opencv_test_java.sh" "cd ${opencv_test_java_bin_dir};\nant -DjavaLibraryPath=${LIBRARY_OUTPUT_PATH} buildAndTest;\ncd -")
#endif()
add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build/jar/opencv-test.jar" add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build/jar/opencv-test.jar"
COMMAND "${ANT_EXECUTABLE}" build COMMAND "${ANT_EXECUTABLE}" build
WORKING_DIRECTORY "${opencv_test_java_bin_dir}" WORKING_DIRECTORY "${opencv_test_java_bin_dir}"
...@@ -73,8 +68,19 @@ add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build/jar/opencv-test.jar ...@@ -73,8 +68,19 @@ add_custom_command(OUTPUT "${opencv_test_java_bin_dir}/build/jar/opencv-test.jar
COMMENT "Build Java tests" COMMENT "Build Java tests"
) )
add_custom_target(${PROJECT_NAME} ALL SOURCES "${opencv_test_java_bin_dir}/build/jar/opencv-test.jar") # Not add_custom_command because generator expressions aren't supported in
add_dependencies(${PROJECT_NAME} ${the_module}) # OUTPUT file names, and we need to generate different files for different
# configurations.
add_custom_target(${PROJECT_NAME}_properties
COMMAND "${CMAKE_COMMAND}" -E echo "opencv.lib.path = $<TARGET_FILE_DIR:${the_module}>"
> "${opencv_test_java_bin_dir}/ant-$<CONFIGURATION>.properties"
VERBATIM
)
add_custom_target(${PROJECT_NAME} ALL
DEPENDS ${the_module} ${PROJECT_NAME}_properties
SOURCES "${opencv_test_java_bin_dir}/build/jar/opencv-test.jar"
)
if(ENABLE_SOLUTION_FOLDERS) if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "tests accuracy") set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "tests accuracy")
......
<project> <project>
<property file="ant-${opencv.build.type}.properties"/>
<path id="master-classpath"> <path id="master-classpath">
<fileset dir="lib"> <fileset dir="lib">
<include name="*.jar"/> <include name="*.jar"/>
...@@ -34,8 +36,8 @@ ...@@ -34,8 +36,8 @@
<target name="test"> <target name="test">
<mkdir dir="testResults"/> <mkdir dir="testResults"/>
<junit printsummary="true" haltonfailure="false" haltonerror="false" showoutput="false" logfailedtests="true" maxmemory="256m"> <junit printsummary="true" haltonfailure="false" haltonerror="false" showoutput="false" logfailedtests="true" maxmemory="256m">
<sysproperty key="java.library.path" path="${javaLibraryPath}"/> <sysproperty key="java.library.path" path="${opencv.lib.path}"/>
<env key="PATH" path="${javaLibraryPath}"/> <env key="PATH" path="${opencv.lib.path}"/>
<classpath refid="master-classpath"/> <classpath refid="master-classpath"/>
<classpath> <classpath>
<pathelement location="build/classes"/> <pathelement location="build/classes"/>
......
...@@ -759,7 +759,10 @@ class TestSuite(object): ...@@ -759,7 +759,10 @@ class TestSuite(object):
return hostlogpath return hostlogpath
return None return None
elif path == "java": elif path == "java":
cmd = [self.ant_executable, "-DjavaLibraryPath=" + self.tests_dir, "buildAndTest"] cmd = [self.ant_executable,
"-Dopencv.build.type="
+ (self.options.configuration if self.options.configuration else self.build_type),
"buildAndTest"]
print >> _stderr, "Run command:", " ".join(cmd) print >> _stderr, "Run command:", " ".join(cmd)
try: try:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment