<The previous article in this series | The table of contents of this series | The next article in this series>
To Know How to Handle (Read or Write) LibreOffice or Apache OpenOffice Writer or Calc Documents via Extensions from Java or Macro Programs
Now, we have created all the artifacts that we create by hands.
So, all the other artifacts are created from those artifacts in the build process?
Yes. I will explain what happens in the build process.
The 'intermediate' directory, which contains intermediate artifacts, is created in the project directory. For example, Java class files are intermediate artifacts because we don't need naked Java class files at the end although we need the UNO extension file that contains the Jar file that contains those Java class files.
Ah-ha.
Then, each UNOIDL file is compiled into a UNO data type unmerged registry file, which is stored under the directory, 'intermediate/registry'.
All right.
Then, the 'target' directory, which contains target artifacts, is created in the project directory.
Then, UNO data type unmerged registry files are merged into a UNO data types merged registry file, which is stored under the directory, 'target'.
Is the UNO data types merged registry file a target artifact? Isn't it just included in the UNO extension file?
In fact, it's just included in the UNO extension file in this sample UNO extension. However, it can be also directly registered into LibreOffice, and in future, we intend to create a single project that builds a single UNO data types merged registry file that contains all of our UNO data types, and register the single UNO data types merged registry file into LibreOffice.
So, in future, we will collect all the UNOIDL files in the single project?
Yes. That's because we want to make our UNO data types accessible from any of our UNO extensions.
I see.
Then, Java class files are created from the UNO data types merged registry file. They are stored under the directory, 'intermediate/classes'.
They are the UNO interface and the the 'global UNO service' instances factory, I presume?
Yes.
Then, we compile Java source files. The class files are stored under the directory, 'intermediate/classes'.
I see.
Then, the Java class files are archived into the Jar file with the manifest file filled with the contents of 'MANIFEST.MF.addition'. The Jar file is stored under the directory, 'target'.
In this sample UNO extension, the Jar file isn't a target file, but a file included in the UNO extension file, but it's stored under the target directory because in the aforementioned UNO data types project, the Jar file will be directly registered into LibreOffice, and in non-'UNO extension' projects, Jar files are usually target files.
Hmm, so, as the build systems are common among projects, things that can be target files in some projects are treated as target files in every project.
Yes.
Then, the Jar file, the UNO data types merged registry file, the manifest file of the UNO extension file, and the UNO components setting file are archived into the UNO extension file, which is stored under the directory, 'target'.
Ah-ha.
Then, the UNO extension file is registered into LibreOffice.
I see.
<The previous article in this series | The table of contents of this series | The next article in this series>