This is generally a tad tricky. 1. Because of class unloading it may not be possible to use the Hack-type solution of stashing the data in a Class level static field. Though that solution will work as long as the field uses a collection type that allows for GC when the MavenProject that it is caching a value for has been collected by GC (think of the users of Maven Embedder who's Maven process may be long lived and reused multiple times)
2. Easiest way may just be to serialize the value into a string form and set a project property with a non-maven resolvable name to the string value. For example I do not think it is possible to have a Maven property start with the null character. You code will need to be defensive, and if the property (or cache value if you go route 1) is missing it will have to calculate the value from scratch On 24 July 2013 12:57, Francesco Mari <mari.france...@gmail.com> wrote: > Hi, > > I wrote some MOJOs which use common data. This data depends on the > structure of the project and can't be changed at runtime. > > I would like to compute this information at the beginiing of the build > process, and re-use it in each related goal. Ideally, the first goal should > compute the data, and the following ones will just use it. > > Which is the best option? Are there any plugins already implementing such a > strategy, so I can take a look at their source code? >