Merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba

Proposed by Cezar Andrei
Status: Superseded
Proposed branch: lp:~zorba-coders/zorba/fread-pdf-trunk
Merge into: lp:zorba
Diff against target: 177 lines (+42/-13)
7 files modified
ChangeLog (+2/-1)
cmake_modules/ZorbaModule.cmake (+26/-1)
include/zorba/item_factory.h (+7/-7)
modules/ExternalModules.conf (+2/-1)
src/store/naive/atomic_items.h (+2/-2)
test/rbkt/modules/CMakeLists.txt (+2/-1)
test/rbkt/modules/ext2_config.txt.in (+1/-0)
To merge this branch: bzr merge lp:~zorba-coders/zorba/fread-pdf-trunk
Reviewer Review Type Date Requested Status
Cezar Andrei Approve
Matthias Brantner Approve
Juan Zacarias Pending
Review via email: mp+125858@code.launchpad.net

This proposal supersedes a proposal from 2012-09-19.

This proposal has been superseded by a proposal from 2012-09-26.

Commit message

Add read-pdf module, which reads the text from a pdf doc and renders its pages to images.
Add java.library.path to the jvm in util-jvm module.
Make doc comments for createBaser64Binary more explicit on what parameters they expect and what they do.
Change, return value to xs_int for getIntValue() method.

Description of the change

Make doc comments for createBaser64Binary more explicit on what parameters they expect and what they do.
Change, return value to xs_int for getIntValue() method.

To post a comment you must log in.
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

You changed the URIs of the test modules back to www.zorba-xquery.com, instead of zorba-tests.28msec.us. That will cause test failures. Make sure you've merged from the trunk recently.

review: Needs Fixing
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

(Other than that the changes look fine)

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

It's up to date now.

review: Approve
Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

You still haven't corrected the URIs of the test modules, though (test/rbkt/modules/CMakeLists.txt).

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Let me add the new module.

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

The ref to the new module is in, please review it too: lp:zorba/read-pdf-module at
https://code.launchpad.net/~zorba-coders/zorba/fread-pdf-the-module .

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Back to zorba-tests.28msec.us in test/rbkt/modules/CMakeLists.txt and mention in Changelog.

Revision history for this message
Chris Hillery (ceejatec) wrote : Posted in a previous version of this proposal

Great, thanks.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in ChangeLog

Revision history for this message
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal

It looks nice (without being able to testing it ;-)

- The module should follow XQuery coding conventions. For example, no camel-case
but function and variable names using dashes.

- The read-pdf:renderToImages-internal function is not documented. This will probably cause
the xqdoc test to fail.

- There is a conflict in the ChangeLog.

- The schema contains some commented out code => remove?

- The declaration of the $options variable for the -internal functions should not allow for
an optional occurrence indicator.

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

I fixed all the comments with the exception of the optional occurrence indicator for internal functions. I tested it with empty sequence and works fine.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue job fread-pdf-trunk-2012-09-20T03-03-43.261Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 2 Needs Fixing.

Revision history for this message
Paul J. Lucas (paul-lucas) wrote : Posted in a previous version of this proposal

It doesn't look like the fpdf.* files were added via "bzr add" -- were they supposed to be?

Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

Paul,

If you're asking about my last commit msg, it is as it should be just one line change, by deleting the tag name, it makes trunk use the latest HEAD version of the module branch. The files in util-jvm were already reviewed and merged see this merge: https://code.launchpad.net/~zorba-coders/zorba/fread-pdf-utiljvm-module/+merge/125332 .

The changes in file: modules/ExternalModules.conf'

117 --- modules/ExternalModules.conf 2012-09-17 00:36:37 +0000
118 +++ modules/ExternalModules.conf 2012-09-21 15:25:26 +0000
119 @@ -39,11 +39,12 @@
123 +read-pdf bzr lp:zorba/read-pdf-module
128 -util-jvm bzr lp:zorba/util-jvm-module zorba-2.6
129 +util-jvm bzr lp:zorba/util-jvm-module

Revision history for this message
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal

The module works pretty decent. I was able to extract text or generate images for several pdfs without any problems.
There are some minor things that should be discussed and/or fixed:

- the error seems to be too general, essentially it always raises JAVA-EXCEPTION no matter what goes wrong (e.g. it the given input is not a valid pdf)

