Hi Eckard,
I found a bug by calling xml2abc with a full path to the sources instead a relative path.
It seems somewhere internally two paths are concatenated and used as target folder for logs created
In my case I have set MORITZ_ROOT to be in my A: drive (which is a Vera crypt drive) and I try to generate the nsd to my users %TEMP% folder wich is in C: drive.
I did the same with abc2xml but this seems not to get in trouble and generated the xml files in %TEMP%\moritz\xml.
The filename, directory name, or volume label syntax is incorrect.
faild to create directory :
A:\src\Moritz_work_copy\trunk\distribution\Moritz\Development\Moritz_Dev\C:\Users\nxf65130\AppData\Local\Temp\1\moritz\log\.\LangPack\ansi_c\_log\snpt\
So the path contains ...\C:... which is invalid
What I called is
%MORITZ_PATH%\bin\xml2abc UA:LogRoot=%MORITZ_LOG_PATH% UA:RootPath=%MORITZ_PATH% UA:DestPath=%TEMP% CF.\cfg\ansi_c_xml2abc_cfg_nsd.xml > %MORITZ_LOG_PATH%\log_xml2abc_nsd.log
where I added an additional variable called DestRoot pointing to the users %TEMP% folder and using it to refer to the xml folder containing the output of step 1 abc2xml)
The ansi_c_xml2abc_cfg_nsd.xml is this
<Configuration project=" ">
<Path>
<!-- location of the nsd-file output produced by xml2abc -->
<DestinationPath value="[?(#Configuration/UserArgument/DestPath)!({value})]/moritz/nsd/" />
<User>
<LangPackPath value="[?(#Configuration/UserArgument/RootPath)!({value})]/" />
<!-- location of the description-file output produced by xml2abc -->
<DescriptionPath value="[?(#Configuration/UserArgument/DestPath)!({value})]/moritz/des/" />
</User>
</Path>
<Source>
<!-- to use all _cpp.xml-files in the folder and its sub-folders -->
<FolderName value="[?(#Configuration/UserArgument/DestPath)!({value})]/moritz/xml/" root="SourcePath" fileAttachment="_c.xml" recursive="No" doNotSkip="No"/>
</Source>
<!-- include the detailed generator-configuration for c/cpp located in the
root-folder known as root
reffer in documentation:
Configuring the Generation-Process in the section Process
-->
<GeneratorNSD includeFile="./LangPack/ansi_c/x2a_nsd/xml2abc_Process_ansi_c_nsd.xml" root="LangPackPath" />
</Configuration>
as workarround I copied the xml folder to the current directory and adapted the ...nsd.xml
xcopy %TEMP%\moritz\xml xml\ /E
<foldername value="./xml/" root="SourcePath" fileattachment="_c.xml" recursive="No" donotskip="No"></foldername>
Hello Wasili.
Thanks for your intensive testing. I'm real appreciated about all the effort you take.
To solve this problem I have attached 2 new binaries for Windows 64 bit and the source-files you need to build them by your self for Windows 32 bit, Linux or Macintosh.
But we have to modify your XML configuration also, since the definition of the source root-path should be done in the following XML tree node:
In your case the path-definition in the xml2abc configuration looks like this:
Different to you I have called the new user-argument not DestPath but ResultPath to avoid confusions since the source-path is configured with a destination-path.
As you know the detailed configuration of source-files and source folders contain the attribute root.
This attribute root defines the user-path, that should used as root for the specific files or folders.
The console script for Windows defines and uses the paths this way:
I have tested it with relative paths as well as with absolute path on my Win 10 laptop.
I know that you have currently problems to download the zipped binaries or to build them by your self. But I hope you are able to find a solution for this.
Take care about you, stay well and healthy,
Eckard.
PS.:
In the meanwhile I have uploaded a new SVN-Archive here.
Hello Eckard,
many thanks for being that fast in providing the fix.
Unfortunately I can't download executables and will need to wait until you created a new release containing this fix to get it provided by the companies IT department.
As I have a workaround, it is not a blocker for me to continue using Moritz :)
Wish you merry Christmas and a happy new year
Wasili
Hello Wasili.
I know convincing the IT department may be a difficult task. But even I really think that we have a fruitful discussion, that will result in a extension of Moritz useful for everybody, I think is too early now for a new release.
We are working currently on the basic configuration setup of the tool and if I would now prepare a new release I have to modify a lot of other configuration file used for Python, Matlab and Pascal also.
I expect that we will implement some more changes and I want to prepare the next release not before we both come to the conclusion that your issues and needs are really solved. Otherwise one release would come after the other.
However, today I have released new patches for Moritz. Here you will find 32 bit and 64 bit windows binaries and 32 bit binaries for Linux together with the sources to build them by your self.
Last but not least I have also uploaded a new SVN archive.
I wish you merry Christmas and a happy new year.
Take care about you, stay well and healthy,
Eckard.