User Tools

Site Tools


user-guide:export-as-lib

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user-guide:export-as-lib [2025/04/02 16:29] – [Compiled classes] gaetanuser-guide:export-as-lib [2025/04/03 12:09] (current) gaetan
Line 1: Line 1:
-====== Project as Library ======+====== Project as a Module Library ======
  
 Project can be exported as a library usable from other projects. The exported library makes all types (classes, modules, ...) and resources (images, shaders, ...) available for import. Project can be exported as a library usable from other projects. The exported library makes all types (classes, modules, ...) and resources (images, shaders, ...) available for import.
Line 23: Line 23:
 ==== Package name ==== ==== Package name ====
  
 +By default, .rgg types are compiled without a package. It makes them all visible from the same pool. However, for ensuring a uniqueness when importing module library, a package name is required during the export. GroIMP will use the given package name as default package during the compilation. 
 +
 +Thus, if the project contains type with named package, they will not be affected by the package name provided.
 +
 +The package name must follow java's specification on package name.
 ==== Reference wrapper ==== ==== Reference wrapper ====
  
 +GroIMP implicitly wrap all references call in the project to be exported as module library to make them use the resources form the library. 
 +
 +Indeed, if a project contains a resource with the name "shaderleaf". When exported, the module that use ''setShader(shader("shaderleaf"))'', needs to point as the resource from the module lib. And not a possible "shaderleaf" in a newly opened project. 
 +
 +The wrappers force the references to point at ''plg:pkg.Plugin:"shaderleaf"''
user-guide/export-as-lib.1743604140.txt.gz · Last modified: 2025/04/02 16:29 by gaetan