- the java stack trace seems to be sent to standard error

- Renders the each page of the PDF document as an image. => Renders each page of the PDF document as an image.

- the names of the private functions should also adhere to the code conventions renderToImages => render-to-images

- make xqdoc failes because the comments seem to contain invalid xml
</home/mbrantner/zorba/build/URI_PATH/com/zorba-xquery/www/modules/project_xqdoc.xq>:142,9: user-defined error [err:UE004]: Error processing module zerr:ZXQD0002 - " This module provides funtionality to read the text from PDF documents and
 to render PDF documents to images.
 <a href="http://pdfbox.apache.org">Apache PDFBox</a> library is used to
 implement these functions.
 <br />
 <br />
 <b>Note:</b> Since this module has a Java library dependency a JVM required
 to be installed on the system. For Windows: jvm.dll is required on the system
 path ( usually located in "C:\Program Files\Java\jre6\bin\client".
 <b>Note:<b> For Debian based Linux distributions install PdfBox and FontBox
 packages: sudo apt-get install libpdfbox-java libfontbox-java
": can not parse as XML for xqdoc: loader parsing error: Opening and ending tag mismatch: b line 0 and root
; raised at /home/mbrantner/zorba/sandbox/src/runtime/errors_and_diagnostics/errors_and_diagnostics_impl.cpp:81

- adapt the year in "Copyright 2006-2009 The FLWOR Foundation." in the .xq file (and some other files also)

- would it make sense to return one string per page in the pdf instead of one big string?

- remove commented out code in read-pdf.cpp

- valgrind shows tons of invalid writes. Why? Are they critical? Is there anything we can do?

- would it make sense to return the images in a streaming fashion (i.e. don't create all base64's in a vector)?

- encoding each image shouldn't be necessary and will probably we wasted effort because the images might be written to a file in their binary form

review: Needs Fixing
Revision history for this message
Cezar Andrei (cezar-andrei) wrote : Posted in a previous version of this proposal

See answers inline:
- the error seems to be too general, essentially it always raises JAVA-EXCEPTION no matter what goes wrong (e.g. it the given input is not a valid pdf)
I adapted the error msg to be more clear/specific.

- the java stack trace seems to be sent to standard error
Goes to std err.

- Renders the each page of the PDF document as an image. => Renders each page of the PDF document as an image.
Done.

- the names of the private functions should also adhere to the code conventions renderToImages => render-to-images
Done.

- make xqdoc failes because the comments seem to contain invalid xml
</home/mbrantner/zorba/build/URI_PATH/com/zorba-xquery/www/modules/project_xqdoc.xq>:142,9: user-defined error [err:UE004]: Error processing module zerr:ZXQD0002 - " This module provides funtionality to read the text from PDF documents and
 to render PDF documents to images.
 <a href="http://pdfbox.apache.org">Apache PDFBox</a> library is used to
 implement these functions.
 <br />
 <br />
 <b>Note:</b> Since this module has a Java library dependency a JVM required
 to be installed on the system. For Windows: jvm.dll is required on the system
 path ( usually located in "C:\Program Files\Java\jre6\bin\client".
 <b>Note:<b> For Debian based Linux distributions install PdfBox and FontBox
 packages: sudo apt-get install libpdfbox-java libfontbox-java
": can not parse as XML for xqdoc: loader parsing error: Opening and ending tag mismatch: b line 0 and root
; raised at /home/mbrantner/zorba/sandbox/src/runtime/errors_and_diagnostics/errors_and_diagnostics_impl.cpp:81
Done.

- adapt the year in "Copyright 2006-2009 The FLWOR Foundation." in the .xq file (and some other files also)
Done.

- would it make sense to return one string per page in the pdf instead of one big string?
The API doesn't alow it, but I added two more optional options, to insert a user defined string at the start and end of each page.

- remove commented out code in read-pdf.cpp
Done.

- valgrind shows tons of invalid writes. Why? Are they critical? Is there anything we can do?
Jvm always shows in valgrind, even if nothing is done with it. I was careful to remove any allocated memory.

- would it make sense to return the images in a streaming fashion (i.e. don't create all base64's in a vector)?
No, because it's a push write of all images. And as discussed, optimize only a copy in some cases isn't worth the effort.

- encoding each image shouldn't be necessary and will probably we wasted effort because the images might be written to a file in their binary form
Done.

Revision history for this message
Cezar Andrei (cezar-andrei) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job fread-pdf-trunk-2012-09-22T21-29-56.025Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 2 Pending.

Revision history for this message
Matthias Brantner (matthias-brantner) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job fread-pdf-trunk-2012-09-25T20-57-55.26Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Approve, 1 Pending.

Revision history for this message
Chris Hillery (ceejatec) wrote :

Cezar - The remote queue is still not finding the jars, although they are installed correctly in /usr/share/java as requested. (This is also probably why the experimental build isn't including the module.) The problem, I believe, is that you are using FIND_FILE() to find them, and you only list a few specific version numbers to find - I installed 1.7.1 from the URL you sent, but that isn't one of the versions listed in CMakeLists.txt in the read-pdf module.

The correct solution is to use ZORBA_FIND_JAR(), which will look for .jar files with any embedded version number. See src/com/zorba-xquery/www/modules/CMakeLists.txt in the data-formatting module for an example. If you make that change in the module, this merge proposal should succeed.

Revision history for this message
Chris Hillery (ceejatec) wrote :

I have re-assigned my review request to Juan, since I will not be around much longer to vote on this proposal.

Juan, all you need to review is the CMake stuff in the lp:zorba/read-pdf-module branch, specifically to ensure that it uses FIND_ZORBA_JAR() appropriately. Once Cezar makes that change, you can vote Approve on this proposal.

Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

I've modified read-pdf's CMakeLists.txt to use ZORBA_FIND_JAR instead of FIND_FILE.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-25T23-51-47.915Z is finished.
  The final status was:

  No tests were run - build or configure step must have failed.

  Not commiting changes.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Chris Hillery (ceejatec) wrote :

The read-pdf module was found and built with this latest RQ run.

However, it has no tests. I personally don't think that's acceptable, even for a beta release.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/fread-pdf-trunk into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fread-pdf-trunk-2012-09-26T04-11-47.786Z is finished.
  The final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Chris Hillery (ceejatec) wrote :

Error message from failed test:

</home/ceej/zo/testing/zorbatest/tester/remotequeue/fread-pdf-trunk-2012-09-26T04-11-47.786Z/bzr/zorba/build/URI_PATH/com/zorba-xquery/www/modules/read-pdf_0.xq>:127,18: Zorba error [zerr:ZXQP0008]: "{http://www.zorba-xquery.com/modules/read-pdf}extract-text-internal#2": function implementation not found

Remember that the RQ runs in release mode.

Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

I added texts for all functions.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in ChangeLog

10955. By Cezar Andrei <email address hidden>

Merge from trunk, resolved ChangeLog conflict.

10956. By Cezar Andrei <email address hidden>

Merge from trunk.
Resolved changeLog conflict.

10957. By Cezar Andrei <email address hidden>

Merge from trunk. Resolved conflict in ExternalModules.conf.

10958. By Cezar Andrei <email address hidden>

Add tag to read-pdf module.

10959. By Cezar Andrei <email address hidden>

Merge from trunk, resolve Changelog conflict.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog'
2--- ChangeLog 2012-09-26 21:29:08 +0000
3+++ ChangeLog 2012-09-26 23:06:48 +0000
4@@ -17,7 +17,8 @@
5 * Implemented semantics of null for comparison and arithmetics operations.
6 * Positional pagination support for index probes
7 * Recognize the no-copy pragma to avoid copying nodes before insertion into a collection.
8- * Added createUntypedAtomic to API's ItemFactory.
9+ * Added createUntypedAtomic to API's ItemFactory.
10+ * Adding new external module read-pdf, it converts PDF documents to text or rendered images.
11
12 Optimizations:
13 * New memory management for compiler expressions (no more ref counting)
14
15=== modified file 'cmake_modules/ZorbaModule.cmake'
16--- cmake_modules/ZorbaModule.cmake 2012-09-17 00:36:37 +0000
17+++ cmake_modules/ZorbaModule.cmake 2012-09-26 23:06:48 +0000
18@@ -114,9 +114,20 @@
19 # relative to CMAKE_CURRENT_SOURCE_DIR)
20 # LINK_LIBRARIES - (optional) List of libraries to link external
21 # function library against
22+# CONFIG_FILES - (optional) List of files to configure with package
23+# information; see below
24 # TEST_ONLY - (optional) Module is for testcases only and should not
25 # be installed
26 #
27+# CONFIG_FILES - any files specific here will be copied to
28+# CMAKE_CURRENT_BINARY_DIR using CONFIGURE_FILE(). They may contain
29+# the following @VARIABLES@ which will be substituted:
30+# ZORBA_MODULE_RELATIVE_DIR - directory portion of mangled URI
31+# ZORBA_MODULE_LIBFILE_WE - filename (without extension) portion of
32+# mangled URI
33+# The input files should have a .in extension. The resulting file in
34+# the build directory will have the .in removed.
35+#
36 # QQQ this currently doesn't support modules with multiple component
37 # .xq files. (Neither does Zorba's automatic loading mechanism, so
38 # this probably isn't a huge deal, but worth thinking about.)
39@@ -125,7 +136,7 @@
40 # file enough to deduce the URI and version?
41 MACRO (DECLARE_ZORBA_MODULE)
42 # Parse and validate arguments
43- PARSE_ARGUMENTS(MODULE "LINK_LIBRARIES;EXTRA_SOURCES"
44+ PARSE_ARGUMENTS(MODULE "LINK_LIBRARIES;EXTRA_SOURCES;CONFIG_FILES"
45 "URI;FILE;VERSION" "TEST_ONLY" ${ARGN})
46 IF (NOT MODULE_FILE)
47 MESSAGE (FATAL_ERROR "'FILE' argument is required for ZORBA_DECLARE_MODULE()")
48@@ -353,6 +364,20 @@
49 "${version_infix}" "" 1 "${MODULE_TEST_ONLY}")
50 ENDFOREACH (version_infix)
51
52+ # Configure any module-specified config files.
53+ SET (ZORBA_MODULE_RELATIVE_DIR ${module_path})
54+ SET (ZORBA_MODULE_LIBFILE_WE ${module_filewe})
55+ FOREACH (_config_file ${MODULE_CONFIG_FILES})
56+ # Strip off .in - can't use GET_FILENAME_COMPONENT as it always removes
57+ # the longest possible extension
58+ STRING (REGEX REPLACE "\\.in$" "" _config_filename_we "${_config_file}")
59+ IF (NOT IS_ABSOLUTE "${_config_file}")
60+ SET (_config_file "${CMAKE_CURRENT_SOURCE_DIR}/${_config_file}")
61+ ENDIF (NOT IS_ABSOLUTE "${_config_file}")
62+ CONFIGURE_FILE (${_config_file}
63+ "${CMAKE_CURRENT_BINARY_DIR}/${_config_filename_we}" @ONLY)
64+ ENDFOREACH (_config_file)
65+
66 # Last but not least, whip up a test case that ensures the module
67 # can at least be compiled. Don't bother for test-only modules
68 # (presumably they're there to be tested!).
69
70=== modified file 'include/zorba/item_factory.h'
71--- include/zorba/item_factory.h 2012-09-26 17:09:11 +0000
72+++ include/zorba/item_factory.h 2012-09-26 23:06:48 +0000
73@@ -123,8 +123,8 @@
74 /** \brief Creates a Base64Binary Item
75 * see [http://www.w3.org/TR/xmlschema-2/#base64Binary]
76 *
77- * @param aBinData a pointer to the base6c4 binary data.
78- * @param aLength the length of the base64 binary data.
79+ * @param aBinData a pointer to the base64 encoded data. The data is copied from aBinData.
80+ * @param aLength the length of the base64 encoded data.
81 * @return The Base64Binary Item.
82 */
83 virtual Item
84@@ -133,7 +133,7 @@
85 /** \brief Creates a Base64Binary Item
86 * see [http://www.w3.org/TR/xmlschema-2/#base64Binary]
87 *
88- * @param aStream A stream containing the Base64 encoded data.
89+ * @param aStream A stream containing the Base64 encoded data. The data is copied from aStream imediately.
90 * @return the Base64Binary Item.
91 */
92 virtual Item
93@@ -142,11 +142,11 @@
94 /** \brief Creates a Base64Binary Item
95 * see [http://www.w3.org/TR/xmlschema-2/#base64Binary]
96 *
97- * @param aBinData the data in binary form. The data is copied from aBinData.
98- * @param aLength the length of the data
99+ * @param aBinData the data in binary form (not encoded). The data is copied from aBinData.
100+ * @param aLength the length of the binary data
101 * @return the Base64Binary Item.
102 */
103- virtual Item
104+ virtual Item
105 createBase64Binary(const unsigned char* aBinData, size_t aLength) = 0;
106
107 /** \brief Creates a streamable Base64Binary Item
108@@ -742,7 +742,7 @@
109 * @param aNames A vector containing the name and value of each pair.
110 */
111 virtual Item createJSONObject(std::vector<std::pair<Item, Item> >& aNames) = 0;
112-
113+
114 /**
115 * Create a JSON Array containing the specified items.
116 *
117
118=== modified file 'modules/ExternalModules.conf'
119--- modules/ExternalModules.conf 2012-09-17 00:36:37 +0000
120+++ modules/ExternalModules.conf 2012-09-26 23:06:48 +0000
121@@ -39,11 +39,12 @@
122 languages bzr lp:zorba/languages-module zorba-2.6
123 oauth bzr lp:zorba/oauth-module zorba-2.6
124 process bzr lp:zorba/process-module zorba-2.6
125+read-pdf bzr lp:zorba/read-pdf-module
126 security bzr lp:zorba/security-module zorba-2.6
127 system bzr lp:zorba/system-module zorba-2.6
128 xqxq bzr lp:zorba/xqxq-module zorba-2.6
129 email bzr lp:zorba/email-module zorba-2.6
130-util-jvm bzr lp:zorba/util-jvm-module zorba-2.6
131+util-jvm bzr lp:zorba/util-jvm-module
132 schema-tools bzr lp:zorba/schema-tools-module zorba-2.6
133 stack bzr lp:zorba/stack-module zorba-2.6
134 queue bzr lp:zorba/queue-module zorba-2.6
135
136=== modified file 'src/store/naive/atomic_items.h'
137--- src/store/naive/atomic_items.h 2012-09-17 00:36:37 +0000
138+++ src/store/naive/atomic_items.h 2012-09-26 23:06:48 +0000
139@@ -1776,7 +1776,7 @@
140 friend class AtomicItem;
141
142 protected:
143- int32_t theValue;
144+ xs_int theValue;
145
146 protected:
147 IntItem(xs_int aValue) : theValue(aValue) {}
148@@ -1792,7 +1792,7 @@
149
150 xs_long getLongValue() const { return static_cast<xs_long>(theValue); }
151
152- int32_t getIntValue() const { return theValue; }
153+ xs_int getIntValue() const { return theValue; }
154
155 store::SchemaTypeCode getTypeCode() const { return store::XS_INT; }
156
157
158=== modified file 'test/rbkt/modules/CMakeLists.txt'
159--- test/rbkt/modules/CMakeLists.txt 2012-09-17 00:36:37 +0000
160+++ test/rbkt/modules/CMakeLists.txt 2012-09-26 23:06:48 +0000
161@@ -27,8 +27,9 @@
162 DECLARE_ZORBA_MODULE(URI "http://zorba-tests.28msec.us/modules/B" VERSION 1.0
163 FILE "${CMAKE_CURRENT_SOURCE_DIR}/module-B.xq" TEST_ONLY)
164
165+# This one also has a CONFIG_FILE
166 DECLARE_ZORBA_MODULE(URI "http://zorba-tests.28msec.us/modules/ext"
167- VERSION 2.0 FILE "ext2.xq" TEST_ONLY)
168+ VERSION 2.0 FILE "ext2.xq" TEST_ONLY CONFIG_FILES ext2_config.txt.in)
169 DECLARE_ZORBA_MODULE(URI "http://zorba-tests.28msec.us/modules/ext"
170 VERSION 1.0 FILE "ext.xq" TEST_ONLY)
171
172
173=== added file 'test/rbkt/modules/ext2_config.txt.in'
174--- test/rbkt/modules/ext2_config.txt.in 1970-01-01 00:00:00 +0000
175+++ test/rbkt/modules/ext2_config.txt.in 2012-09-26 23:06:48 +0000
176@@ -0,0 +1,1 @@
177+This is a test: "@ZORBA_MODULE_RELATIVE_DIR@" "@ZORBA_MODULE_LIBFILE_WE@"

Subscribers

People subscribed via source and target branches