-
Notifications
You must be signed in to change notification settings - Fork 1
Profiles
Evee specifies the following maven build profiles:
-
complete: The default profile, which compiles all modules. -
owlapi4: This profile compiles all modules except forevee-protegeand its sub-modules. Only the owlapi4-version of each module will be compiled. -
owlapi5: This profile compiles all modules except forevee-protegeand its sub-modules. Only the owlapi5-version of each module will be compiled. -
protege: This profile compiles all modules relevant for the protege-plugins. Essentially, this profile compiles the same modules as the profileowlapi4excluding the moduleevee-libs-owlapi4and including the modulesevee-protegeandevee-protege-release. -
pluginDev: This profile compiles only the module evee-protege and its sub-modules.
The profile owlapi5 re-uses the source code of the profile owlapi4. Compilation of this profile is done via a combination of several maven plugins:
When using the profile owlapi5, this plugin is used to turn off compilation of all sub-modules of Evee except for the relevant owlapi5 submodules.
This is done by defining the plugin in the pom.xml of the parent module evee and using the property-variable skipCompilation for the configuration tags skipMain (to skip compilation of main source files) and skip (to skip compilation of test source files). The default value of this variable is false. When using the profile owlapi5, this variable is changed to true, which turns off compilation of all sub-modules of Evee. The variable is then overwritten to false in the owlapi5 sub-modules of Evee. This enables compilation for only these specific sub-modules.
The maven-source-plugin and the maven-jar-plugin are used in the owlapi4 sub-modules to avoid duplication of code in the corresponding owlapi5 sub-modules.
The maven-source-plugin creates (up to) 2 jar files that contain all main source files and test source files. This is done via the goals jar and test-jar. These jar files are located in the directory target of the sub-module and have the classifiers sources and test-sources added to their names.
The maven-jar-plugin creates (up to) 2 jar files that contain all main resource files and test resource files. This is done via the goal jar and specifying the directory where the corresponding resources can be found. The generated jar files are located in the directory target of the sub-module and have the classifiers main-resources and test-resources added to their names.
The maven-dependency-plugin and the build-helper-maven-plugin are used in the owlapi5 sub-modules to avoid duplication of code from the corresponding owlapi4 sub-modules.
The maven-dependency-plugin is used to unpack the main sources, test sources, main resources and test resources into the target directory of the project. From there, the code is compiled and packaged into a jar with the dependency to owlapi5.
Note that the unpacking into the target directory requires specifying to maven where the new source files can be found. This is done via the tags sourceDirectory and testSourceDirectory, which are added to the build block in the corresponding pom.xml.
The build-helper-maven-plugin is used to specify the new resource directories (which are located inside the target directory) after unpacking the jar files. This is done via the goals add-resource and add-test-resource (note that it might also be possible to specify these new locations without the need for an additional plugin by just using the tags resources and testResources in the build block of the corresponding pom.xml).