Apr 29, 2022 2:39:51 PM seb leridon avatar

Release a Lutece project

Release a Lutece component

Prerequisite

Before generating a new stable version of the component, the following should be checked :

  • The current version must be a SNAPSHOT one (e.g., 1.0.0-SNAPSHOT)
  • If the project is under Git, the develop and master branches must not be in conflict if one applies a merge (see GIT branching rules)
  • The component POM must be complete. In particular, it will be necessary to ensure that the following elements are present :
    • The declaration of the parent POM lutece-global-pom in its latest version
    • The metadata of the component (version, name, groupId, artifactId...)
    • The declarations of the Maven repositories of the Lutece project :
      • repository luteceRepository: contains stable versions of Lutece components
      • repository luteceSnapshot: contains snapshot versions
    • Declaration in the form of dependencies of the components necessary for the project
    • The link to the project source directory (SCM tags)
    • The link to the associated Jira project (JIRA tags)
  • The component version must have been updated in the configuration file : webapp/WEB-INF/plugins/myplugin.xml (see Lutece plugins part The plugin configuration file)
  • The sources of the component must only contain files specific to the component (see Lutece plugins). Take care, for example, not to have git configuration files, configuration code reports or dumps of an existing database.
  • The code must be correctly formatted (see Using Maven part Format the code)
  • The Lutece license must be up to date (see Using Maven part Put the Lutece license in the source code)
  • The component must be documented :
    • Check that xdoc documentation has been created in src/site/ (see Documentation conventions)
    • Check that a README.md file has been created (use of the Maven plugin xdoc2md)
  • If the project is followed up in Jira, there must be no more tickets in progress
  • The elements of the sonar report in https://dev.lutece.paris.fr/sonar/dashboard must have been taken into account.

Operating mode

To release version 2.0.0 of a component to version 1.2.5-SNAPSHOT, the following steps are necessary :

  • Make a commit Update plugin version to 2.0.0 for myplugin on the branch develop with the modifications :
    • In the pom.xml :
      • Changed component version from 1.2.5-SNAPSHOT to 2.0.0
      • Modification of the tag at the level of the scm tag :
        <scm>
            ...
        - <tag>HEAD</tag>
        + <tag>plugin-myplugin-2.0.0</tag>
        </scm>
    • Changed the component version from 1.2.5-SNAPSHOT to 2.0.0 in the configuration file : webapp/WEB-INF/plugins/myplugin.xml
  • Merge the develop branch on the master branch
  • Create a tag plugin-myplugin-2.0.0
  • Make a commit Update plugin version to 2.0.1-SNAPSHOT for myplugin on the branch develop with the modifications :
    • In the pom.xml :
      • Changed component version from 2.0.0 to 2.0.1-SNAPSHOT
      • Modification of the tag at the level of the scm tag :
        <scm>
            ...
        - <tag>plugin-myplugin-2.0.0</tag>
        + <tag>HEAD</tag>
        </scm>
    • Modification of the component version from 2.0.0 to 2.0.1-SNAPSHOT in the configuration file : webapp/WEB-INF/plugins/myplugin.xml